Veteran Member
|
02-26-2021
, 06:46
Re: Hook player land on ground!
|
#2
|
Here's the code, i hoped for more efficient way but oh well :S
PHP Code:
#include <amxmodx> #include <orpheu> #include <orpheu_advanced> #include <orpheu_memory> #include <orpheu_stocks>
#define set_flag(%1,%2) %1 |= (1<<(%2&31)) #define remove_flag(%1,%2) %1 &= ~(1<<(%2&31)) #define check_flag(%1,%2) (%1 & (1<<(%2&31)))
new OrpheuStruct:g_ppmove;
public plugin_init() { OrpheuRegisterHook( OrpheuGetDLLFunction( "pfnPM_Move", "PM_Move" ), "OnPM_Move" ); OrpheuRegisterHook( OrpheuGetFunction("PM_PlayerMove"), "OnPM_PlayerMove"); }
public OnPM_Move( OrpheuStruct:ppmove, server ) { g_ppmove = ppmove; }
public OnPM_PlayerMove() { static id, onground = 0; id = OrpheuGetStructMember(g_ppmove,"player_index") + 1; // player on ground. if(OrpheuGetStructMember(g_ppmove,"onground") != -1) { if(!check_flag(onground,id)) { set_flag(onground,id); client_print(id, print_center, "you're on ground!"); player_on_ground(id); } } else if(check_flag(onground,id)) { client_print(id, print_center, "you're not on ground!"); remove_flag(onground,id); } }
// player landed on the ground, do something. public player_on_ground(id) { // blah blah client_print(id, print_chat, "You've landed on the ground!"); }
TESTED and works
here're the signatures for the following functions...
PM_Move
Code:
{
"name" : "PM_Move",
"library" : "mod",
"arguments" :
[
{
"type" : "playermove_s *"
},
{
"type" : "qboolean"
}
],
"identifiers" :
[
{
"os" : "windows",
"mod" : "cstrike",
"value" : [0x8B,0x54,0x24,0x08,0x8B,0x44,0x24,0x04,0x33,0xC9,0xA3]
},
{
"os" : "linux",
"mod" : "cstrike",
"value" : "PM_Move"
}
]
}
PM_PlayerMove
Code:
{
"name" : "PM_PlayerMove",
"library" : "mod",
"arguments" :
[
{
"type" : "qboolean"
}
],
"identifiers" :
[
{
"os" : "windows",
"mod" : "cstrike",
"value" : [0x83,0xEC,0x10,0xA1,"*","*","*","*",0x8B,0x4C,0x24,0x14,0x53,0x56,0x57,0x33,0xFF,0x89,0x48,0x04]
},
{
"os" : "linux",
"mod" : "cstrike",
"value" : "PM_PlayerMove"
}
]
}
Edit: Works only for 1 player check out the signatures might need to be updated.
__________________
Last edited by Natsheh; 05-17-2021 at 09:31.
|
|