Új AMXX menürendszer - orosz közösség scripting AMXX
- Ha létrehoz egy menüt, amely nem változtatja meg a beállításokat (állandó), akkor a legjobb, hogy hozza létre a globális. Nem kell pusztítani, és újra több alkalommal.
- Ha nebhodimo igazítsa a szöveget a menü jobb oldalán, majd a \ R.
- A menü nem jelenik meg, ha nincs lehetőség.
- Annak érdekében, hogy távolítsa el a menü megjelenítése a játékos a képernyőn, akkor a kód:
Kód: Az összes show_menu (id 0. "^ n" 1 ..) - A listát a színek, amelyek segítségével létrehozásakor menü:
- White - \ w
- Sárga - \ y
- Piros - \ r
- Szürke - \ d
funkciók:
- létrehozása menük
Kód: Egész kiválasztása menu_create (cím # 91; # 93;, felvezető # 91; # 93;, ml = 0)
cím - a címe a megjelenő menüben a tetején.
handler - funkció, ami kölcsönhatásba, amikor volt egy gomb megnyomásával az alábbi lehetőségek közül.
ml - használt kialakulását többnyelvű menü. - Hozzáadása menüpont
Kód: Egész kiválasztása menu_additem (menü const nevét. # 91; # 93;, const parancs # 91; # 93;, paccess = 0. visszahívási = - 1)
menü - menü amivel kölcsönhatásba lépnek.
neve - a név a menüpont (a számozás automatikusan történik).
parancs - az információt, hogy küldjük el, ha ezt a lehetőséget.
paccess - szintű hozzáférés ezt az opciót (admin zászló).
visszahívás - ha ez az opció engedélyezve van (ez lehet az eredménye menu_makecallback funkció), akkor hívja meg a függvényt, hogy megjelenjen a lehetőségek a képernyőn, amely megadja a lehetőséget, hogy módosítsa a lehetőséget, valós időben. - Beállítás menü tulajdonságok
Kód: Egész kiválasztása menu_setprop (menü prop ..)
menü - menü amivel kölcsönhatásba lépnek.
prop - Property menüben. - A menü megjelenítésével
Kód: Egész kiválasztása menu_display (id menü oldal ..)
id - a játékos index, amire szükségünk van, a menü megjelenítéséhez.
menü - menü meg akar mutatni.
oldal - menü a kijelző kezd. - megsemmisítés menü
Kód: Egész kiválasztása menu_destroy (menü)
menü - egy menüt, meg kell semmisíteni. Hívása után ez a funkció használatához szükséges visszatérés PLUGIN_HANDLED. - Kérjen információt a menüpontok
Kód: Egész kiválasztása menu_item_getinfo (menüpont .. hozzáférést. parancs # 91; # 93;, cmdlen. név # 91; # 93; = "". namelen = 0. callback)
menü - a menü, ahonnan információt szerezni.
tétel - a lehetőséget, hogy melyik információra van szüksége.
hozzáférés - a hozzáférési szintet a megadott opciót.
parancs - által továbbított adatok ezt az opciót.
cmdlen - az adatok hosszát.
neve - a név a menüpontok.
namelen - a név hossza.
visszahívás - értékét visszahívás. - Ahhoz, hogy hozzá egy üres opció (üres)
Kód: Egész kiválasztása menu_addblank (menü slot = 1).
menü - menü, amely egy művelet végrehajtásához.
slot - Ha az érték nagyobb, mint 0, akkor növeli a rések egy adott idő alatt.
Ez csak akkor használható után menu_additem. - Mégsem menü Player
Kód: Egész kiválasztása menu_cancel (játékos)
játékos - a játékos, aki meg akarja szakítani a menüt, a menü képernyőn maradnak játékos, de minden művelet törlődik. - A lehetőségek száma a menü
Kód: Egész kiválasztása menu_items (menü)
menü - menü, ami szükséges, hogy megkapjuk a lehetőségek száma. - Oldalak száma a menüben
Kód: Egész kiválasztása menu_pages (menü)
menü - menüben, amely eléréséhez szükséges az oldalak számát. - Egy callback egy menüpont
Kód: Egész kiválasztása menu_item_setcall (menüpont = callback - 1 ..)
menü - menü, amellyel a kölcsönhatás lép fel.
tétel - menüpont.
Visszahívás - érték a visszahívás. - Állítsa be a parancsot, hogy a menüpont
Kód: Egész kiválasztása menu_item_setcmd (menüpont cmd .. # 91; # 93;)
menü - menü, amellyel a kölcsönhatás lép fel.
tétel - menüpont.
cmd - parancs lehetőségeket. - Állítsa be a nevét a menüpontok
Kód: Egész kiválasztása menu_item_setname (menüpont neve .. # 91; # 93;)
menü - menü, amellyel a kölcsönhatás lép fel.
tétel - menüpont.
neve - a név a lehetőséget. - Létrehozása visszahívási funkció
Kód: Egész kiválasztása menu_makecallback (függvény # 91; # 93;)
funkció - a függvény nevét a visszahívás.
Ez a funkció halad érvek játékos id, id és id menüpont:
Kód: Egész kiválasztása közfeladatá- (id menüpont ..)
A funkció vissza a következő értékeket: ITEM_IGNORE, ITEM_ENABLED vagy ITEM_DISABLED.
Létrehozása az alap menüt (egyszerű példa)
Kód: Egész kiválasztása #include
nyilvános plugin_init ()
// Az adatok a bővítmény
// Az ügyfél csapat a menü megnyitásához
register_clcmd ( "my_menu". "My_Menu")
>
// Létrehozunk egy függvényt, amely generálja a menü
nyilvános My_Menu (id)
// Először létre kell hozni egy változót a menü, amely azt fogja dolgozni a jövőben
új i_Menu = menu_create ( "\ rTitle én menü:" "menu_handler".)
// Most adjunk hozzá néhány lehetőséget a menüből
menu_additem (i_Menu. "\ wFirst opció # 1". "1". 0)
menu_additem (i_Menu. "\ wSecond opció # 2", "2". 0)
menu_additem (i_Menu. "\ wAdmin opció # 3." "3". ADMIN_ADMIN)
// Állítsa be a menü tulajdonságok
menu_setprop (i_Menu. MPROP_EXIT. MEXIT_ALL)
// megjeleníti a lejátszó menüjében
menu_display (id. i_Menu. 0)
>
// Létrehozunk egy menü akciók Most dolgozzuk funkció
nyilvános menu_handler (id. menü. tétel)
// Ha a játékos megüt ki a menüből
if (elem == MENU_EXIT)
// Destruction menü
menu_destroy (menü)
// Most hozza létre a szükséges változókat, hogy információt szerezzenek a menüt, és nyomja meg az opció
új s_Data # 91; 6 # 93;, s_Name # 91; 64 # 93;, i_Access. i_Callback
// A tájékoztatás a lehetőségek
menu_item_getinfo (menü. tétel. i_Access. s_Data. charsmax (s_Data) s_Name. charsmax (s_Name) i_Callback)
// Ha megnézzük a korábbi használó menu_additem, azt látjuk, hogy az általunk küldött néhány információt
// Ebben az esetben, az összes információ - egész
új i_Key = str_to_num (s_Data)
// Most azt látjuk, hogy milyen lehetőséggel éltek
kapcsolót (i_Key)
1. eset:
client_print (id. print_chat. "Te kiválasztott első választási lehetőség")
// Destruction menü
menu_destroy (menü)
visszaút PLUGIN_HANDLED
>
2. eset:
client_print (id. print_chat. "Te választott második lehetőség")
>
3. eset:
client_print (id. print_chat. "Te választott admin lehetőség")
>
>
// Destruction menü
menu_destroy (menü)
visszaút PLUGIN_HANDLED
>
Létrehozása menü generált játékos a szerveren
Kód: Egész kiválasztása #include
#include
nyilvános plugin_init ()
// Az ügyfél csapat a menü megnyitásához
register_clcmd ( "my_menu". "My_Menu")
>
nyilvános My_Menu (id)
// Először létre kell hozni egy változót a menü, amely azt fogja dolgozni a jövőben
új i_Menu = menu_create ( "\ rPlayer menü:" "menu_handler")
// szüksége van egy változót, hogy szükség lesz a levezetés a játékosok menü
új s_Players # 91; 32 # 93;, i_Num. i_Player
// Változó információ tárolására a játékosok
új s_Name # 91; 32 # 93;, s_Player # 91; 10 # 93;
// Az tömb játékos
get_players (s_Players. i_Num)
// Áthurkolt a játékosok
az (új i; i
// tárolja az aktuális játékos i_Player
i_Player = s_Players # 91; én # 93;
// A név és az ID a játékos
get_user_name (i_Player. s_Name. charsmax (s_Name))
num_to_str (i_Player. s_Player. charsmax (s_Player))
// hozzáadása opciót a lejátszó
menu_additem (i_Menu. s_Name. s_Player. 0)
// hoztunk létre egy menü a játékosok jelen a szerveren, most szedi
menu_display (id. i_Menu. 0)
>
nyilvános menu_handler (id. menü. tétel)
if (elem == MENU_EXIT)
menu_destroy (menü)
visszaút PLUGIN_HANDLED
>
új s_Data # 91; 6 # 93;, s_Name # 91; 64 # 93;, i_Access. i_Callback
menu_item_getinfo (menü. tétel. i_Access. s_Data. charsmax (s_Data) s_Name. charsmax (s_Name) i_Callback)
// Az azonosító a játékos, aki a menüből választható
új i_Player = str_to_num (s_Data)
// Ellenőrizze, hogy a játékos él
if (is_user_alive (i_Player))
// állítsa az egészségügyi 100 LE
set_user_health (i_Player. 100)
menu_destroy (menü)
visszaút PLUGIN_HANDLED
>
Létrehozása menü szavazásra
Kód: Egész kiválasztása #include
// tárolásához golsoovany menü
új g_VoteMenu
// tárolása a szavazatokat minden opció
új g_Votes # 91; 2 # 93;
// Annak ellenőrzésére, ha a szavazás már fut
új g_Voting
nyilvános plugin_init ()
register_clcmd ( "start_vote". "StartVote")
>
nyilvános StartVote (id)
// Ha a szavazás már fut, akkor kilép
if (g_Voting)
client_print (id. print_chat. "Már van egy szavazás lesz.")
// Visszatérünk PLUGIN_HANDLED, hogy a játékos konzol nem volt ismeretlen parancs üzenete
visszaút PLUGIN_HANDLED
>
g_VoteMenu = menu_create ( "\ rVote Menü:" "menu_handler".)
menu_additem (g_VoteMenu. "Szavazz Opció 1". "0". 0)
menu_additem (g_VoteMenu. "Szavazz Opció 2". "1". 0)
új s_Players # 91; 32 # 93;, i_Num. i_Player
get_players (s_Players. i_Num)
az (új i; i
menu_display (i_Player. g_VoteMenu. 0)
// növelése tudni, hogy hány szavazatot játékosok
g_Voting ++
>
// állítsa le a szavazást, 10 másodperc
set_task (10,0. "EndVote")
nyilvános menu_handler (id. menü. tétel)
if (elem == MENU_EXIT)
visszaút PLUGIN_HANDLED
új s_Data # 91; 6 # 93;, s_Name # 91; 64 # 93;, i_Access. i_Callback
menu_item_getinfo (menü. tétel. i_Access. s_Data. charsmax (s_Data) s_Name. charsmax (s_Name) i_Callback)
// Polchaem információkat az opció
új i_Vote = str_to_num (s_Data)
// Növekszik a szavazatok száma ezt az opciót
g_Votes # 91; i_Vote # 93; ++
nyilvános EndVote ()
// Ha az első lehetőség nyert több szavazatot, mint a második
if (g_Votes # 91; 0 # 93;> g_Votes # 91; 1 # 93;)
client_print (0 print_chat. "Első lehetőség kapta a legtöbb szavazatot (.)". g_Votes # 91; 0 # 93;)
// Egyébként, ha a második opció nyert több szavazatot, mint az első
else if (g_Votes # 91; 1 # 93;> g_Votes # 91; 0 # 93;)
client_print (0 print_chat. "Második lehetőség kapta a legtöbb szavazatot (.)". g_Votes # 91; 1 # 93;)
// Egyébként azonos számú szavazatot
más
client_print (0 print_chat. "A szavazás holtversenyben. szavaz minden.". g_Votes # 91; 0 # 93;)
// visszaállítása Az információ, hogy a játékosok szavazás
g_Voting = 0
>
Hozzon létre egy menü almenüket
Kód: Egész kiválasztása #include
nyilvános plugin_init ()
register_clcmd ( "my_menu". "My_Menu")
>
nyilvános My_Menu (id)
új i_Menu = menu_create ( "\ rmy menü:" "menu_handler")
menu_additem (i_Menu. "\ wFirst opció # 1". "1". 0)
menu_additem (i_Menu. "\ wSub-menü # 2". "2." 0)
menu_setprop (i_Menu. MPROP_EXIT. MEXIT_ALL)
menu_display (id. i_Menu. 0)
>
nyilvános menu_handler (id. menü. tétel)
if (elem == MENU_EXIT)
menu_destroy (menü)
visszaút PLUGIN_HANDLED
>
új s_Data # 91; 6 # 93;, s_Name # 91; 64 # 93;, i_Access. i_Callback
menu_item_getinfo (menü. tétel. i_Access. s_Data. charsmax (s_Data) s_Name. charsmax (s_Name) i_Callback)
új i_Key = str_to_num (s_Data)
kapcsolót (i_Key)
1. eset:
client_print (id. print_chat. "Te kiválasztott első választási lehetőség")
>
2. eset:
// megnyitása almenü
Sub_Menu (id)
>
>
menu_destroy (menü)
visszaút PLUGIN_HANDLED
>
nyilvános Sub_Menu (id)
// Létrehozunk egy új menü, de az akció lesz egy másik feldolgozó funkció
új i_Menu = menu_create ( "\ rSub-Menu:". "submenu_handler")
menu_additem (i_Menu. "\ wSub-opció # 1." "1". 0)
menu_additem (i_Menu. "\ wSub-opció # 2", "2". 0)
menu_setprop (i_Menu. MPROP_EXIT. MEXIT_ALL)
menu_display (id. i_Menu. 0)
>
nyilvános submenu_handler (id. menü. tétel)
if (elem == MENU_EXIT)
menu_destroy (menü)
// Ha a játékos a szerveren, megjelenik a főmenü
if (is_user_connected (id))
My_Menu (id)
új s_Data # 91; 6 # 93;, s_Name # 91; 64 # 93;, i_Access. i_Callback
menu_item_getinfo (menü. tétel. i_Access. s_Data. charsmax (s_Data) s_Name. charsmax (s_Name) i_Callback)
új i_Key = str_to_num (s_Data)
kapcsolót (i_Key)
1. eset:
client_print (id. print_chat. "Te választott első al-opció")
>
2. eset:
client_print (id. print_chat. "Te választott második al-opció")
>
>
// Ha azt szeretnénk, hogy a főmenü megjelenítéséhez, majd
My_Menu (id)
Ne írjon nekem egy PM. Ha segítségre van szüksége, ingyenesen. Bármilyen kérdése van a fórum.