GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: TheChansee - 2014. Február 26. - 11:23:48

Cím: Legközelebbi játékos lekérdezése.
Írta: TheChansee - 2014. Február 26. - 11:23:48
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!
Cím: Legközelebbi játékos lekérdezése.
Írta: rhassi - 2014. Február 26. - 15:41:43
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.
Cím: Legközelebbi játékos lekérdezése.
Írta: TheChansee - 2014. Február 26. - 16:06:11
error 017: undefined symbol \"NearestPlayer\"
Cím: Legközelebbi játékos lekérdezése.
Írta: jana4 - 2014. Február 26. - 16:24:24
Írd a kód elé, hogy stock. ...
Cím: Legközelebbi játékos lekérdezése.
Írta: TheChansee - 2014. Február 26. - 16:25:55
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.
Cím: Legközelebbi játékos lekérdezése.
Írta: rhassi - 2014. Február 27. - 19:27:55
Micsoda? Nálam mûködik.
Cím: Legközelebbi játékos lekérdezése.
Írta: TheChansee - 2014. Február 28. - 10:25:06
Zártam kösz.