15.08.2010, 19:15
й o seguinte galera, estou atraz de um Anti-Afk, entгo achei esse aqui, que por sinal parece ser bom. Mas estou com 1 problema nele, ele detecta se a pessoa estб afk, e pede para ela digitar umas letras e numeros aleatуrios, se a pessoa errar, ele pode ficar tentando atй terminar o tempo, se ela acertar as letras, ela й liberada, porйm, eu coloco as letras certas, aparece a mensagem de liberado, o player volta a andar, mais as coisas que ele digita no chat nгo aparecem, e assim ele vai para o Afk de novo. Aqui o code que tira ele de afk:
Aqui o code que manda as letras para digiar e a mensagem e tal:
Alguem sabe como resolve isso?
pawn Код:
public OnPlayerText(playerid, text[])
{
if(GetPVarInt(playerid, "IsAFK") == 1)
{
new tempkey[MSG_LENGTH+1];
GetPVarString(playerid, "ReturnKey", tempkey, MSG_LENGTH+1);
#if CASE_SENSITIVE == 1
if(strcmp(text, tempkey, false) == 0)
#elseif CASE_SENSITIVE == 0
if(strcmp(text, tempkey, true) == 0)
#endif
{
SendClientMessage(playerid, COLOR_LIGHTRED, "| Anti-Afk | Ok, vocк nгo estб AFK.");
TogglePlayerControllable(playerid, 1);
KillTimer(GetPVarInt(playerid, "AFKKickTimer"));
SetPVarInt(playerid, "IsAFK", 0);
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "| Anti-Afk | O Texto que vocк digitou estб incorreto!");
}
}
}
pawn Код:
if(GetPVarInt(i, "AFKTime") >= AFK_TIMES)
{
TogglePlayerControllable(i, 0);
SetPVarInt(i, "IsAFK", 1);
new tempkey[MSG_LENGTH+1];
RandomGenerator(10, tempkey);
SetPVarString(i, "ReturnKey", tempkey);
SendClientMessage(i, COLOR_LIGHTRED, "| Anti-Afk | Vocк estб sem se mover ou falar durante algum tempo, por favor,");
format(string, sizeof(string), "digite isso: \"%s\" , para que possamos saber que ainda estб OnLine.", tempkey);
SendClientMessage(i, COLOR_LIGHTRED, string);
#if AFK_TIMER_TYPE == 1
SetPVarInt(i, "AFKKickTimer", SetTimer("DelayedKick", AFK_DELAYKICK_AMOUNT, true));
#elseif AFK_TIMER_TYPE == 2
SetPVarInt(i, "AFKKickTimer", SetTimer("DelayedKick", (AFK_DELAYKICK_AMOUNT*1000), true));
#elseif AFK_TIMER_TYPE == 3
SetPVarInt(i, "AFKKickTimer", SetTimer("DelayedKick", (AFK_DELAYKICK_AMOUNT*60000), true));
#elseif AFK_TIMER_TYPE == 4
SetPVarInt(i, "AFKKickTimer", SetTimer("DelayedKick", (AFK_DELAYKICK_AMOUNT*3600000), true));
#endif
}