hlmod.hu https://hlmod.hu/ |
|
AmxModX Alapozó 01. - Hello Világ! https://hlmod.hu/viewtopic.php?f=55&t=3401 |
Oldal: 1 / 1 |
Szerző: | Metal [ 2012.02.11. 22:06 ] |
Hozzászólás témája: | AmxModX Alapozó 01. - Hello Világ! |
AmxModX Alapozó 01. - Hello Világ! A következő egyszerű script nem fog semmit se csinálni, nem módosít értékeket, nem ad extra képességeket, csupán elindul, s fut. A plugin neve a „Helló, vila'g!” szöveget fogja tartalmazni, amit le is lehet ellenőrizni majd a szerveren, amint betettük a futó plugin listába. Kód: #include <amxmodx> A program első sora egy #include utasítás, hatására az előfeldolgozó (preprocesszor) erre a helyre bemásolja a megnevezett állomány tartalmát. Ebben az esetben ez a amxmodx.inc állomány. A hegyes zárójel (kisebb, nagyobb jel, „kacsacsőr”) arra utal, hogy az amxmodx.inc állomány a fordító részére megadott ún. „include path” által definiált helyen van. A következő nem üres sor a "plugin_init" függvény definíciója. A plugin_init függvény az egyik speciális függvény az AMX Mod X scriptekben, amely a plugin indításakor mindenképp meghívódik.. Az public megadja, hogy a "plugin_init" függvény mindenhol látható, publikus, így native függvényekkel is elérhető. A függvény neve utáni nyitó és csukó zárójelek között adhatóak meg a függvény esetleges paraméterei, de jelenleg a plugin_init-nek nem léteznek paramnéterei. A kapcsos zárójel a függvény törzsének kezdetét jelzi. A következő sor „meghívja”, vagy futtatja a register_plugin függvényt. Az „include”-olt állomány, az amxmodx.inc tartalmazza a register_plugin függvény meghívásának leírását („prototípusát”, „deklarációját”). Ebben az esetben, a register_plugin függvényt 3 paraméterrel hívjuk meg, mégpedig egy fix szöveggel („string literal”): „Helló, vila'g!”, egy 1.0-ás lebegőpontos számmal és egy “Metal” stringgel. Ezek az alap paraméterei a függvénynek melyeket szigorúan vesszővel választunk el. A return utasítás jelenti a kilépést az aktuális függvényből (ami ebben az esetben a plugin_init), és megadja a hívónak visszaadandó értéket (esetünkben PLUGIN_CONTINUE-t, ami visszaadja a vezérlést a HL enginenek, hogy befejezhesse az eredeti parancs futását. Mivel a plugin_init nem része a HL motorjának, hanem a pluginok úgynevezett “main” függvénye, így a return sor el is hagyható, a program anélkül is lefordul. Végül a záró kapcsos zárójellel jelezzük a „main” függvénytörzs végét. Felépítése Egy AMX Mod X-ban írt plugin tartalmaz függvényeket és változókat. A függvények hasonlítanak a FORTRAN függvényeire (function) és alrutinjaira (subroutine) vagy a Pascal függvényeire (function, procedure). A plugin_init () egy speciális függvény, ahol a plugin „elkezdődik”, ez azt jelenti, hogy minden pluginnak tartalmaznia kell egy plugin_init() függvényt. Fontos megjegyezni, hogy maga az AMX MOd X eseményvezérelt, a legtöbb esetben a különböző eseményekre tudunk függvényeket írni, viszont az eseményeket kiváltó dolgokat már az elején meg kell határozni. Ehhez a plugin_init függvény nyújt segítséget, ugyanis ebben a függvényben írhatjuk meg a különböző események észlelésekor végrehajtandó függvényeket. (Például a saybe írt /me, vagy akár egy ugrás is kiválthat eseményeket) Általában már maga a plugin_init () „meghívhat” más függvényeket, a feladatok elvégzésére vagy mi írjuk meg ezeket a függvényeket, vagy egy külső függvénygyűjteményből (könyvtár, angolul library) kerülnek ki; az utóbbiak elérhetősége ún. fejléc-állományok (header) beillesztésével biztosítható, az előfordító (preprocessor) #include utasításával. Bizonyos könyvtári függvények, mint a register_plugin() a fenti példában, az AMX Mod X szabvány által definiáltak, ezek a szabvány könyvtárban megtalálható függvények. (Egy olyan AMX Mod X implementációt, amely tartalmaz minden szabványos könyvtári funkciót, „befogadott implementáció”-nak nevezünk.) Más könyvtárak plusz lehetőségeket biztosítanak, például bonyolult matematikai megoldások, magasabb szintű engine módosítások, stb. |
Szerző: | BeepBeep [ 2012.02.11. 22:46 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 01. - Hello Világ! |
betehetted-volna-kódba |
Szerző: | Metal [ 2012.02.11. 22:55 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 01. - Hello Világ! |
Jogos. Frissítve BeepBeep írta: betehetted-volna-kódba
|
Szerző: | VirTuaL ~` [ 2012.03.06. 19:18 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 01. - Hello Világ! |
A tut. első sorában elírtál 1 szót.Pontosabban ezt: (kpeségeket). |
Szerző: | IrOn [ 2012.03.06. 19:21 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 01. - Hello Világ! |
xD valamibe bele kell kötni |
Szerző: | VirTuaL ~` [ 2012.03.06. 19:22 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 01. - Hello Világ! |
Nem belekötésből,hanem idézem az 1ik tutoriáljából: Kód: Megkérnék mindenkit arra hogy ha netán bármi hibát észlel, lehet akár nyelvtani, vagy hibás információ, jelezze, s frissítem a posto(ka)t. |
Szerző: | Metal [ 2012.03.06. 20:25 ] |
Hozzászólás témája: | Re: AmxModX Alapozó 01. - Hello Világ! |
Up virtualcfg írta: Nem belekötésből,hanem idézem az 1ik tutoriáljából:
Kód: Megkérnék mindenkit arra hogy ha netán bármi hibát észlel, lehet akár nyelvtani, vagy hibás információ, jelezze, s frissítem a posto(ka)t. |
Oldal: 1 / 1 | Minden időpont UTC+02:00 időzóna szerinti |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |