Szerző Téma: Legközelebbi játékos lekérdezése.  (Megtekintve 1117 alkalommal)

Legközelebbi játékos lekérdezése.
« Dátum: 2014. február 26. - 11:23:48 »
0 Show voters
Sziasztok!
Tudom, hogy van ezer másik ilyen topic, de én sajnos nem értem az abban lévõ dolgokat. Nos, nekem egy /felsegit parancshoz kéne egy kompletten leírt / elmagyarázott legközelebbi játékos ID lekérdezõ script. Elõre is köszönöm szépen! Szép napot!

Nem elérhető rhassi

  • 624
    • Profil megtekintése
Legközelebbi játékos lekérdezése.
« Válasz #1 Dátum: 2014. február 26. - 15:41:43 »
+1 Show voters
NearestPlayer(playerid)
{
new nearest = 0; // ez a változó fogja tárolni a legközelebbi játékos id-jét
while(!IsPlayerConnected(nearest)) nearest++; // amíg a \'nearest\' játékos nincs a szerveren növelünk egyet az értékén, hátha az már fent van.
if(nearest >= MAX_PLAYERS) return INVALID_PLAYER_ID; // ha túllépjük a legtöbb lehetséges játékost érvénytelen playeridvel térünk vissza és nem fut tovább az alprogram
new Float:p[3];
GetPlayerPos(playerid, p[0],p[1],p[2]); // a playerid pozíciójától fogjuk nézni a többiek távolságát
for(new i = nearest; i<MAX_PLAYERS; i++) // a legkisebb id-jû csatlakozott játékostól kezdõdik a ciklus
{
    if(!IsPlayerConnected(i)) continue; // ha nincs fent a játékos nem érdekel minket, ugrunk a következõre
    if(i == playerid) continue; // ha megegyezik a playerid-vel szintén tovább ugrunk
    if(GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(i)) continue; // mint ahogy akkor is ha nincsenek egy VW-ben
    if(GetPlayerInterior(playerid) != GetPlayerInterior(i)) continue; // ... vagy interiorban
        if(GetPlayerDistanceFromPoint(i,  p[0],p[1],p[2]) < GetPlayerDistanceFromPoint(nearest,  p[0],p[1],p[2])) nearest = i; // ha a az éppen vizsgált (i) játékos távolsága \'playerid\'-tõl kisebb mint az eddig legközelebbinek hitt játékosé akkor az \'i\' lesz az új \'nearest\'
}
return nearest; // a végigfutás eredményeképpen ha minden jól ment a \'nearest\' értéke a \'playerid\'-hez legközelebbi játékos id-je
}

 
Lehetséges, hogy elnéztem valamit, vagy rosszul gondoltam végig. Ha letesztelted kérlek jelezz vissza.

Legközelebbi játékos lekérdezése.
« Válasz #2 Dátum: 2014. február 26. - 16:06:11 »
0 Show voters
error 017: undefined symbol \"NearestPlayer\"

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Legközelebbi játékos lekérdezése.
« Válasz #3 Dátum: 2014. február 26. - 16:24:24 »
+1 Show voters
Írd a kód elé, hogy stock. ...

Legközelebbi játékos lekérdezése.
« Válasz #4 Dátum: 2014. február 26. - 16:25:55 »
0 Show voters
Az errorozást sikerlt javítanom, de bugol.

Dupla hozzászólás automatikusan összefûzve. ( 2014. február 26. - 16:26:18 )

Igen oda írtam elé, hogy stock.... -,-

Dupla hozzászólás automatikusan összefûzve. ( 2014. február 26. - 17:26:08 )

Már csak 0-s id bug van.
« Utoljára szerkesztve: 2014. február 26. - 17:26:08 írta TheChansee »

Nem elérhető rhassi

  • 624
    • Profil megtekintése
Legközelebbi játékos lekérdezése.
« Válasz #5 Dátum: 2014. február 27. - 19:27:55 »
0 Show voters
Micsoda? Nálam mûködik.

Legközelebbi játékos lekérdezése.
« Válasz #6 Dátum: 2014. február 28. - 10:25:06 »
0 Show voters
Zártam kösz.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal