25.09.2011, 19:13
como fazer um relogio de up que conta regressivo
Ex: 40:00 (sao 40 min e 00 segundos)
Ex: 40:00 (sao 40 min e 00 segundos)
new timer, contagem = 15; public OnPlayerCommandText(playerid,cmdtext) { if(!strcmp(cmdtext,"/contagem",true)) { timer = SetTimer("Contagem",1000,true); return true; } return false; } forward Contagem(); public Contagem() { contagem--; if(contagem > 0) { for(new i = 0, j = GetMaxPlayers(); i != j; i++) { new string[30]; format(string,sizeof(string),"%i",contagem); GameTextForPlayer(i, contagem,1000,0); } } else { for(new i = 0, j = GetMaxPlayers(); i != j; i++) { GameTextForPlayer(i,"GO",3000,0); KillTimer(timer); } } return true; }
new Text:DisplayTime;
new minutos=2, segundos=60;
new timestr[32];
forward UpdateTime();
public UpdateTime()
{
segundos--;
if(segundos < 1 && minutos >= 1){minutos--; segundos=60;}
format(timestr,32,"%02d:%02d",minutos,segundos);
TextDrawSetString(DisplayTime,timestr);
}
public OnGameModeInit()
{
DisplayTime = TextDrawCreate(605.0,25.0,"00:00");
TextDrawUseBox(DisplayTime, 0);
TextDrawFont(DisplayTime, 3);
TextDrawSetShadow(DisplayTime,0);
TextDrawSetOutline(DisplayTime,2);
TextDrawBackgroundColor(DisplayTime,0x000000FF);
TextDrawColor(DisplayTime,0xFFFFFFFF);
TextDrawAlignment(DisplayTime,3);
TextDrawLetterSize(DisplayTime,0.5,1.5);
SetTimer("UpdateTime", 1000, 1);
return 1;
}
public RelogioUP()
{
new string[256], segUP = 0, minUP = 0; minUP--;
if(segUP<1){ segUP=59; minUP--;
}
if(minUP<1){ minUP = 9;
}
if(segUP <= 9){ format(string,60,"~w~%d:0%d +Exp",minUP,segUP);
} else {
format(string,60,"~w~%d:%d +Exp",minUP,segUP);
}
TextDrawSetString(reup,string);
return 1;
}
public RelogioUP()
{
new string[64];
segUP--; /* Decrescer segundos... */
if(segUP < 1) /* Quando os segundos chegarem a menor que 1 */
{
segUP = 59;
minUP--;
}
if(minUP < 1) /* Quando os minutos chegarem a menor que 1 */
{
minUP = 9;
}
format(string,64,"~w~%02d:%02d +Exp",minUP,segUP);
TextDrawSetString(reup,string);
return 1;
}