SA-MP Forums Archive
[Ajuda] Contador de tempo - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Contador de tempo (/showthread.php?tid=625648)



Contador de tempo - DarthVeider - 04.01.2017

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?


Re: Contador de tempo - AuhMaru - 05.01.2017

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]); 



Re: Contador de tempo - DarthVeider - 07.01.2017

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