When you throw a grenade, it's just a regular grenade, correct?
When you throw a smoke grenade, again it's just a regular smoke grenade, correct? Well, I needed to look into certain functions for my server and I found this:
ZWeaponMgr::AddKit
Alright, just looks like some code. Let's look into ZWeaponMgr::AddGrenade:Code:004A5670 /$ 6A FF PUSH -1 004A5672 |. 68 ABB65A00 PUSH GunzOld.005AB6AB ; SE handler installation 004A5677 |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0] 004A567D |. 50 PUSH EAX 004A567E |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP 004A5685 |. 51 PUSH ECX 004A5686 |. 53 PUSH EBX 004A5687 |. 56 PUSH ESI 004A5688 |. 68 88000000 PUSH 88 004A568D |. 8BD9 MOV EBX,ECX 004A568F |. E8 41B10F00 CALL GunzOld.005A07D5 004A5694 |. 83C4 04 ADD ESP,4 004A5697 |. 894424 08 MOV DWORD PTR SS:[ESP+8],EAX 004A569B |. 85C0 TEST EAX,EAX 004A569D |. C74424 14 0000>MOV DWORD PTR SS:[ESP+14],0 004A56A5 |. 74 0B JE SHORT GunzOld.004A56B2 004A56A7 |. 8BC8 MOV ECX,EAX 004A56A9 |. E8 A2D5FFFF CALL GunzOld.004A2C50 004A56AE |. 8BF0 MOV ESI,EAX 004A56B0 |. EB 02 JMP SHORT GunzOld.004A56B4 004A56B2 |> 33F6 XOR ESI,ESI 004A56B4 |> 8B4424 2C MOV EAX,DWORD PTR SS:[ESP+2C] 004A56B8 |. 50 PUSH EAX 004A56B9 |. C74424 18 FFFF>MOV DWORD PTR SS:[ESP+18],-1 004A56C1 |. E8 7A61FFFF CALL GunzOld.0049B840 004A56C6 |. 8BC8 MOV ECX,EAX 004A56C8 |. E8 B3AE0100 CALL GunzOld.004C0580 004A56CD |. 85C0 TEST EAX,EAX 004A56CF |. 74 52 JE SHORT GunzOld.004A5723 004A56D1 |. 8B4C24 24 MOV ECX,DWORD PTR SS:[ESP+24] 004A56D5 |. 8B5424 20 MOV EDX,DWORD PTR SS:[ESP+20] 004A56D9 |. 57 PUSH EDI 004A56DA |. 51 PUSH ECX ; /Arg4 004A56DB |. 8B4C24 24 MOV ECX,DWORD PTR SS:[ESP+24] ; | 004A56DF |. 52 PUSH EDX ; |Arg3 004A56E0 |. 51 PUSH ECX ; |Arg2 004A56E1 |. 50 PUSH EAX ; |Arg1 004A56E2 |. 8BCE MOV ECX,ESI ; | 004A56E4 |. E8 D7C9FFFF CALL GunzOld.004A20C0 ; \GunzOld.004A20C0 004A56E9 |. 8B5424 34 MOV EDX,DWORD PTR SS:[ESP+34] 004A56ED |. 8B4424 2C MOV EAX,DWORD PTR SS:[ESP+2C] 004A56F1 |. 8956 68 MOV DWORD PTR DS:[ESI+68],EDX 004A56F4 |. 8946 70 MOV DWORD PTR DS:[ESI+70],EAX 004A56F7 |. 897424 30 MOV DWORD PTR SS:[ESP+30],ESI 004A56FB |. 8B73 04 MOV ESI,DWORD PTR DS:[EBX+4] 004A56FE |. 8B56 04 MOV EDX,DWORD PTR DS:[ESI+4] 004A5701 |. 8D4C24 30 LEA ECX,DWORD PTR SS:[ESP+30] 004A5705 |. 51 PUSH ECX 004A5706 |. 52 PUSH EDX 004A5707 |. 56 PUSH ESI 004A5708 |. 8BCB MOV ECX,EBX 004A570A |. E8 F1320800 CALL GunzOld.00528A00 004A570F |. 6A 01 PUSH 1 ; /Arg1 = 00000001 004A5711 |. 8BCB MOV ECX,EBX ; | 004A5713 |. 8BF8 MOV EDI,EAX ; | 004A5715 |. E8 F6FDFFFF CALL GunzOld.004A5510 ; \GunzOld.004A5510 004A571A |. 897E 04 MOV DWORD PTR DS:[ESI+4],EDI 004A571D |. 8B47 04 MOV EAX,DWORD PTR DS:[EDI+4] 004A5720 |. 8938 MOV DWORD PTR DS:[EAX],EDI 004A5722 |. 5F POP EDI 004A5723 |> 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C] 004A5727 |. 5E POP ESI 004A5728 |. 5B POP EBX 004A5729 |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 004A5730 |. 83C4 10 ADD ESP,10 004A5733 \. C2 1800 RETN 18
ZWeaponMgr::AddGrenade:
Tell me, what do you see? :DCode:004A55B0 /$ 6A FF PUSH -1 004A55B2 |. 68 ABB65A00 PUSH GunzOld.005AB6AB ; SE handler installation 004A55B7 |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0] 004A55BD |. 50 PUSH EAX 004A55BE |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP 004A55C5 |. 51 PUSH ECX 004A55C6 |. 53 PUSH EBX 004A55C7 |. 56 PUSH ESI 004A55C8 |. 6A 78 PUSH 78 004A55CA |. 8BD9 MOV EBX,ECX 004A55CC |. E8 04B20F00 CALL GunzOld.005A07D5 004A55D1 |. 8BF0 MOV ESI,EAX 004A55D3 |. 83C4 04 ADD ESP,4 004A55D6 |. 897424 08 MOV DWORD PTR SS:[ESP+8],ESI 004A55DA |. 85F6 TEST ESI,ESI 004A55DC |. C74424 14 0000>MOV DWORD PTR SS:[ESP+14],0 004A55E4 |. 74 0F JE SHORT GunzOld.004A55F5 004A55E6 |. 8BCE MOV ECX,ESI 004A55E8 |. E8 D3D5FFFF CALL GunzOld.004A2BC0 004A55ED |. C706 200C5C00 MOV DWORD PTR DS:[ESI],GunzOld.005C0C20 004A55F3 |. EB 02 JMP SHORT GunzOld.004A55F7 004A55F5 |> 33F6 XOR ESI,ESI 004A55F7 |> 68 800C5C00 PUSH GunzOld.005C0C80 ; ASCII "grenade01" 004A55FC |. C74424 18 FFFF>MOV DWORD PTR SS:[ESP+18],-1 004A5604 |. E8 3762FFFF CALL GunzOld.0049B840 004A5609 |. 8BC8 MOV ECX,EAX 004A560B |. E8 70AF0100 CALL GunzOld.004C0580 004A5610 |. 85C0 TEST EAX,EAX 004A5612 |. 74 44 JE SHORT GunzOld.004A5658 004A5614 |. 8B4C24 24 MOV ECX,DWORD PTR SS:[ESP+24] 004A5618 |. 8B5424 20 MOV EDX,DWORD PTR SS:[ESP+20] 004A561C |. 57 PUSH EDI 004A561D |. 51 PUSH ECX ; /Arg4 004A561E |. 8B4C24 24 MOV ECX,DWORD PTR SS:[ESP+24] ; | 004A5622 |. 52 PUSH EDX ; |Arg3 004A5623 |. 51 PUSH ECX ; |Arg2 004A5624 |. 50 PUSH EAX ; |Arg1 004A5625 |. 8BCE MOV ECX,ESI ; | 004A5627 |. E8 04CEFFFF CALL GunzOld.004A2430 ; \GunzOld.004A2430 004A562C |. 897424 28 MOV DWORD PTR SS:[ESP+28],ESI 004A5630 |. 8B73 04 MOV ESI,DWORD PTR DS:[EBX+4] 004A5633 |. 8B46 04 MOV EAX,DWORD PTR DS:[ESI+4] 004A5636 |. 8D5424 28 LEA EDX,DWORD PTR SS:[ESP+28] 004A563A |. 52 PUSH EDX 004A563B |. 50 PUSH EAX 004A563C |. 56 PUSH ESI 004A563D |. 8BCB MOV ECX,EBX 004A563F |. E8 BC330800 CALL GunzOld.00528A00 004A5644 |. 6A 01 PUSH 1 ; /Arg1 = 00000001 004A5646 |. 8BCB MOV ECX,EBX ; | 004A5648 |. 8BF8 MOV EDI,EAX ; | 004A564A |. E8 C1FEFFFF CALL GunzOld.004A5510 ; \GunzOld.004A5510 004A564F |. 897E 04 MOV DWORD PTR DS:[ESI+4],EDI 004A5652 |. 8B4F 04 MOV ECX,DWORD PTR DS:[EDI+4] 004A5655 |. 8939 MOV DWORD PTR DS:[ECX],EDI 004A5657 |. 5F POP EDI 004A5658 |> 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C] 004A565C |. 5E POP ESI 004A565D |. 5B POP EBX 004A565E |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 004A5665 |. 83C4 10 ADD ESP,10 004A5668 \. C2 0C00 RETN 0C


Reply With Quote


