Hogyan hozzunk létre egy plugint! Make-amxserv - szerencsejáték portál

Hogyan hozzunk létre egy plugint! Make-amxserv - szerencsejáték portál

A cikk arról szól, hogyan kell építeni egy plug-in

ezt olvassuk:
Kezdjük egy egyszerű: a kijelző üzeneteit. Mi jön egy csapat, amely meg fog tenni: amx_ helloworld, amx_ szia vagy helló. Meg kell tudni, ha akarnak, adja meg a megfelelő parancsot, és megjeleníti a felirattal: hello world, szia vagy „Privet 4 itaki” ().

Minden ellenőrzik? Menjünk!

Plug-in kell plugin_ init () függvény. Minden, ami be van dugva az adott funkciót lesz bejegyezve az AMX, amely tudott használni a plug-in: nyilvános plugin_init () register_plugin ( "Hello világ", "0.1", "jghg")
>

De ez nem elég a célra. Kell egy csapat, amely képes lesz használni, és ehhez meg kell regisztrálni a plugin_ init () függvény. Kiadni a parancsokat a szerver konzolon vagy az ügyfél kell egy nutria plugin_ init (), hogy nem lenne képes élvezni. plugin_ init () fontos sok más okból, ami megtudhatja a későbbi leckéket. Funkció plugin_ init (), mint egy üzenetet AMXMod, hogy suschestvket a beépülő modul, és ha valami történik (a bevezetése a csapat) juzat ego.register_clcmd ( "amx_helloworld", "myFunction" A DMIN_VOTE "Prints Hello world. Mindenkinek")

Így a függvény plugin_ init () így néz ki: public plugin_init () register_plugin ( "Hello világ", "0.1", "jghg")
register_clcmd ( "amx_helloworld", "myFunction" ADMIN _VOTE "mondja Hello world. a játék képernyő")
Tartsa a behúzás, vagyis Használja a „fül”, vagy például a hézagok az írásban funkciókat. Nyitott minden. sma fájl mellékelt AMX, és meg fogod érteni, mire gondolok. Ez egyszerűsíti a válogatás és a bővítmény kell összeállítani hatékonyabban. Ahogyan ez megkönnyíti a vizsgálatot a bővítmény más fejlesztők számára. Sokkal könnyebb megérteni a strukturált kódot, mint egy bordélyházban. Vannak még jó ok, de nem megyek bele.

Add a sor adatait. Jelen kell lenniük a plugin: #include
#include

Már írt elég sokat. Kell ehhez hasonló van: / *
Helló világ, v0.1
által JGHG
* /

nyilvános plugin_init () register_plugin ( "Hello világ", "0.1", "jghg")
register_clcmd ( "amx_helloworld", "myFunction" ADMIN _VOTE "mondja Hello world. a játék képernyő")

Mindig tartsa írva. Ki tudja, ha a villamosenergia-kikapcsol. Megpróbálja lefordítani a dugó. Ha vannak hibák, azok könnyebben megtalálja őt, mint majd válasszon egy halom kódot. Ez jelentősen leegyszerűsíti a hibaelhárítás.

Mentse el a dugót, és futtassa a sc. denevér. sc. bat - ez egy batch fájlt, ami meg fogja keresni az összes SMA-fájl a könyvtárban forrást. Lefordítja és hozza egy könyvtárban összeállítani. AMX. Ha azt szeretnénk, hogy csak azokat az plug-in, akkor meg kell kezdeni sc. exe egy paraméter megegyezik a fájl nevét, amelyben az elmentett plugin (sc. exe helloworld. SMA). .amx fájlkiterjesztés tárolja az aktuális könyvtárban.

Ha valami nem fordul le, ellenőrizze a helyesírást a dugó.

Továbbra is írni, az utolsó funkció - egy figyelmeztető üzenet jelenik meg a képernyőn. Mi már lefoglalt egy végrehajtandó parancsot a konzol üzenet jelenik meg a képernyőn is rögzíteni. Most, hogy hozzon létre egy függvényt, amely meg fog tenni mindent: nyilvános myFunction (id, szint, CID), ha cserébe PLUGIN_HANDLED (cmd_access (id, szint, CID, 1)!)
>
>

Nem fogok festeni, hogy a funkció cmd_ hozzáférés (). Csak azt tudom mondani, hogy ellenőrzi, hogy az ügyfél használja ezt a parancsot.

Id használják különböző módon. A cmd_ hozzáférés () által id ellenőrzik a hozzáférés szintjét a felhasználótól folyású, és senki más. Remélem, ez érthető.

A következő sort: client_print (0, print_center "Hello world".)

Ez a vonal kód, amely felelős a nyomtatást az ügyfél üzenetet. A lient_ nyomat a függvény nevét, amely három paramétert (hosszabb ideig is eltarthat, de más osztályokba). Az első paraméter (0) felelős, akinek a parancs jelenik meg. Ha fel az azonosító számát, a játékos, akkor az üzenet jelenik meg neki, és az Ön számára. Ebben az esetben lenne levezetni mind jelen vannak a szerver (halott vagy élő). Ie mikor kell csinálni az összes, vagy valami, hogy mindenki tudja, hogy kell használni a 0. A második paraméter meghatározza, hogy hol jelenik meg az üzenet. Tudod, hogy egy üzenetet a chat terület - print_ chat, vagy print_ értesíti - csak akkor jelenik meg a konzolon. És a harmadik lehetőség - maga az üzenet. Az a tény, hogy az idézőjelek az az üzenet, hogy lesz nyomtatva a képernyőn. Ne pazarolja az idézetek.

Majdnem írtam az első plugin. Továbbra is csak a hozzá a következő sort myFunction function (): visszatérés PLUGIN_HANDLED

Ez egy fontos vonalon. Lehetetlen, hogy elveszíti. Ne feledje, ez az utolsó dolog, amit meg kell adni az összes funkciót, amelyek kiváltják a parancsok beírt a konzol a szerver vagy a kliens konzol. Ha nem, az AMX nem fogja tudni, hogy mi a parancs végrehajtásakor, egy üzenet jelenik meg a képernyőn, és a konzol jelenik meg a következő hibaüzenet: Ismeretlen parancs: amx_helloworld

Ezért mindig befejezzük a visszatérés PLUGIN_HANDLED funkciót.

Minden bővítmény a következőképpen néz ki: / *
Helló világ, v0.1
által JGHG
* /

nyilvános myFunction (id, szint, CID) if (! cmd_access (id, szint, CID, 1)) visszatérési PLUGIN_HANDLED
>

nyilvános plugin_init () register_plugin ( "Hello világ", "0.1", "jghg")
register_clcmd ( "amx_helloworld", "myFunction" ADMIN _VOTE "kinyomtatja Hello world. mindenkinek")

Kapcsolódó cikkek