Reset timer -
GuilhermeW - 26.11.2016
Eu criei um timer para saber a quanto tempo o jogador estб conectado no servidor mas deu fail, ele nгo reseta, se um player logar agora e ficar 13 min, e eu logar daqui 1 hora, vai ter o mesmo tempo pra os dois.
O cуdigo й esse:
PHP код:
new Text:CMlt;
new horaslt[MAX_PLAYERS], minutoslt[MAX_PLAYERS], segundoslt[MAX_PLAYERS], timerlt[MAX_PLAYERS];
forward CreateCMlt();
public CreateCMlt()
{
CMlt = TextDrawCreate(498.000000, 125.000000, " ");
TextDrawBackgroundColor(CMlt, 255);
TextDrawFont(CMlt, 1);
TextDrawLetterSize(CMlt, 0.500000, 1.000000);
TextDrawColor(CMlt, -1);
TextDrawSetOutline(CMlt, 1);
TextDrawSetProportional(CMlt, 1);
return 1;
}
forward ccmlt(playerid);
public ccmlt(playerid)
{
segundoslt[playerid]++;
if(segundoslt[playerid] > 59)
{
segundoslt[playerid] = 0;
minutoslt[playerid] ++;
if(minutoslt[playerid] > 59)
{
minutoslt[playerid] = 0;
horaslt[playerid]++;
}
}
new ccmltstr[24];
format(ccmltstr, sizeof(ccmltstr), "%02d:%02d:%02d", horaslt, minutoslt, segundoslt);
TextDrawSetString(CMlt, ccmltstr);
return 1;
}
public OnPlayerConnect(playerid)
{
timerlt[playerid] = SetTimerEx("ccmlt", 1000, true, "d", playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
TextDrawShowForPlayer(playerid, CMlt);
return 1;
}
OnPlayerDisconnect(playerid)
{
KillTimer(timerlt[playerid]);
return 1;
}
Se alguйm puder me ajudar, vlw '-'
Re: Reset timer -
HardWar - 26.11.2016
Код:
public OnPlayerDisconnect(playerid, reason)
{
KillTimer(timerlt[playerid]);
horaslt[playerid] = minutoslt[playerid] = segundoslt[playerid] = 0;
return 1;
}
Re: Reset timer -
GuilhermeW - 26.11.2016
Mesma coisa, serб que tenho que usar PlayerTextDraw?
Re: Reset timer -
Marllun - 26.11.2016
Eu acho que sim
Re: Reset timer -
Marllun - 26.11.2016
pronto kkkkkkkkkk
Код:
#include <a_samp>
new PlayerText:CMlt[MAX_PLAYERS];
new horaslt[MAX_PLAYERS], minutoslt[MAX_PLAYERS], segundoslt[MAX_PLAYERS], timerlt[MAX_PLAYERS];
forward ccmlt(playerid);
public ccmlt(playerid)
{
segundoslt[playerid]++;
if(segundoslt[playerid] > 59)
{
segundoslt[playerid] = 0;
minutoslt[playerid] ++;
if(minutoslt[playerid] > 59)
{
minutoslt[playerid] = 0;
horaslt[playerid]++;
}
}
new ccmltstr[25];
format(ccmltstr, sizeof(ccmltstr), "%02d:%02d:%02d", horaslt, minutoslt, segundoslt);
PlayerTextDrawSetString(playerid,CMlt[playerid], ccmltstr);
return 1;
}
public OnPlayerConnect(playerid)
{
CMlt[playerid] = CreatePlayerTextDraw(playerid,498.000000, 125.000000, " ");
PlayerTextDrawBackgroundColor(playerid,CMlt[playerid], 255);
PlayerTextDrawFont(playerid,CMlt[playerid], 1);
PlayerTextDrawTextSize(playerid,CMlt[playerid], 0.500000, 1.000000);
PlayerTextDrawColor(playerid,CMlt[playerid], -1);
PlayerTextDrawSetOutline(playerid,CMlt[playerid], 1);
PlayerTextDrawSetProportional(playerid,CMlt[playerid], 1);
timerlt[playerid] = SetTimerEx("ccmlt", 1000, true, "d", playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
PlayerTextDrawShow(playerid,CMlt[playerid]);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
KillTimer(timerlt[playerid]);
horaslt[playerid] = minutoslt[playerid] = segundoslt[playerid] = 0;
return 1;
}
Re: Reset timer -
GuilhermeW - 26.11.2016
Ainda nгo funciona, mesmo usando PlayerTextDraw, o tempo fica igual para todos,

O bagulho ficou sinistro, daн eu coloquei pra zerar o tempo pra quando sair junto com o KillTimer, sу que se o ID 1 sai, o tempo do ID 0 vai pra 00:00:00 sendo que o ID 0 nгo saiu kkk, mds...
Re: Reset timer -
GuilhermeW - 27.11.2016
Alguйm?
Re: Reset timer -
Marllun - 27.11.2016
faz um loop