Re: 3rd job - source code
mhm, why ExecuteSkill Egg ? oO
void __fastcall SwordDance - __fastcall ? u dont hook an thiscall function so u dont need to trick the compiler .
(*(void (__thiscall **)(void*, int*))(*(DWORD *)pTarget+0x50))(pTarget, Player); set a Hook there and get the Real Function -
I'm not 100% sure but - you should Check if Monster or Player Target dunno if the FindMonster Function Crash if u pass an Player ...
http://pastebin.com/R2zDB0sU
Re: 3rd job - source code
old engine ( 3rd job with sirix's client side dll ) -> Excute egg skill function -> 0x0047FC90 adr
^ that's why.cause sirix client side dll sends 3rd job skills with the egg skill execution header.
You can hook whatever you want. I would recommend to hook the packet process function... That way you can observe every packet and chose what to do with it. Also you have less hooks.. I think I had earlier something like ~30-50 hooks and with the hooked PacketHandler I reduced it to ~10.
Re: 3rd job - source code
Quote:
Originally Posted by
strik3r2k5
old engine ( 3rd job with sirix's client side dll ) -> Excute egg skill function -> 0x0047FC90 adr
^ that's why.cause sirix client side dll sends 3rd job skills with the egg skill execution header.
You can hook whatever you want. I would recommend to hook the packet process function... That way you can observe every packet and chose what to do with it. Also you have less hooks.. I think I had earlier something like ~30-50 hooks and with the hooked PacketHandler I reduced it to ~10.
mhm, if he Hook the ExecuteSkill Function, he dont need any other Hooks ?
sure if u working with the Packet Handle u are more dynamic but just if u need to use it in Future, too ?
Re: 3rd job - source code
Quote:
Originally Posted by
strik3r2k5
I would recommend to hook the packet process function...
I already hooked player process func but i use it just for display packets and some other things ;p
Quote:
Originally Posted by
Bloodx
mhm, why ExecuteSkill Egg ? oO
because sirix used egg skill func
Re: 3rd job - source code
@Bloodx SkillExecute will only be called by the Skillexecute header... So if you use sirix clientside dll, you won't be able to create new 3rd job skills.
As I said, using the packethandler is better in several ways.. Less hooks etc and if you know how to read packets, there shouldn't be a problem to get the arguments..