Stun for All
Das hört sich nun komisch an, deshalb erklär ich es euch kurz:
Mit Stun for All meine ich Stun für Boss Monster & Mid Boss Monster.
All aller erstes, die liste was wir brauchen:
- Flyff Source (WorldServer)
- Brain
- Lese verstehen
So, dann fangen wir mal an :3
Als erstes öffnet die Source, ihr braucht eigentlich nur den WorldServer und dort wenn ihr das habt seht ihr wie immer:
- Source Files
- Header Files
- Resource Files
- Neuz Common Files
- Network Files
- AI
dort brauchen wir:
- Neuz Common Files
und darin öffnet ihr:
- Common Files
und wieder darin:
- Object
Gesamt: WorldServer --> Neuz Common Files --> Common Files --> Object
So, fast geschafft, nun öffnen wir die datei "MoverParam.cpp" mit einem DoppelKlick, dann sieht das so aus:
PHP Code:
#include "stdafx.h"
#include "defineSound.h"
#include "defineText.h"
#include "defineQuest.h"
#include "resdata.h"
#include "defineObj.h"
#ifdef __WORLDSERVER
#include "DialogMsg.h"
#include "user.h"
#include "dpcoreclient.h"
#include "spevent.h"
#if __VER >= 12 // __LORD
#ifdef __WORLDSERVER
#include "slord.h"
#endif // __WORLDSERVER
#ifdef __CLIENT
#include "clord.h"
#endif // __CLIENT
#endif // __LORD
#if __VER >= 9 // __CSC_VER9_1
#ifdef __CLIENT
#include "wndfield.h"
#endif // __CLIENT
#endif // __CSC_VER9_1
Der teil ist aber nicht wichtig für uns, sondern nur der:
PHP Code:
BOOL CMover::SetStun( BOOL bApply, DWORD tmMaxTime )
PHP Code:
BOOL CMover::SetStun( BOOL bApply, DWORD tmMaxTime )
{
if( bApply )
{
MoverProp *pMoverProp = GetProp();
if( pMoverProp->dwClass == RANK_SUPER || pMoverProp->dwClass == RANK_MIDBOSS )
return FALSE;
if( GetAdjParam( DST_IMMUNITY ) & CHS_STUN )
return FALSE;
SetDestParam( DST_CHRSTATE, CHS_STUN, NULL_CHGPARAM, FALSE );
SendActMsg( OBJMSG_STUN );
m_wStunCnt = (short)( (tmMaxTime / 1000.0f) * PROCESS_COUNT );
}
else
{
if( GetAdjParam( DST_CHRSTATE ) & CHS_STUN ) // À̰Š°Ë»ç¾ÈÇÏ¸é ¸Å¹ø Ŭ¶ó·Î ResetDestParamÀ» ³¯¸°´Ù.
ResetDestParam( DST_CHRSTATE, CHS_STUN, FALSE); // ½ºÅÏ »óÅÂ ÇØÁ¦.
m_wStunCnt = 0;
m_dwFlag &= (~MVRF_NOACTION); // ¾×¼Ç ±ÝÁö »óÅ·ΠÀüȯ.
}
#ifdef __WORLDSERVER
g_UserMng.AddSetStun( this, tmMaxTime );
#endif // Worldserver
return TRUE;
}
PHP Code:
if( pMoverProp->dwClass == RANK_SUPER || pMoverProp->dwClass == RANK_MIDBOSS )
return FALSE;
PHP Code:
#define RANK_LOW 1 //
#define RANK_NORMAL 2 //
#define RANK_CAPTAIN 3 //
#define RANK_BOSS 4 //
#define RANK_MIDBOSS 5//
#define RANK_MATERIAL 6 //
#define RANK_SUPER 7 //
#define RANK_GUARD 8 //
So das wars eig uch schon, so bekomt ihr Stun für alle Monster oder garkeine.
Wenn ihr z.b. noch da ein Scroll adden wollt:
PHP Code:
if( g_pPlayer->HasBuff(BUFF_ITEM, SCR_SCR_SCROLL_OF_STUN)
{
}
else
if( pMoverProp->dwClass == RANK_SUPER || pMoverProp->dwClass == RANK_MIDBOSS )
return FALSE;
So ich hoff ich konnte euch wieder mal helfen, werde später mehr bringen
Mfg.






