Teste o cуdigo abaixo, arrumei umas coisas erradas.
Algumas coisas inъteis e erros que encontrei.
Quote:
new Segundos;
Segundos = TEMPO_SEGUNDOS;
|
Quote:
GameTextForPlayer(playerid, String, 2500, 3);
Todos GameTexts... do relуgio estгo com o timer de 2500, O timer atual passa 15 vezes pela public aonde tem esse GameText.
Entгo na lуgica o GameText ficarб na tela 15x2500 = 37500 (Trinca e sete segundos e meio), sendo que sу deveria ficar 15 segundos.
|
Quote:
SegundosContagem[playerid] --;
Jб na dialog estava descontando -1 do Timer. Entгo ao invйs de iniciar com 15 segundos estava iniciando com 14 segundos.
|
Quote:
SetTimerEx("TimerFaixa", 1000, 0, "i", playerid);
Nunca vi um SetTimerEx sendo definido para nгo criar repetiзхes com 0, sempre vi com false!
|
Quote:
KillTimer(SegundosContagem[playerid]);
Estб destruindo um Timer que nгo existe, ou seja estб querendo destruir um timer usando uma variбvel que armazena segundos?
|
PHP код:
#define TEMPO_SEGUNDOS (15)
new TimerContagem[MAX_PLAYERS];
if(dialogid == DIALOG_FAIXA)
{
if(response)
{
if(listitem == 0)
{
new String[128];
new TentadoGuardar[128];
SegundosContagem[playerid] = TEMPO_SEGUNDOS;
format(String, sizeof(String), "~r~Tempo: ~w~%s", Convert(SegundosContagem[playerid]));
GameTextForPlayer(playerid, String, 1000, 3);
GetPlayerPos(playerid, AccountPlayer[playerid][LastPos][0], AccountPlayer[playerid][LastPos][1], AccountPlayer[playerid][LastPos][2]);
TimerContagem[playerid] = SetTimerEx("TimerFaixa", 1000, true, "i", playerid);
if(AccountPlayer[playerid][TORCIDA] == 2) { TentadoGuardar = "Torcida Garra Do CRB"; }
if(AccountPlayer[playerid][TORCIDA] == 3) { TentadoGuardar = "Torcida Sampaio Roots"; }
if(AccountPlayer[playerid][TORCIDA] == 4) { TentadoGuardar = "Torcida Organizada Mancha Negra"; }
if(AccountPlayer[playerid][TORCIDA] == 5) { TentadoGuardar = "Torcida Jovem do Botafogo PB"; }
if(AccountPlayer[playerid][TORCIDA] == 6) { TentadoGuardar = "Torcida Jovem Fanбutico"; }
if(AccountPlayer[playerid][TORCIDA] == 7) { TentadoGuardar = "Torcida Tubarхes da Fiel"; }
if(AccountPlayer[playerid][TORCIDA] == 8) { TentadoGuardar = "Torcida Uniformizada Falange Tricolor"; }
if(AccountPlayer[playerid][TORCIDA] == 9) { TentadoGuardar = "Torcida Impйrio Verde Paulista"; }
if(AccountPlayer[playerid][TORCIDA] == 10) { TentadoGuardar = "Torcida Forзa Flu"; }
if(AccountPlayer[playerid][TORCIDA] == 11) { TentadoGuardar = "Leхes da Fabulosa"; }
if(AccountPlayer[playerid][TORCIDA] == 12) { TentadoGuardar = "Comando Rubro Negro"; }
if(AccountPlayer[playerid][TORCIDA] == 13) { TentadoGuardar = "Torcida Jovem Gonзalense"; }
if(AccountPlayer[playerid][TORCIDA] == 14) { TentadoGuardar = "Torcida Jovem Ponte"; }
if(AccountPlayer[playerid][TORCIDA] == 15) { TentadoGuardar = "Torcida Esquadrгo Colorado"; }
if(AccountPlayer[playerid][TORCIDA] == 16) { TentadoGuardar = "Torcida Fъria Andreense"; }
if(AccountPlayer[playerid][TORCIDA] == 17) { TentadoGuardar = "Torcida Falange Azul"; }
format(String, 259, "[SC]: Torcida {FF0000}%s {FFFFFF}Estб tentado guardar а faixa de sua Torcida.", TentadoGuardar);
SendClientMessageToAll(-1, String);
SendClientMessage(playerid, COR_PRINCIPAL, "[INFO]: Por favor nгo sair do lugar, Caso vocк saia guardamento da faixa sйra cancelador.");
}
}
return 1;
}
public TimerFaixa(playerid)
{
new String[256], Float:Pos[3], NameGuardou[259];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
if(Pos[0] != AccountPlayer[playerid][LastPos][0] || Pos[1] != AccountPlayer[playerid][LastPos][1]) return SendClientMessage(playerid, COR_ERRO, "[ERRO]: Vocк saiu da pickup, Guardamento da faixa foi cancelado.");
if(SegundosContagem[playerid] >= 1)
{
SegundosContagem[playerid] --;
format(String, sizeof(String), "~r~Aguarde: ~w~%s", Convert(SegundosContagem[playerid]));
GameTextForPlayer(playerid, String, 1000, 3);
return 1;
}
else
{
SegundosContagem[playerid] = 0;
KillTimer(TimerContagem[playerid]);
if(AccountPlayer[playerid][TORCIDA] == 2) { NameGuardou = "Torcida Garra Do CRB"; }
if(AccountPlayer[playerid][TORCIDA] == 3) { NameGuardou = "Torcida Sampaio Roots"; }
if(AccountPlayer[playerid][TORCIDA] == 4) { NameGuardou = "Torcida Organizada Mancha Negra"; }
if(AccountPlayer[playerid][TORCIDA] == 5) { NameGuardou = "Torcida Jovem do Botafogo PB"; }
if(AccountPlayer[playerid][TORCIDA] == 6) { NameGuardou = "Torcida Jovem Fanбutico"; }
if(AccountPlayer[playerid][TORCIDA] == 7) { NameGuardou = "Torcida Tubarхes da Fiel"; }
if(AccountPlayer[playerid][TORCIDA] == 8) { NameGuardou = "Torcida Uniformizada Falange Tricolor"; }
if(AccountPlayer[playerid][TORCIDA] == 9) { NameGuardou = "Torcida Impйrio Verde Paulista"; }
if(AccountPlayer[playerid][TORCIDA] == 10) { NameGuardou = "Torcida Forзa Flu"; }
if(AccountPlayer[playerid][TORCIDA] == 11) { NameGuardou = "Leхes da Fabulosa"; }
if(AccountPlayer[playerid][TORCIDA] == 12) { NameGuardou = "Comando Rubro Negro"; }
if(AccountPlayer[playerid][TORCIDA] == 13) { NameGuardou = "Torcida Jovem Gonзalense"; }
if(AccountPlayer[playerid][TORCIDA] == 14) { NameGuardou = "Torcida Jovem Ponte"; }
if(AccountPlayer[playerid][TORCIDA] == 15) { NameGuardou = "Torcida Esquadrгo Colorado"; }
if(AccountPlayer[playerid][TORCIDA] == 16) { NameGuardou = "Torcida Fъria Andreense"; }
if(AccountPlayer[playerid][TORCIDA] == 17) { NameGuardou = "Torcida Falange Azul"; }
format(String, 259, "[SC]: Torcida {FF0000}%s {FFFFFF}guardou sua faixa.", NameGuardou);
SendClientMessageToAll(-1, String);
AccountPlayer[playerid][FAIXA] = 0;
RemovePlayerAttachedObject(playerid, 8);
SendClientMessage(playerid, COR_PRINCIPAL, "[INFO]: Vocк guardou а faixa de sua Torcida.");
}
return 1;
}