Szerző Téma: Egy bizonyos távolságig teljesülõ parancs[kezdõ]  (Megtekintve 497 alkalommal)

Nem elérhető KrisT

  • 106
    • Profil megtekintése
Egy bizonyos távolságig teljesülõ parancs[kezdõ]
« Dátum: 2014. Augusztus 20. - 21:05:02 »
0 Show voters
Sziasztok!

Hogyan tudnék egy olyan parancsot létrehozni, ami olyat tesz, hogy egy bizonyos körben hat a parancs, például, ha írok valamit, tõlem való X átmérõjû körben lévõ játékosok lássák azt?


Leírnátok magyarázással a parancsot, légyszíves?
« Utoljára szerkesztve: 2014. Szeptember 19. - 12:39:14 írta Flash »

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Egy bizonyos távolságig teljesülõ parancs[kezdõ]
« Válasz #1 Dátum: 2014. Augusztus 20. - 21:17:11 »
0 Show voters
Üdv.
 
CMD:teszt(playerid, params[]) { //létrehozzuk a \"teszt nevû parancsot\".
new Float:x, Float:y, Float:z; //Létrehozunk 3, lebegõpontos (tört) számot tároló változót (x, y illetve z)
GetPlayerPos(playerid, x, y, z); //A parancsot beíró játékosnak (playerid) x, y, és z koordinátáját lekérjük az imént létrehozott három változóba
for(new i = 0; i < MAX_PLAYERS; i++) { //Létrehozunk egy ciklust, ezen belül: {i változó, alap értéke 0. i++, azaz minden lefutás után megnöveljük eggyel, i < MAX_PLAYERS, azaz addig futtatjuk le a ciklust, növeljük az i-t, futtatjuk, növeljük, amíg ez a feltétel igaz.}
//A cikluson belül:
//Ez a rész ugye lefut 500-szor (ennyi a max_players definíció alapból), úgy, hogy az i értéke 0, majd 1, 2, 3, 4... tehát, hogyha a playerid helyett i-t használunk, minden egyes játékossal elvégzi azt a mûveletet.
if(!IsPlayerConnected(i)) continue; //a ciklusnak lépjünk a következõ lefutására (hagyjuk ki az ez után következõ részt, növeljük eggyel az i-t, és futtassuk le újra a ciklust, amennyiben a megadott feltétel igaz), tehát vegyük semminek a ciklus ez után következõ részét, amennyiben a feltétel igaz.
if(IsPlayerInRangeOfPoint(i, 10.0, x, y, z)) { //Ha az i-edik játékos a közelében van, elküldjük neki. Ez megtörténik minden egyes játékossal, tehát minden játékos AKI a közelében van, megkapja az üzenetet.
   SendClientMessage(i, -1, \"A teszt parancsot beíró játékos 10 méteres körzetében vagy a parancs beírásának pillanatában.\");
}
}
return 1; ///visszatérünk 1-el, melynek a szerepe az, hogy jelezzük a parancskezelõnek, hogy a parancsunk sikeresen lefutott.
}

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Egy bizonyos távolságig teljesülõ parancs[kezdõ]
« Válasz #2 Dátum: 2014. Szeptember 03. - 11:28:58 »
0 Show voters
[mod]Kedves témanyitó! Kérlek ne hanyagold el a témát ha már megnyitottad![/mod]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal