#if defined ON_GROUND
if(!(get_entvar(pAttacker,var_flags) & FL_ONGROUND))
add_ex(szPrintMessage,g_szOnGround);
#endif
~get_entvar(pAttacker,var_flags) & FL_ONGROUND
#include <amxmodx>
#include <reapi>
new HookChain:fwd_Think;
public plugin_init(){
RegisterHookChain( RG_CBasePlayer_Jump, "@RG_CBasePlayer_Jump");
DisableHookChain(fwd_Think = RegisterHookChain( RG_CBasePlayer_PreThink, "@RG_CBasePlayer_PreThink" ));
RegisterHookChain( RG_CBasePlayer_ResetMaxSpeed, "@RG_CBasePlayer_ResetMaxSpeed");
}
@RG_CBasePlayer_ResetMaxSpeed(id)
DisableHookChain(fwd_Think);
@RG_CBasePlayer_Jump(id){
EnableHookChain(fwd_Think);
server_print("JUMP");
}
@RG_CBasePlayer_PreThink(id){
server_print("%s", get_entvar(id,var_flags) & FL_ONGROUND ? "FL_ONGROUND" : "!FL_ONGROUND");
}
public RG_CBasePlayerKilled_Post(const pVictim,const pAttacker) {
if(!is_user_connected(pVictim) || !is_user_connected(pAttacker) || pVictim == pAttacker)
return HC_CONTINUE;
if(~get_entvar(pAttacker,var_flags) & FL_ONGROUND)
client_print(pAttacker, print_chat, "В полёте");
return HC_CONTINUE;
}
Возможно. Там ведь идёт проверка битсуммыи разве не так правильно?
~get_entvar(pAttacker,var_flags) & FL_ONGROUND
if(!(pev(iKiller, pev_flags) & FL_ONGROUND))
ничего подобного не происходитПосле прыжка стоя ровно на земле когда прицел в своём стандартном положении ненаходясь в воздухе будет писать что убийство произошло в прыжке, хотя прыжок окончился секунду назад, и убийство было совершено в неподвижном состоянии, так и должно быть?
Да,в любом случаи это будет в воздухе.https://forums.alliedmods.net/showpost.php?p=709342&postcount=4 Правда, игрок еще на лестнице может быть.
#define FL_LADDER
( как раз и пожелание ) - вроде как здесь была тема