11.02.2016, 12:58
Код:
#define ESC_SEG 5 //Segundos que o jogador deve ficar de ESC para ser declarado como pausado (ESC = 1)
new ESC[MAX_PLAYERS];
new ESC_Tempo[MAX_PLAYERS];
public OnGameModeInit()
{
SetTimer("ChecarESC", 1000, true);
return 1;
}
public OnPlayerConnect(playerid)
{
ESC[playerid] = 0;
ESC_Tempo[playerid] = 0;
return 1;
}
public OnPlayerUpdate(playerid)
{
if(ESC_Tempo[playerid] >= ESC_SEG)
{
ESC[playerid] = 0;
//Resetar texto da TextLabel aqui
}
ESC_Tempo[playerid] = 0;
return 1;
}
forward ChecarESC();
public ChecarESC()
{
new tempo[20];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(ESC[i] == 0)
{
ESC_Tempo[i]++;
if(ESC_Tempo[i] >= ESC_SEG) ESC[i] = 1;
}
else
{
format(tempo, sizeof(tempo), "AFK: %s", ConvertSegToMin(ESC_Tempo[i]));
//Setar a string "tempo" na TextLabel
}
}
}
return 1;
}
stock ConvertSegToMin(seconds)
{
new string[10];
format(string, sizeof(string), "%d:%d:%d", (seconds%86400)/3600, (seconds%3600)/60, seconds%60);
return string;
}

