hlmod.hu
https://hlmod.hu/

[TUT] Általános dolgok
https://hlmod.hu/viewtopic.php?f=24&t=4206
Oldal: 1 / 1

Szerző:  oroszrulett [2012.04.26. 16:32 ]
Hozzászólás témája:  [TUT] Általános dolgok

Sziasztok!
Ebben a "Tutorial"-ban a legtöbbször használatos parancsokat, változókat, és egyéb mindenségeket fogok bemutatni, amelyek a plugin íráshoz elengedhetetlenek.
Kód:
  1. #include <amxmodx>

  2. #include <amxmisc>

Ezek segítségével betallózzuk azokat az INC-eket, amelyek szükségesek az adott kód tömörítéséhez.
INC-ek listája:
http://amxmodx.crys.hu/site/compiler/inclist.php

Készítő definiálása:
Kód:
  1. #define PLUGIN "New Plug-In" // Plugin neve

  2. #define VERSION "1.0" // Verziószám

  3. #define AUTHOR "author" // Készítő neve

( Ezt csak akkor használhatod, hogy ha plugin_init-ben a PLUGIN, VERSION, AUTHOR van megadva ebben a sorrendben! )

Vagy használhatsz konstantot is:
Kód:
  1. new const PLUGIN = "New Plug-in";

  2. new const VERSION = "1.0";

  3. new const AUTHOR = "author";

Ez is csak azzal a feltétellel működik, amivel az előző. )

Nos, ha ezeken túlvagyunk, akkor jöhet maga a plugin.

Először is nézzük meg a new, new const, new float, new:bool -t.
Kód:
  1. new NEV = "érték", vagy érték; // Csak akkor kell "" jelek közé tenni, hogy ha az szükséges ott, ahol használni akarjuk.

  2. new NEV[Mennyi sorunk van vesszővel elválasztva -1] = { /* Ennek használata:*/ ..."%s", NEV[Ahanyadik sort akarjuk meghívni -1]...

  3.      "Első sor",

  4.      "Mégegy sor"

  5. }

  6. new const NEV = "érték", vagy érték  // Csak akkor kell "" jelek közé tenni, hogy ha az szükséges ott, ahol használni akarjuk. Különlegessége: Értéke nem változtatható, viszont dekradáláskor kötelező azt megadni.

  7.  

  8. new bool:NEV = true / false // Igaz-hamis tömb: Értéke igaz, vagy hamis.

  9. new float:NEV = "1.0" vagy 1.0 // Tört ( lebegőpontos ) érték megadása.

  10.  

Ezekről bővebb infót találsz:
http://amxmodx.crys.hu/site/forum/viewtopic.php?f=55&t=3408

Ezek után jön kötelezően a plugin_init().

Kód:
  1. public plugin_init() {

  2.         register_plugin(PLUGIN, VERSION, AUTHOR) // Itt regisztráluk ugye magát a plugint.( azokkal a definiált értékekkel, amiket korábban említettünk. )

  3. }

 
       Fontosabb "register_" parancsok, amiket a plugin_init-ben adhatsz meg:
       
Kód:
  1. register_clcmd("say /parancs","cmd",ADMIN_JOG, "Leírás") // Játékosparancs

  2.                  say /parancs : //Ezzel azt éred el, hogyha a chat-be beírja egy jómadár, hogy /parancs, akkor meghívja neki azt a tömböt, amit beállítassz neki. say /parancs- ot megváltoztathatod bármire, ha kiveszed a say-t, akkor konzolba írandó parancs lesz.

  3.                 cmd : //Ez az a funkció, amit meghív a játékos, ha beírja a parancsot. Ez is átírható, csak a hozzá tartozó funkciót el kell készítened.

  4.                  ADMIN_JOG : //Nem kötelező megadni, csak ha azt szeretnéd, hogy csak admin használhassa a parancsot

  5.                   "Leírás" :  //Ezt sem kötelező megadni, csak ha admin parancs. ( de akkoris meglehet, ha nem az, de admin parancsoknál szokás.)

  6.                  //

  7.  

  8. register_cvar("amx_cvar","1") // Kvár ( változó ) készítés

  9.                 amx_cvar ://A Cvar parancsa, olyan, mint például az sv_gravity

  10.                 1 : //A Cvar értéke : Ez lehet szám, karaktersorozat ( szöveg ), vagy tört.

  11. register_event("Coming Soon")

  12.  

  13. }


Most átugrunk pár érdektelen dolgot, és a funkciókkal folytatjuk.
Legtöbbet használt funkciók:

Chat-be való íratás:
Kód:
  1. client_print(cliens, kiírás_helye, "szöveg", egyéb)

  2.                  cliens : //Ez lehet id, 0, és általunk definiált is. ( és lehet még sok más, de csak a leghasználatosabbakat írtam le.

  3.                  kiírás_helye:// Ez lehet:

  4.                                                 print_chat // Chat-ba ír

  5.                                                 print_center // Képernyő közepére ír

  6.                                                 print_message // Hát.... :)

  7.  

HUD üzenet írása:
Kód:
  1. set_hudmessage(r,g,b,xpos,ypos,effekt,valami,ido)

  2.                 r, g, b :// red, green, blue ( piros, zöld, kék ) : Kiírás színének megadása. Max értékük 255, minimum 0. Fehér színt 255 255 255 értékekkel érhetünk el, vagy egyenlő számok beírásával.

  3.                 xpos, ypos :// Az üzenet X tengely, és Y tengelyen való elhelyezése.

  4.                 effekt : //Üzenet effektusának megadása: Értéke lehet 0, 1, 2. 0: alap | 1:villog | 2:betűzve jelenik meg.

  5.                 ido : //Üzenet kiírási idejének megadása másodpercben.

  6.  

Játékos adatainak lekérése és változtatása, és egyéb a játékosra vonatkozó funkciók:
http://amxmodx.crys.hu/site/?p=funkciok&f=site_list_all Itt megtalálod majdnem az összes mindenséget.

Mára ennyi, de szinte minden nap UPDATE-elni fogom a Tutorialt, észrevételeiteket javítom. :)

Szerző:  Silent [2012.04.26. 16:45 ]
Hozzászólás témája:  Re: [TUT] Általános dolgok

Ha gépnél leszek reagálok rá.

Szerző:  kiki [2012.04.26. 17:00 ]
Hozzászólás témája:  Re: [TUT] Általános dolgok

De addig berakhatnád kukába majd ott elolvassa a választ!

Szerző:  fuck604 [2012.04.26. 17:12 ]
Hozzászólás témája:  Re: [TUT] Általános dolgok

set_hudmessage(r,g,b,xpos,ypos,effekt,valami,ido)

Nájsz:DDD

Szerző:  Silent [2012.04.26. 17:17 ]
Hozzászólás témája:  Re: [TUT] Általános dolgok

Tehát:

Eléggé fölösleges a tutorial, rengeteg ilyet találsz a fórumon. Sőt metal össze is gyűjtögette egy alfórumba a saját gondolatait. Aki tényleg tanulni akar, az onnan többet tanulhat.
Most pedig haladjunk végig a kódon:

Az amxmisc modul nem elengedhetetlen egy plugin megírásához, ha az pl. csak az alap amxmodx funkciókat használja. A készítőt sem MUSZÁJ definiálni, elég ha idézőjelek közé berakod a fgv-nél.
Most ebben külön nem mennék bele, hogy nem tudod a változók neveit, csak annyit róla, hogy ezek is megtalálhatóak a Metal által összegyüjtőtt tut-ok között.
Aztán láttam egy újabb hatalmas tévedést. A plugin_init() függvény NEM kötelező. A legtöbb esetben használják, de ha például csak a játékos csatlakozását akarod piszkálni, akkor fölösleges az init.
Aztán nem tudom honnan jött neked ez a szó, hogy "Kvár" de az nagyon rossz. Az eredeti jelentése ConVars -->> ConsoleVariables. Tehát Konzol Változók. Híresek arról, hogy egy egyszerű amx admin is tudja konzolból álligatni.

Utána láttam, hogy pár funkció leírását leírtad. Fölösleges, mivel itt vannak.

Örülök, hogy próbálsz segíteni, de 2x ugyanazt neírjuk le. Így sajnos megy a kukába :)

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/