[Ajuda] Contador de tempo
#1

Olб pessoal, eu queria a ajuda de vocкs pois estou fazendo um sistema de corrida mas eu quero agregar a esse sistema um contador de tempo para que quando o player for correr e sair do ponto A comece a contar e quando chegar no ponto B ele pare de contar e mostre o tempo que ele gastou. Estou tentando fazer isso para ficar um Text Draw contando(a TextDraw eu ja fiz). Eu tenho um certa noзгo do que eu deva usar(gettime ou settime com o upload de 1 em 1 segundo assim adicionando mais segundos ao contador). Mas infelizmente nгo sei como comeзar vocкs poderiam me ajudar?
Reply
#2

Peguei uma base de um sistema de corrida que eu fiz.

PHP код:

//Crie as variбveis.
new
    
TempoCorrida[MAX_PLAYERS],
    
MinutosCorrida[MAX_PLAYERS],
    
SegundosCorrida[MAX_PLAYERS]
;
//Crie uma callback.
ConvertTimeRace(playerid);
public 
ConvertTimeRace(playerid)
{
    
SegundosCorrida[playerid] ++;
    if(
SegundosCorrida[playerid] == 60) {
        
MinutosCorrida[playerid] ++;
        
SegundosCorrida[playerid] = 0;
    }
/*
    Coloque para mudar a Textdraw aqui. Ex:
    static str[25];
    format(str, sizeof str, "%d:%d", MinutosCorrida[playerid], SegundosCorrida[playerid]);
    PlayerTextDrawSetString(playerid, MudeParaSuaTextdraw[playerid], str);
*/
    
return true;
}
//Quando a corrida iniciar faзa um Loop para todos os players da corrida. Exemplo:
for(new i<= GetPlayerPoolSize(); ++)
{
    if(
IsPlayerConnected(i))
    {
        if(
IsPlayerInRace(i)) //Mude para sua variбvel que verifica se o player estб na corrida.
        
{
            
PlayerTextDrawShow(i/*SuaTextdraw[i]*/); // Irб mostrar a textdraw.
            
TempoCorrida[i] = SetTimerEx("ConvertTimeRace"1000true"i"i);
        }
    }
}
//Use em OnPlayerDisconnect e quando a corrida terminar:
KillTimer(TempoCorrida[playerid]); 
Reply
#3

Quote:
Originally Posted by AuhMaru
Посмотреть сообщение
Peguei uma base de um sistema de corrida que eu fiz.

PHP код:

//Crie as variбveis.
new
    
TempoCorrida[MAX_PLAYERS],
    
MinutosCorrida[MAX_PLAYERS],
    
SegundosCorrida[MAX_PLAYERS]
;
//Crie uma callback.
ConvertTimeRace(playerid);
public 
ConvertTimeRace(playerid)
{
    
SegundosCorrida[playerid] ++;
    if(
SegundosCorrida[playerid] == 60) {
        
MinutosCorrida[playerid] ++;
        
SegundosCorrida[playerid] = 0;
    }
/*
    Coloque para mudar a Textdraw aqui. Ex:
    static str[25];
    format(str, sizeof str, "%d:%d", MinutosCorrida[playerid], SegundosCorrida[playerid]);
    PlayerTextDrawSetString(playerid, MudeParaSuaTextdraw[playerid], str);
*/
    
return true;
}
//Quando a corrida iniciar faзa um Loop para todos os players da corrida. Exemplo:
for(new i<= GetPlayerPoolSize(); ++)
{
    if(
IsPlayerConnected(i))
    {
        if(
IsPlayerInRace(i)) //Mude para sua variбvel que verifica se o player estб na corrida.
        
{
            
PlayerTextDrawShow(i/*SuaTextdraw[i]*/); // Irб mostrar a textdraw.
            
TempoCorrida[i] = SetTimerEx("ConvertTimeRace"1000true"i"i);
        }
    }
}
//Use em OnPlayerDisconnect e quando a corrida terminar:
KillTimer(TempoCorrida[playerid]); 
Vlw muito obrigado, agora vou dar adaptada pra meu sistema mas vou manter os creditos pela ajuda. +REP
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)