[Ajuda] Contagem tempo esc.. - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Contagem tempo esc.. (
/showthread.php?tid=600424)
Contagem tempo esc.. -
fdsda - 08.02.2016
bom, eu tentei fazer uma coisa como base..
PHP код:
gettime(ESChora[playerid], ESCminuto[playerid], ESCsegundo[playerid]);
CreatePlayer3DTextLabel(playerid,"AFK: %d:%d:%d",0x008080FF,ESChora[playerid],ESCminuto[playerid],ESCsegundo[playerid],40.0);
bom, so nao sei como vou fazer a verificaзao quando ele estiver esc irб aparecer isso.. alguem pode dar uma forзa?
Re: Contagem tempo esc.. -
RodrigoMSR - 11.02.2016
Код:
#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;
}