Szerző Téma: Random játékos  (Megtekintve 2133 alkalommal)

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Random játékos
« Dátum: 2012. augusztus 31. - 14:39:04 »
0 Show voters
Ez csak akkor mûködik ha van online játékos(nem NPC)!
Ma szükségem volt egy ilyenre, ezért megírtam, még csak egyedül teszteltem tehát nem biztos hogy rendesen mûködik, de jónak kell lennie. NPCt és nem elérhetõ ID -t nem ad vissza.
 
stock RandomJatekos()
{
new player;
do
{
player = random(GetMaxPlayers());
}
while(!IsPlayerConnected(player) || IsPlayerNPC(player))
return player;
}
« Utoljára szerkesztve: 2012. augusztus 31. - 21:50:16 írta Casamiro »

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Random játékos
« Válasz #1 Dátum: 2012. augusztus 31. - 16:41:57 »
0 Show voters
Gondolkoztál azon, hogy végtelen ciklus is lehet, hogy ha nincs fent NPC, vagy játékos?

Kovacs_Bela

  • Vendég
Random játékos
« Válasz #2 Dátum: 2012. augusztus 31. - 20:23:18 »
0 Show voters

stock RandPlayer()
{
    new returnf;
    for(new i; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) {
    returnf = random(i);
    } }
    return returnf;
}

 
rögtönzött

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Random játékos
« Válasz #3 Dátum: 2012. augusztus 31. - 20:42:51 »
0 Show voters
Idézetet írta: DrAkE date=1346424117\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27183\" data-ipsquote-contentclass=\"forums_Topic
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.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Random játékos
« Válasz #4 Dátum: 2012. augusztus 31. - 20:52:28 »
0 Show voters

stock
RandomJatekos()
{
new
playerek[MAX_PLAYERS],
index = -1,
jatekosok = -1
;
for(;++jatekosok < MAX_PLAYERS;)
{
if(IsPlayerConnected(jatekosok))
   playerek[++index] = jatekosok;
}
return (index > 0) ? (playerek[random(index + 1)]) : -1;
}

 

Idézetet írta: Casamiro date=1346438571\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27183\" data-ipsquote-contentclass=\"forums_Topic


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.
« Utoljára szerkesztve: 2012. szeptember 01. - 20:16:09 írta DrAkE »

Random játékos
« Válasz #5 Dátum: 2012. augusztus 31. - 21:14:43 »
0 Show voters
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

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Random játékos
« Válasz #6 Dátum: 2012. augusztus 31. - 21:49:35 »
0 Show voters
Nem tudtam hogy van ilyen, akkor ezt zárom mert lehet hogy ez nem mindenkinek felel meg.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Random játékos
« Válasz #7 Dátum: 2012. augusztus 31. - 21:59:35 »
0 Show voters
Idézetet írta: ɐʞzssǝlosz date=1346440483\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27183\" data-ipsquote-contentclass=\"forums_Topic
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
 
De ha megnézed, akkor olyasmi mint amit te írtál. (bár lehet azelõtt írtad, mielõtt a régi lett volna) Viszont ha megnézed, ez használatkor tölti fel a változókat, és annak megfelelõen nyúl az adott címkébe, szóval (elvileg) jónak kell, hogy legyen.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal