- Joined
- Feb 28, 2014
- Messages
- 117
- Reaction score
- 11
can anyone share a hint on how to fix assasin invible fix on ep9source bubu, plss
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!Mind sharing ?i have
Bro can you share your skill.ssf / skillstrtable too ? Let me look at itcan anyone share a hint on how to fix assasin invible fix on ep9source bubu, plss
Mind sharingi have
When i got home bro, tnxMind sharing ?
Bro can you share your skill.ssf / skillstrtable too ? Let me look at it
Mind sharing ?
Bro can you share your skill.ssf / skillstrtable too ? Let me look at it
Have you fixed the invi ?Mind sharing
When i got home bro, tnx
I did not fix it bro ,Have you fixed the invi ?
GLChar.cpp
BOOL GLChar::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, DWORD &dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID )
for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec )
{
switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC )
{
case EMSPECA_REFDAMAGE:
case EMSPECA_NONBLOW:
case EMSPECA_PIERCE:
case EMSPECA_INVISIBLE: //add this
case EMSPECA_RECVISIBLE:: //add this
case EMSPECA_TARRANGE:
case EMSPECA_MOVEVELO:
case EMSPECA_ATTACKVELO:
case EMSPECA_SKILLDELAY:
case EMSPECA_PSY_DAMAGE_REDUCE:
case EMSPECA_MAGIC_DAMAGE_REDUCE:
case EMSPECA_PSY_DAMAGE_REFLECTION:
case EMSPECA_MAGIC_DAMAGE_REFLECTION:
case EMSPECA_DEFENSE_SKILL_ACTIVE:
case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */
case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */
case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */
case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */
case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */
case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */
case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */
case EMSPECA_TALK_TO_NPC: /*npc talk buff, Juver, 2017/10/03 */
case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */
case EMSPECA_SPECIAL_ITEM_DROP:
case EMSPECA_ITEMDROP_RATE:
case EMSPECA_MONEYDROP_RATE:
case EMSPECA_GETEXP_RATE:
bHOLD = TRUE;
sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC;
sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1;
sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2;
sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG;
sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID;
break;
};
}
GLCharacterSkill.cpp
BOOL GLCharacter::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, const DWORD dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID )
{
for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec )
{
switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC )
{
case EMSPECA_REFDAMAGE:
case EMSPECA_NONBLOW:
case EMSPECA_PIERCE:
case EMSPECA_INVISIBLE: //add this
case EMSPECA_RECVISIBLE: //add this
case EMSPECA_TARRANGE:
case EMSPECA_MOVEVELO:
case EMSPECA_ATTACKVELO:
case EMSPECA_SKILLDELAY:
case EMSPECA_PSY_DAMAGE_REDUCE:
case EMSPECA_MAGIC_DAMAGE_REDUCE:
case EMSPECA_PSY_DAMAGE_REFLECTION:
case EMSPECA_MAGIC_DAMAGE_REFLECTION:
case EMSPECA_DEFENSE_SKILL_ACTIVE:
case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */
case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */
case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */
case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */
case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */
case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */
case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */
case EMSPECA_TALK_TO_NPC: /*npc talk buff, Juver, 2017/10/03 */
case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */
case EMSPECA_SPECIAL_ITEM_DROP:
case EMSPECA_ITEMDROP_RATE:
case EMSPECA_MONEYDROP_RATE:
case EMSPECA_GETEXP_RATE:
bHOLD = TRUE;
sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC;
sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1;
sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2;
sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG;
sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID;
break;
};
}
}
GLCharClient.cpp
BOOL GLCharClient::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, const DWORD dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID, float fAge )
for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec )
{
switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC )
{
case EMSPECA_REFDAMAGE:
case EMSPECA_NONBLOW:
case EMSPECA_PIERCE:
case EMSPECA_INVISIBLE: //add this
case EMSPECA_RECVISIBLE: //add this
case EMSPECA_TARRANGE:
case EMSPECA_MOVEVELO:
case EMSPECA_ATTACKVELO:
case EMSPECA_SKILLDELAY:
case EMSPECA_PSY_DAMAGE_REDUCE:
case EMSPECA_MAGIC_DAMAGE_REDUCE:
case EMSPECA_PSY_DAMAGE_REFLECTION:
case EMSPECA_MAGIC_DAMAGE_REFLECTION:
case EMSPECA_DEFENSE_SKILL_ACTIVE:
case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */
case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */
case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */
case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */
case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */
case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */
case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */
case EMSPECA_TALK_TO_NPC: /*npc talk buff, Juver, 2017/10/03 */
case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */
case EMSPECA_SPECIAL_ITEM_DROP:
case EMSPECA_ITEMDROP_RATE:
case EMSPECA_MONEYDROP_RATE:
case EMSPECA_GETEXP_RATE:
bHOLD = TRUE;
sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC;
sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1;
sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2;
sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG;
sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID;
break;
};
}
GLCrowClient.cpp
BOOL GLCrowClient::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, const DWORD dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID, float fAge )
for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec )
{
switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC )
{
case EMSPECA_REFDAMAGE:
case EMSPECA_NONBLOW:
case EMSPECA_PIERCE:
case EMSPECA_INVISIBLE: //add this
case EMSPECA_RECVISIBLE: //add this
case EMSPECA_TARRANGE:
case EMSPECA_MOVEVELO:
case EMSPECA_CRUSHING_BLOW:
case EMSPECA_PSY_DAMAGE_REDUCE:
case EMSPECA_MAGIC_DAMAGE_REDUCE:
case EMSPECA_PSY_DAMAGE_REFLECTION:
case EMSPECA_MAGIC_DAMAGE_REFLECTION:
case EMSPECA_DEFENSE_SKILL_ACTIVE:
case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */
case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */
case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */
case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */
case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */
case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */
case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */
case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */
bHOLD = TRUE;
sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC;
sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1;
sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2;
sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG;
sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID;
break;
};
}
GLCrowSkill.cpp
BOOL GLCrow::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, DWORD &dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID )
for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec )
{
switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC )
{
case EMSPECA_REFDAMAGE:
case EMSPECA_NONBLOW:
case EMSPECA_PIERCE:
case EMSPECA_INVISIBLE: //add this
case EMSPECA_RECVISIBLE://add this
case EMSPECA_TARRANGE:
case EMSPECA_MOVEVELO:
case EMSPECA_CRUSHING_BLOW:
case EMSPECA_PSY_DAMAGE_REDUCE:
case EMSPECA_MAGIC_DAMAGE_REDUCE:
case EMSPECA_PSY_DAMAGE_REFLECTION:
case EMSPECA_MAGIC_DAMAGE_REFLECTION:
case EMSPECA_DEFENSE_SKILL_ACTIVE:
case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */
case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */
case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */
case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */
case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */
case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */
case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */
case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */
bHOLD = TRUE;
sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC;
sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1;
sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2;
sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG;
sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID;
break;
};
}
Imma try it later , you're a hero sir !C++:BOOL GLChar::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, DWORD &dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID ) for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec ) { switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC ) { case EMSPECA_REFDAMAGE: case EMSPECA_NONBLOW: case EMSPECA_PIERCE: case EMSPECA_INVISIBLE: //add this case EMSPECA_RECVISIBLE:: //add this case EMSPECA_TARRANGE: case EMSPECA_MOVEVELO: case EMSPECA_ATTACKVELO: case EMSPECA_SKILLDELAY: case EMSPECA_PSY_DAMAGE_REDUCE: case EMSPECA_MAGIC_DAMAGE_REDUCE: case EMSPECA_PSY_DAMAGE_REFLECTION: case EMSPECA_MAGIC_DAMAGE_REFLECTION: case EMSPECA_DEFENSE_SKILL_ACTIVE: case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */ case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */ case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */ case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */ case EMSPECA_TALK_TO_NPC: /*npc talk buff, Juver, 2017/10/03 */ case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */ case EMSPECA_SPECIAL_ITEM_DROP: case EMSPECA_ITEMDROP_RATE: case EMSPECA_MONEYDROP_RATE: case EMSPECA_GETEXP_RATE: bHOLD = TRUE; sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC; sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1; sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2; sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG; sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID; break; }; }
C++:BOOL GLCharacter::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, const DWORD dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID ) { for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec ) { switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC ) { case EMSPECA_REFDAMAGE: case EMSPECA_NONBLOW: case EMSPECA_PIERCE: case EMSPECA_INVISIBLE: //add this case EMSPECA_RECVISIBLE: //add this case EMSPECA_TARRANGE: case EMSPECA_MOVEVELO: case EMSPECA_ATTACKVELO: case EMSPECA_SKILLDELAY: case EMSPECA_PSY_DAMAGE_REDUCE: case EMSPECA_MAGIC_DAMAGE_REDUCE: case EMSPECA_PSY_DAMAGE_REFLECTION: case EMSPECA_MAGIC_DAMAGE_REFLECTION: case EMSPECA_DEFENSE_SKILL_ACTIVE: case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */ case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */ case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */ case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */ case EMSPECA_TALK_TO_NPC: /*npc talk buff, Juver, 2017/10/03 */ case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */ case EMSPECA_SPECIAL_ITEM_DROP: case EMSPECA_ITEMDROP_RATE: case EMSPECA_MONEYDROP_RATE: case EMSPECA_GETEXP_RATE: bHOLD = TRUE; sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC; sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1; sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2; sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG; sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID; break; }; } }
C++:BOOL GLCharClient::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, const DWORD dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID, float fAge ) for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec ) { switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC ) { case EMSPECA_REFDAMAGE: case EMSPECA_NONBLOW: case EMSPECA_PIERCE: case EMSPECA_INVISIBLE: //add this case EMSPECA_RECVISIBLE: //add this case EMSPECA_TARRANGE: case EMSPECA_MOVEVELO: case EMSPECA_ATTACKVELO: case EMSPECA_SKILLDELAY: case EMSPECA_PSY_DAMAGE_REDUCE: case EMSPECA_MAGIC_DAMAGE_REDUCE: case EMSPECA_PSY_DAMAGE_REFLECTION: case EMSPECA_MAGIC_DAMAGE_REFLECTION: case EMSPECA_DEFENSE_SKILL_ACTIVE: case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */ case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */ case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */ case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */ case EMSPECA_TALK_TO_NPC: /*npc talk buff, Juver, 2017/10/03 */ case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */ case EMSPECA_SPECIAL_ITEM_DROP: case EMSPECA_ITEMDROP_RATE: case EMSPECA_MONEYDROP_RATE: case EMSPECA_GETEXP_RATE: bHOLD = TRUE; sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC; sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1; sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2; sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG; sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID; break; }; }
C++:BOOL GLCrowClient::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, const DWORD dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID, float fAge ) for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec ) { switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC ) { case EMSPECA_REFDAMAGE: case EMSPECA_NONBLOW: case EMSPECA_PIERCE: case EMSPECA_INVISIBLE: //add this case EMSPECA_RECVISIBLE: //add this case EMSPECA_TARRANGE: case EMSPECA_MOVEVELO: case EMSPECA_CRUSHING_BLOW: case EMSPECA_PSY_DAMAGE_REDUCE: case EMSPECA_MAGIC_DAMAGE_REDUCE: case EMSPECA_PSY_DAMAGE_REFLECTION: case EMSPECA_MAGIC_DAMAGE_REFLECTION: case EMSPECA_DEFENSE_SKILL_ACTIVE: case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */ case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */ case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */ case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */ case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */ bHOLD = TRUE; sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC; sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1; sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2; sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG; sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID; break; }; }
C++:BOOL GLCrow::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, DWORD &dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID ) for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec ) { switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC ) { case EMSPECA_REFDAMAGE: case EMSPECA_NONBLOW: case EMSPECA_PIERCE: case EMSPECA_INVISIBLE: //add this case EMSPECA_RECVISIBLE://add this case EMSPECA_TARRANGE: case EMSPECA_MOVEVELO: case EMSPECA_CRUSHING_BLOW: case EMSPECA_PSY_DAMAGE_REDUCE: case EMSPECA_MAGIC_DAMAGE_REDUCE: case EMSPECA_PSY_DAMAGE_REFLECTION: case EMSPECA_MAGIC_DAMAGE_REFLECTION: case EMSPECA_DEFENSE_SKILL_ACTIVE: case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */ case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */ case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */ case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */ case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */ bHOLD = TRUE; sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC; sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1; sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2; sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG; sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID; break; }; }
It works sir ! Thankyou verymuch , btw you got the blinks or dash ? hhhhhhhC++:BOOL GLChar::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, DWORD &dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID ) for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec ) { switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC ) { case EMSPECA_REFDAMAGE: case EMSPECA_NONBLOW: case EMSPECA_PIERCE: case EMSPECA_INVISIBLE: //add this case EMSPECA_RECVISIBLE:: //add this case EMSPECA_TARRANGE: case EMSPECA_MOVEVELO: case EMSPECA_ATTACKVELO: case EMSPECA_SKILLDELAY: case EMSPECA_PSY_DAMAGE_REDUCE: case EMSPECA_MAGIC_DAMAGE_REDUCE: case EMSPECA_PSY_DAMAGE_REFLECTION: case EMSPECA_MAGIC_DAMAGE_REFLECTION: case EMSPECA_DEFENSE_SKILL_ACTIVE: case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */ case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */ case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */ case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */ case EMSPECA_TALK_TO_NPC: /*npc talk buff, Juver, 2017/10/03 */ case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */ case EMSPECA_SPECIAL_ITEM_DROP: case EMSPECA_ITEMDROP_RATE: case EMSPECA_MONEYDROP_RATE: case EMSPECA_GETEXP_RATE: bHOLD = TRUE; sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC; sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1; sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2; sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG; sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID; break; }; }
C++:BOOL GLCharacter::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, const DWORD dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID ) { for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec ) { switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC ) { case EMSPECA_REFDAMAGE: case EMSPECA_NONBLOW: case EMSPECA_PIERCE: case EMSPECA_INVISIBLE: //add this case EMSPECA_RECVISIBLE: //add this case EMSPECA_TARRANGE: case EMSPECA_MOVEVELO: case EMSPECA_ATTACKVELO: case EMSPECA_SKILLDELAY: case EMSPECA_PSY_DAMAGE_REDUCE: case EMSPECA_MAGIC_DAMAGE_REDUCE: case EMSPECA_PSY_DAMAGE_REFLECTION: case EMSPECA_MAGIC_DAMAGE_REFLECTION: case EMSPECA_DEFENSE_SKILL_ACTIVE: case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */ case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */ case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */ case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */ case EMSPECA_TALK_TO_NPC: /*npc talk buff, Juver, 2017/10/03 */ case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */ case EMSPECA_SPECIAL_ITEM_DROP: case EMSPECA_ITEMDROP_RATE: case EMSPECA_MONEYDROP_RATE: case EMSPECA_GETEXP_RATE: bHOLD = TRUE; sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC; sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1; sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2; sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG; sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID; break; }; } }
C++:BOOL GLCharClient::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, const DWORD dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID, float fAge ) for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec ) { switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC ) { case EMSPECA_REFDAMAGE: case EMSPECA_NONBLOW: case EMSPECA_PIERCE: case EMSPECA_INVISIBLE: //add this case EMSPECA_RECVISIBLE: //add this case EMSPECA_TARRANGE: case EMSPECA_MOVEVELO: case EMSPECA_ATTACKVELO: case EMSPECA_SKILLDELAY: case EMSPECA_PSY_DAMAGE_REDUCE: case EMSPECA_MAGIC_DAMAGE_REDUCE: case EMSPECA_PSY_DAMAGE_REFLECTION: case EMSPECA_MAGIC_DAMAGE_REFLECTION: case EMSPECA_DEFENSE_SKILL_ACTIVE: case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */ case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */ case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */ case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */ case EMSPECA_TALK_TO_NPC: /*npc talk buff, Juver, 2017/10/03 */ case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */ case EMSPECA_SPECIAL_ITEM_DROP: case EMSPECA_ITEMDROP_RATE: case EMSPECA_MONEYDROP_RATE: case EMSPECA_GETEXP_RATE: bHOLD = TRUE; sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC; sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1; sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2; sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG; sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID; break; }; }
C++:BOOL GLCrowClient::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, const DWORD dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID, float fAge ) for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec ) { switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC ) { case EMSPECA_REFDAMAGE: case EMSPECA_NONBLOW: case EMSPECA_PIERCE: case EMSPECA_INVISIBLE: //add this case EMSPECA_RECVISIBLE: //add this case EMSPECA_TARRANGE: case EMSPECA_MOVEVELO: case EMSPECA_CRUSHING_BLOW: case EMSPECA_PSY_DAMAGE_REDUCE: case EMSPECA_MAGIC_DAMAGE_REDUCE: case EMSPECA_PSY_DAMAGE_REFLECTION: case EMSPECA_MAGIC_DAMAGE_REFLECTION: case EMSPECA_DEFENSE_SKILL_ACTIVE: case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */ case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */ case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */ case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */ case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */ bHOLD = TRUE; sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC; sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1; sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2; sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG; sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID; break; }; }
C++:BOOL GLCrow::RECEIVE_SKILLFACT ( const SNATIVEID skill_id, const WORD wlevel, DWORD &dwSELECT, WORD _wCasterCrow, DWORD _dwCasterID ) for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec ) { switch ( pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC ) { case EMSPECA_REFDAMAGE: case EMSPECA_NONBLOW: case EMSPECA_PIERCE: case EMSPECA_INVISIBLE: //add this case EMSPECA_RECVISIBLE://add this case EMSPECA_TARRANGE: case EMSPECA_MOVEVELO: case EMSPECA_CRUSHING_BLOW: case EMSPECA_PSY_DAMAGE_REDUCE: case EMSPECA_MAGIC_DAMAGE_REDUCE: case EMSPECA_PSY_DAMAGE_REFLECTION: case EMSPECA_MAGIC_DAMAGE_REFLECTION: case EMSPECA_DEFENSE_SKILL_ACTIVE: case EMSPECA_PROHIBIT_POTION: /*prohibit potion skill logic, Juver, 2017/06/06 */ case EMSPECA_PROHIBIT_SKILL: /*prohibit skill logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_ATTACK_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_CHANGE_APPLY_RANGE: /*skill range spec logic, Juver, 2017/06/06 */ case EMSPECA_STUN: /*skill stun logic, Juver, 2017/06/06 */ case EMSPECA_CONTINUOUS_DAMAGE: /*continuous damage skill logic, Juver, 2017/06/10 */ case EMSPECA_CURSE: /*curse skill logic, Juver, 2017/06/10 */ case EMSPECA_IGNORE_DAMAGE: /*ignore damage, Juver, 2017/12/12 */ bHOLD = TRUE; sSKILLEF.sSpecs[nSpec].emSPEC = pSkill->m_sAPPLY.sSpecs[nSpec].emSPEC; sSKILLEF.sSpecs[nSpec].fSPECVAR1 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR1; sSKILLEF.sSpecs[nSpec].fSPECVAR2 = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].fVAR2; sSKILLEF.sSpecs[nSpec].dwSPECFLAG = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwFLAG; sSKILLEF.sSpecs[nSpec].dwNativeID = pSkill->m_sAPPLY.sSpecs[nSpec].sSPEC[wlevel].dwNativeID; break; }; }