Contado bug -
GROVE4L - 22.12.2010
Bueno ayer hise un simple contador con GameText pero por alguan razon no sale el 1 xD
Sale el 3, 2, 0 pero el 1 no. Les dejo el codigo, yo no le veo nada mal y lo intente de dos formas.
Es un Timer que se repite cada 1 segundo, eso no importa ahora:
pawn Код:
forward ContadoAuto(playerid);
public ContadoAuto(playerid)
{
new string[256];
VSegundosA[playerid] ++;
if(VSegundosA[playerid] >= 60)
{
VSegundosA[playerid] = 0;
VMinutosA[playerid] ++;
format(string,sizeof(string),"el minuto ahora es %d",VMinutosA[playerid]); // Debug Mode
SendClientMessage(playerid,COLOR_GREY,string);// Debug Mode
}
if(VSegundosA[playerid] >= 0 && VSegundosA[playerid] <= 9)
{
if(VMinutosA[playerid] == 0) format(string,sizeof(string),"~y~0~w~:~b~0%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 1) format(string,sizeof(string),"~y~1~w~:~b~0%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 2) format(string,sizeof(string),"~y~2~w~:~b~0%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 3) format(string,sizeof(string),"~y~3~w~:~b~0%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 4) format(string,sizeof(string),"~y~4~w~:~b~0%d",VSegundosA[playerid]);
}
else
{
if(VMinutosA[playerid] == 0) format(string,sizeof(string),"~y~0~w~:~b~%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 1) format(string,sizeof(string),"~y~1~w~:~b~%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 2) format(string,sizeof(string),"~y~2~w~:~b~%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 3) format(string,sizeof(string),"~y~3~w~:~b~%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 4) format(string,sizeof(string),"~y~4~w~:~b~%d",VSegundosA[playerid]);
}
GameTextForPlayer(playerid, string, 1500, 6);
return 1;
}
Y esta es la primer forma como intente, mas sencilla
pawn Код:
forward ContadoAuto(playerid);
public ContadoAuto(playerid)
{
new string[256];
VSegundosA[playerid] ++;
if(VSegundosA[playerid] >= 60)
{
VSegundosA[playerid] = 0;
VMinutosA[playerid] ++;
format(string,sizeof(string),"el minuto ahora es %d",VMinutosA[playerid]); //Debug Mode
SendClientMessage(playerid,COLOR_GREY,string);// Debug Mode
}
if(VSegundosA[playerid] >= 0 && VSegundosA[playerid] <= 9) format(string,sizeof(string),"~y~%d~w~:~b~0%d",VMinutosA[playerid],VSegundosA[playerid]);
else format(string,sizeof(string),"~y~%d~w~:~b~%d",VMinutosA[playerid],VSegundosA[playerid]);
GameTextForPlayer(playerid, string, 1500, 6);
return 1;
}
Si me dicen cual es el error se los agradesco porque yo no lo encuentro xD
Edit: Aca las IMG (Click en la oracion)
Cuando pasa a 1 no sale
Cuando pasa a otro numero, en este caso 2, si sale.
Re: Contado bug -
MrDeath537 - 22.12.2010
Realmente no estoy muy seguro, pero puede darte unas recomendaciones:
____________________________
En vez de usar mucho if:
pawn Код:
if(VMinutosA[playerid] == 0) format(string,sizeof(string),"~y~0~w~:~b~0%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 1) format(string,sizeof(string),"~y~1~w~:~b~0%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 2) format(string,sizeof(string),"~y~2~w~:~b~0%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 3) format(string,sizeof(string),"~y~3~w~:~b~0%d",VSegundosA[playerid]);
if(VMinutosA[playerid] == 4) format(string,sizeof(string),"~y~4~w~:~b~0%d",VSegundosA[playerid]);
Es mejor usar switch.
____________________________
Y con esto deberнa funcionar:
pawn Код:
forward ContadoAuto(playerid);
public ContadoAuto(playerid)
{
new
string[32];
VSegundosA[playerid] ++;
if (VSegundosA[playerid] == 60)
{
VSegundosA[playerid] = -1;
VMinutosA[playerid] ++;
format(string, sizeof(string), "el minuto ahora es %d", VMinutosA[playerid]);
SendClientMessage(playerid, COLOR_GREY, string);
}
format(string, sizeof (string), "~y~%02d~w~:~b~%02d", VMinutosA[playerid], VSegundosA[playerid]);
GameTextForPlayer(playerid, string, 1500, 6);
return 1;
}
____________________________
EDIT:
Testeado y funciona.
Respuesta: Contado bug -
GROVE4L - 22.12.2010
jeje si funciono el 2do, sigo con al duda de que era lo que fallaba pero bueno xD.
Gracias MrDeath
Respuesta: Contado bug -
[J]ulian - 22.12.2010
їEl minuto 0 sale?
Re: Respuesta: Contado bug -
MrDeath537 - 22.12.2010
Quote:
Originally Posted by [J]ulian
їEl minuto 0 sale?
|
El problema ya fue solucionado lol ._.