Quote:
Originally Posted by Juance
Podrнas obtener la tecla ESC que es cuando el juego ya se pone en pausa y colocar ese label.
|
No estб la tecla ESC en sa-mp para detectarlo, tendrнa que ser mediante OnPlayerUpdate u otra funciуn, ahora mirarй mбs, aquн tienes las teclas aunque no estй "ESC".
https://sampwiki.blast.hk/wiki/Keys
Edito: He estado mirando y no encuentro nada, lo que yo harнa serнa algo asн.
pawn Код:
//=============[Variable global del GM]================//
new Float:AntiAFK[3][MAX_PLAYERS];
forward DetectarAFK(playerid);
new Ausente[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
//Tus funciones.
Ausente[playerid] = 0;
SetTimerEx("DetectarAFK",60000*5,0,"i",playerid);
}
public DetectarAFK(playerid)
{
if(Ausente[playerid] == 0)
{
new Float:PosActual[3][MAX_PLAYERS];
GetPlayerPos(playerid, PosActual[0][playerid],PosActual[1][playerid],PosActual[2][playerid]);
if(PosActual[0][playerid] == AntiAFK[0][playerid] && PosActual[0][playerid] == AntiAFK[1][playerid] && PosActual[2][playerid] == AntiAFK[2][playerid])
{
Ausente[playerid] = 1;
new string[254], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "El usuario %s, estб ahora ausente", name);
SendClientMessageToAll(-1, string);
}
else
{
GetPlayerPos(playerid, AntiAFK[0][playerid],AntiAFK[1][playerid],AntiAFK[2][playerid]);//No estб ausente y no harб falta hacerle nada, guardamos la posiciуn para el proximo timer.
SetTimerEx("DetectarAFK",60000*5,0,"i",playerid);
}
}
return 1;
}
Ese cуdigo lo que harнa serнa que cada 5 minutos comprobara el tiempo, tu allн podrнas aсadirle a tu gusto, que si estб ausente en 5 minutos le empieza a contar en un label el tiempo y demбs. No sй si te saldrб algъn error, lo he hecho sin Pawn y no lo he probado.
EDIT 2:
Lo he compilado y 0 errores, ya estб, ahora toca probar si detecta el AntiAFK, recuerda que la primera vez tardarб cinco minutos en coger las coordenadas y otros cinco mбs en detectar si estб AFK, para reducir el tiempo cambia los Timer's.