Code:
#include < amxmodx >
#include < orpheu >
#include < orpheu_stocks >
#include < hlsdk_const >
new OrpheuStruct:g_ppmove;
public plugin_init( )
{
OrpheuRegisterHook( OrpheuGetDLLFunction( "pfnPM_Move", "PM_Move" ), "PM_Move" );
OrpheuRegisterHook( OrpheuGetFunction( "PM_Jump" ), "PM_Jump" );
OrpheuRegisterHook( OrpheuGetFunction( "PM_Duck" ), "PM_Duck" );
}
public PM_Move( OrpheuStruct:ppmove, server )
{
g_ppmove = ppmove;
}
public PM_Jump( )
{
new iPlayer = OrpheuGetStructMember( g_ppmove, "player_index" ) + 1;
if( is_user_alive( iPlayer ) )
{
OrpheuSetStructMember( g_ppmove, "oldbuttons", OrpheuGetStructMember( g_ppmove, "oldbuttons" ) | IN_JUMP );
}
}
public PM_Duck( )
{
new iPlayer = OrpheuGetStructMember( g_ppmove, "player_index" ) + 1;
if( is_user_alive( iPlayer ) )
{
new OrpheuStruct:cmd = OrpheuStruct:OrpheuGetStructMember( g_ppmove, "cmd" );
OrpheuSetStructMember( cmd, "buttons", OrpheuGetStructMember( cmd, "buttons" ) & ~IN_DUCK );
}
}
Requires
Orpheu and the
PM Functions pack.
__________________