SA-MP Forums Archive
[Ajuda] Random - 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] Random (/showthread.php?tid=526231)



Random - VeNuZ_ - 16.07.2014

Boas, estou aqui com uma duvida que й a seguinte:

Tenho 10 jogadores e tenho 2 equipas queria saber como posso fazer um random para separar esses jogadores pondo 5 em cada equipa... Aleatoriamente.

Obrigado.


Re: Random - Kuddy - 16.07.2014

Random seria completamente aleatуrio, jб se vocк quiser balancear as equipes deverб usar uma lуgica diferente.

Um exemplo de cуdigo para balancear as equipes:

pawn Код:
// Time A = 0, Time B = 1, Time nenhum = 2
new team[2];
new playerTeam[MAX_PLAYERS];

#define TEAM_A 0
#define TEAM_B 1

// loop de balancear
for(new k=0; k<MAX_PLAYERS; k++) {
    if(team[0] > team[1]) SetTeam(k, TEAM_B);
    else SetTeam(k, TEAM_A);
}

stock SetTeam(k, t) {
  if(playerTeam[k]!=2) { // se ele jб for pertencente a alguma equipe
    if(t!=2) team[t] ++;
    team[playerTeam[k]]--;
    playerTeam[k] = t;
    return 1;
  } // se nгo ele vai simplesmente adcionar
  if(t!=2) team[t] ++;
  playerTeam[k] = t;
}

public OnPlayerDisconnect(playerid, ...) { // limpar time quando desconecta
  SetTeam(playerid, 2);
}
Esse cуdigo acima foi feito аs pressas, portanto pode conter erros, mбs a lуgica й basicamente essa.


Re: Random - VeNuZ_ - 16.07.2014

Obrigado, irei tentar usar esta lуgica para o que pretendo...