Este й um dos que estб bugado.
Eu ativo ele no OnPlayerSpawn
Код:
V_TimerIdleKicker[playerid] = SetTimerEx("IdleKicker", 1000, 0, "i", playerid);
Quando o player desconecta:
Код:
KillTimer(V_TimerIdleKicker[playerid]);
Callback do timer:
Код:
foreach(Player, playerid)
{
GetPlayerPos(playerid, PlayerCurrentPos[0], PlayerCurrentPos[1], PlayerCurrentPos[2]);
if(!floatcmp(PlayerCurrentPos[0], PlayerLastPos[playerid][LastX]) && !floatcmp(PlayerCurrentPos[1], PlayerLastPos[playerid][LastY]))
{
PlayerAfkTicks[playerid] ++;
}
else
{
PlayerAfkTicks[playerid] = 0;
}
PlayerLastPos[playerid][LastX] = PlayerCurrentPos[0];
PlayerLastPos[playerid][LastY] = PlayerCurrentPos[1];
PlayerLastPos[playerid][LastZ] = PlayerCurrentPos[2];
if(PlayerAfkTicks[playerid] == MAX_IDLE_TIME * 60)
{
AFK[playerid] = 1;
SetPlayerVirtualWorld(playerid, 1);
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,AfkText1[playerid]);
TextDrawShowForPlayer(playerid,AfkBackText1[playerid]);
}
if(PlayerAfkTicks[playerid] == MAX_IDLE_TIME * 120)
{
TextDrawHideForPlayer(playerid, AfkText1[playerid]);
TextDrawHideForPlayer(playerid, AfkBackText1[playerid]);
TextDrawShowForPlayer(playerid, AfkText2[playerid]);
TextDrawShowForPlayer(playerid, AfkBackText2[playerid]);
SetTimerEx("KickPlayer", 200, 0, "i", playerid);
}
V_TimerIdleKicker[playerid] = SetTimerEx("IdleKicker", 1000, 0, "i", playerid);
}
OBS.: Й um timer que irб rodar de segundo em segundo.
OBSІ.: Este й apenas UM deles que estб assim.