stock RandomJatekos(){new player;do{player = random(GetMaxPlayers());}while(!IsPlayerConnected(player) || IsPlayerNPC(player))return player;}
stock RandPlayer(){ new returnf; for(new i; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { returnf = random(i); } } return returnf;}
Gondolkoztál azon, hogy végtelen ciklus is lehet, hogy ha nincs fent NPC, vagy játékos?
stockRandomJatekos(){newplayerek[MAX_PLAYERS],index = -1,jatekosok = -1;for(;++jatekosok < MAX_PLAYERS;){if(IsPlayerConnected(jatekosok)) playerek[++index] = jatekosok;}return (index > 0) ? (playerek[random(index + 1)]) : -1;}
Gondolkoztál azon, hogy végtelen ciklus is lehet, hogy ha nincs fent NPC, vagy játékos? Nem mert én ezt csak akkor használom ha van fent játékos.[/quote]Itt jön az képbe, hogy csak te használod akkor. Mi van ha valaki kezdõ, és õ pont egy Timerbe akarja belerakni?U.I.: Egy pillanat, javítok a kódomon.U.I(2): Kész is volna.
Az a baj a fenti kódoddal DrAkE, hogy azt feltételezed hogy a játékos id-k szépen sorban haladnak felfelé, ez így van míg csak jönnek fel a szerverre de ha egyszerre lelép 5 játékos azok helye üres lesz, és míg nem jön senki a helyükre addig nincs játékos az általuk használt azonosítón.Érthetõbben a szerveren az online játékosok id száma pl. így néz ki: 1, 3, 5, 6, 7, 8, 10, 12,http://sampforum.hu/index.php?topic=13023.0