Portal SAMP
[Ajuda] corrija meu codigo - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] corrija meu codigo (/showthread.php?tid=3566)



corrija meu codigo - LOS_SANTOS - 03/05/2023

bem esse codigo ue criei foi na intencao de quando 3 players usase /pedircorrida 
a corrida se iniciasse sozinha pois bem ,consegui , quando o primeiro player usa o comando ele recebe uma sendclientmessage , dizendo que nao pode mais o comando mais de uma vez , o segundo player a mesma coisa , quando o terceiro player usa a corrida se inicia automaticamente , o problema e que depois que a corrida acaba e qualquer um player usa o comando novamente a corrida se inicia ao invez de 3 pessoas usar o comando novamente para a corrida se iniciar , resumindo queria que as coisas do codigo so funcionase so se 3 players usar o mesmo comando ai tudo o que esta dento do /pedircorrida acontecesse  esse e o codigo poderia me corrigir 
o codigo compila sem erros mas depois que os tres players usa o comando e tudo que ta dentro do comando acontece a corrida se inicia , mas quando acaba e o primeiro player usa o comando a corrida se inicia denovo  tipo queria deixar so se os tres players usase o comando ai iniciase quando acabase so ia se iniciar novamente se os tres players usase o comando novamnte 



CMD:pedircorrida(playerid, params[])
{
    new total = 0;
    foreach(new i: Player)
    if(IsPlayerConnected(i)) total++;
    {
    if(total == 1)
    {
    SendClientMessageToAll(amarelo, "corrida 1/3 players!");
    }
    if(total == 2)
    {
    SendClientMessageToAll(amarelo, "corrida 2/3 players!");
    }
    if(total == 3)
    {
    SendClientMessageToAll(amarelo, "corrida 3/3 players!");
    LoadRaceNames();
    LoadAutoRace(RaceNames[random(TotalRaces)]);
    if(RaceStarted == 1) return SendClientMessage(playerid, vermelho, "<!> a corrida ja comecou! espere ate a corrida terminar!");
    }
    else
    {
    SendClientMessage(playerid, vermelho, ">> voce ja usou esse comando<<");
    }
    }
return true;
}


RE: corrija meu codigo - k2bi_YT - 03/05/2023

Faz o teste assim, vê se era assim que tinha em mente.

Código PHP:
new Solicitado 0//Topo da GM

CMD:pedircorrida(playerid)
{
    if(
RaceStarted) return SendClientMessage(playeridvermelho"<!> A corrida já comecou! Espere até o termino do mesmo!");
    if(
GetPVarInt(playerid#CorridaSolicitado) == 1) return SendClientMessage(playerid, vermelho, "Você já solicitou uma corrida, aguarde outros jogadores.");
    
new str[128];
    
Solicitado++;
    
format(str128"Corrida %d/3"Solicitado);
    
SendClientMessageToAll(amarelostr);
    
SetPVarInt(playerid#CorridaSolicitado, 1);
    
if(Solicitado >= 3)
    {
        
LoadRaceNames();
        
LoadAutoRace(RaceNames[random(TotalRaces)]);
        
Solicitado 0;
        foreach(new 
iPlayerSetPVarInt(i#CorridaSolicitado, 0);
    
}
    return 
true;