[Ajuda] Timer Verificaзгo
#10

Olha, eu nгo gosto de dar cуdigo porque eu perco tempo fazendo e testando. Eu fiz um aqui rapidгo, mas nгo testei, nгo sei se compila, nгo sei se funciona, nгo fiz otimizaзхes. Mas deixei uns comentбrios pra vocк se encontrar e tentar entender a lуgica por trбs (que por sinal nгo sei se estб certa).
PHP код:
new colocados[MAX_PLAYERS] = {-1, -1, -1, ...}; //array global
//dentro da funзгo que inicia o evento (depois que o evento fecha e antes de um jogador pegar checkpoint)
//Salvar todos os jogadores do evento na array colocados[], sem pular posiзхes
for (new 0MAX_PLAYERSi++)
{
    if (!
IsPlayerConnected(i) continue;
    if (!
Evento[i]) continue;
    
    for (new 
j=0MAX_PLAYERSj++)
    {
        if (
colocados[j]) == -1//Verifica se a posiзгo "j" estб disponнvel
            
colocados[j] = i//Salva o id do jogador na posiзгo "j" de colocados
    
}
}
//Opзгo 1
VerificarPosicao() // Passa por todos os jogadores
{
    new 
tmpj;
    for (new 
1MAX_PLAYERSi++) //loop todos os jogadores comeзando pelo id 1
    
{
        
i-1//j й a posiзгo anterior ao player que estamos (i)
        
while (> -&& AddCP[colocados[i]] > AddCP[colocados[j]] //enquando j for um id vбlido e AddCP do jogador atual (i) for maior que o anterior, ele faz a troca entre eles
        
{
            
tmp colocados[i];
            
colocados[i] = colocados[j];
            
colocados[j] = tmp;
            
j--;
        }
    }
}
//Opзгo 2
VerificarPosicao(playerid// Tem base no playerid
{
    new 
tmpj;
    for (new 
0MAX_PLAYERSi++) //loop todos os jogadores
    
{
        if(
colocados[i] == playerid//encontra a posiзгo do playerid na array colocados
        
{
            
i-1//salva a posiзгo de seu antecessor
            
break;
        }
    }
    while (
> -&& AddCP[playerid] > AddCP[colocados[j]] //enquando j for um id vбlido e AddCP do jogador atual (playerid || colocados[j+1]) for maior que o anterior (colocados[j]), ele faz a troca entre eles
    
{
        
tmp colocados[j+1];
        
colocados[j+1] = colocados[j];
        
colocados[j] = tmp;
        
j--;
    }

Como eu disse, nгo sei se isso funciona, mas tб quase lб. Isso й o mбximo que posso te ajudar, daqui por diante й por sua conta.
Reply


Messages In This Thread
Timer Verificaзгo - by Tuznn - 03.03.2017, 17:52
Re: Timer Verificaзгo - by Cheleber_Pausini - 04.03.2017, 03:58
Re: Timer Verificaзгo - by Tuznn - 04.03.2017, 14:12
Re: Timer Verificaзгo - by renatog - 04.03.2017, 14:44
Re: Timer Verificaзгo - by Tuznn - 04.03.2017, 15:31
Re: Timer Verificaзгo - by Cheleber_Pausini - 04.03.2017, 17:10
Re: Timer Verificaзгo - by Tuznn - 05.03.2017, 00:16
Re: Timer Verificaзгo - by BarBePie - 05.03.2017, 00:25
Re: Timer Verificaзгo - by Tuznn - 05.03.2017, 00:29
Re: Timer Verificaзгo - by renatog - 05.03.2017, 03:28

Forum Jump:


Users browsing this thread: 1 Guest(s)