А если и с таймером, то точно не на pVar
PHP код:
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
new anti_bh_time[MAX_PLAYERS char];
if(PRESSED( KEY_JUMP ) && newkeys & KEY_SPRINT)
{
if(!IsPlayerInAnyVehicle(playerid) && anti_bh_time{playerid} == 0)
{
ApplyAnimation( playerid, "PED", "KO_skid_back", 4.1, 0, 0, 0, 0, 0 );
anti_bh_time{playerid} = 1;
SetTimerEx("AntiBH", 500, 0, "d", playerid);
}
return 1;
}
forward AntiBH(playerid);
public AntiBH(playerid)
{
ApplyAnimation( playerid, "PED", "getup_front", 4.1, 0, 0, 0, 0, 0 );
anti_bh_time{playerid} = 0;
return 1;
}
Но так вы всё равно не исправите баг с тем, когда люди будут использовать ваш фикс при падении с высоты и выживать
- - - Добавлено - - -
А с отловом индексов код будет выглядеть как-то так
PHP код:
switch(GetPlayerAnimationIndex(playerid))
{
case 1195, 1196, 1197:
{
ClearAnimations(playerid, 0);
ApplyAnimation( playerid, "PED", "KO_skid_back", 4.1, 0, 0, 0, 0, 0 );
SetTimerEx("AntiBH", 500, 0, "d", playerid);
return 1;
}
}