[Ajuda] Anti-Afk auto-kick
#1

Seguinte, esse anti-afk era para funcionar assim:
Se o player ficar 10 parado ele й kickado automaticamente, mas se ele voltar, a contagem zera.
Mas nгo estб funcionando

pawn Код:
public OnGameModeInt()
{
    SetTimerEx("SlowTick", 60000, true, "i"); // Tempo para aumentar os minutos AFK
    SetTimerEx("SetPlayerAfk", 10, true, "i"); // Define que o player estб AFK caso ele nгo se mova
    SetTimerEx("ChecarAfk", 10, true, "i"); // Checa e kicka automaticamente o player muito tempo AFK
return 1;

public OnPlayerUpdate(playerid)
{
    // Se o player se mover
    AfkCount[playerid] = 0;
    AFK[playerid]=0;
}
pawn Код:
forward ChecarAfk(playerid);
public ChecarAfk(playerid)
{
    if(AFK[playerid]==1 && AfkCount[playerid] > 10) {
        SendClientMessage(playerid, COLOR_RED, "[SERVER] Vocк foi kickado por estar AFK por muito tempo!");
        Kick(playerid);
        format(string, sizeof string, "[SERVER] %s foi kickado por estar AFK por 10 minutos.", pnome(playerid));
        SendClientMessageToAll(COLOR_RED, string);
    }
    return 1;
}
forward SetPlayerAfk(playerid);
public SetPlayerAfk(playerid)
{
    if(IsPlayerAfk(playerid)) {
        AFK[playerid]=1;
        AfkCount[playerid]=0;
        AfkCount[playerid]++;
    }
    return 1;
}
forward SlowTick(playerid);
public SlowTick(playerid)
{
    AfkCount[playerid]++;
}
stock IsPlayerAfk(playerid) return (AfkCount[playerid] > 1);
Reply
#2

ninguйm? aff
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)