←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Losowanie wśród graczy

Zablokowany

  • +
  • -
sbstn - zdjęcie sbstn 18.04.2010

Jak w temacie. Jak zrobić losowanie wśród graczy. Np. co rundę, spośród wszystkich graczy losowana jest jedna osoba i na niej odbywają się pozostałe funkcje...
Oczekuję szybkiej odpowiedzi ;)

Pozdrawiam, sbstn.
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 18.04.2010


new id[33];
new ktory_gracz = 0;
for(new i = 1;i<33;i++){
if(is_user_connected(i)){
id[ktory_gracz] = i;
ktory_gracz++;
}
}
new wylosowany = id[random_num(0,ktory_gracz-1)]
Odpowiedz

  • +
  • -
sbstn - zdjęcie sbstn 18.04.2010

O to chodziło ;) Dzieny +!
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 18.04.2010

Optymalniej powinno działać:
stock GetRandomPlayer()
{
new iPlayers[32], iNum
get_players(iPlayers, iNum)
return iPlayers[random(iNum-1)]
}

pobierasz
new Player = GetRandomPlayer()
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 18.04.2010

hmm

public GetRandomPlayer() {
new id=random_num(1,32)
if(!is_user_connected(id)) GetRandomPlayer()
else return id;
}
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 18.04.2010

hmm

public GetRandomPlayer() {
new id=random_num(1,32)
if(!is_user_connected(id)) GetRandomPlayer()
else return id;
}


Brawo goq, jak nie będzie graczy na serwerze to zawiesisz serwer :mur:
im mniej graczy tym dłużej ta funkcja będzie mieliła w przeciwieństwie do tej Vertricus'a która wykona się zawsze RAZ :!:

Za takie pomysły to minusa powinieneś dostać ;>
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 18.04.2010

Tworząc ten kod zakładam że zostanie użyty bezpiecznie i sensownie :>
Odpowiedz
Zablokowany