Portal SAMP
[Ajuda] ajuda no comando - 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] ajuda no comando (/showthread.php?tid=3194)



ajuda no comando - LOS_SANTOS - 16/01/2023

iae galera gente boa , sei que muitos de vcs sao scripter samp profissinal , bem , preciso de uma ajuda no meu comando recentemente crie um comando na minha gm de cada 10 minutos ela ativar as coisas que estao dentro da chave ,isso  e um sistema de corrida que a cada 1o minutos ela se ativa sozinha para os players jogar , pois bem gostaria de saber como posso fazer para ela ser ativada so se 3 players tiver online tipo ela ja se ativa por 10 minutos sozinha mas gostaria de saber como fazer ella se (ativar so se no minimo 3 players tiver online )ai quando a corrida acabar ela para se ativar novamente se tver 3 players demore mais 10 minutos ,tipo para a corrida ativa nao acabar e ja ir direto pra outra sem um tempo de intervalo 

porq tem um problema fiz o codigo a cadda 10 minutos a corrida se ativa mas se so tiver 1 unico player, ele acaba jogando na corrida sozinho e acaba ganhando porq nao tem competidores ai vai o codigo se alguem mais experiente puder ajeitar isso pra mim ficarei bastante grato


Código:
public OnGameModeInit()
{
    SetTimer( "LiberarCorrida", 300000, true );// a cada 10 minuto o codigo e liberado
    return 1;
}


forward LiberarCorrida();
public LiberarCorrida()
{
    LoadRaceNames();
    LoadAutoRace(RaceNames[random(TotalRaces)]);
    return 1;
}



RE: ajuda no comando - k2bi_YT - 16/01/2023

Muito simples, eu usei o foreach para passar por todos os jogadores conectado, se você tiver uma variavel especifica para verificar se o jogador está logado (registrado) no servidor, substitua a IsPlayerConnected() pela sua variavel.

Código PHP:
forward LiberarCorrida();
public 
LiberarCorrida()
{
    new 
total 0;
    foreach(new 
iPlayer)
    {
        if(
IsPlayerConnected(i)) total++;
    }
    if(
total 2)
    {
        
LoadRaceNames();
        
LoadAutoRace(RaceNames[random(TotalRaces)]);
        return 
true;
    }
    
SendClientMessageToAll(-1"Não há jogadores suficiente para iniciar a corrida!");
    return 
true;