Offline |
|
|
Csatlakozott:2011.06.01. 21:11 Hozzászólások:7965 Megköszönt másnak: 295 alkalommal Megköszönték neki: 537 alkalommal
|
Alap Menü - Egy alap menü készítése. (Pl.: Fegyver Menü) Játékos Menü - Egy menü amibe az itemek a játékosok. (Pl.: Kirúgás Menü) Szimpla Szavazó Menü - Szavazó menü készítése. (Mint egy alap pályaszavazó) Almenü - Almenü készítése, azaz egy menünek vannak almenüje is! Szavazó Menü - Szavazó menü készítése. (Extra dolgokkal, Pl.: Galileo Pályaszavazó) Egy menü több handlerrel - Több menü készítése egy handlerre! Menü visszahívás - Menüpontok visszahívása, részletek lent! newmenus.inc - Minden amit erről a függénykönyvtárról tudni kell! Jegyzetek - Fontos tudni még! Alap Menü top - Ez egy alap menü, nem mondok róla semmit, mert minden levan írva benne! #include <amxmodx> #include <cstrike> public plugin_init() { //..egyéb dolgok a pluginban, érdemes regisztrálni a plugint ha csak magában fogod használni! register_clcmd( "say /alapmenu","AwesomeMenu"); //Regisztráljuk a parancsot, a kliens parancsot, ez esetben a játékosnak ezt kell beírnia a konzolba: "say /alapmenu" //Erre a parancsra fog teljesülni az "AwesomeMenu" függvény, persze ennek lehet más is a neve, ezt te nevezed el, lehetőleg //ne olyan nevet adj ami már van, mert akkor hibát fog dobni! } //Ez a függvény fog teljesülni a parancsunk beírására, ez esetben ez fogja megnyitni a menünket! public AwesomeMenu(id) { //Első lépés a menü készítéséhez, azaz ez csinálja meg a menünket persze ennek még nincsennek menüpontjai! new menu = menu_create("\rValasz a menumbol:", "menu_handler"); //Jegyzet - menu_create //Az első paraméter a menü neve, ez lesz a menüpontok felett pár centivel (Jelen esetben: "\rValasz a menumbol:") \r-ről a lap alján írokű! //A második paraméter a menü végrehajtására szolgáló függvény elérése. (Jelen esetben "menu_handler") és ( public menu_handler(id, menu, item) ) //A menüpontok készítése: menu_additem(menu, "\wElso Menupont", "1", 0); menu_additem(menu, "\wIngyen penz", "2", 0); menu_additem(menu, "\wUzenet Kozepen", "3", ADMIN_MENU); //Jegyzet - menu_additem //Jelen esetben az első menüpont az "Elso Menupont", ez fog látszódni a menüdben! (Erre egy üzenetet fogunk kapni. Bővebben: Lejebb, és a menüt is megsemisítjük!) //A második menüpontunk az "Ingyen Pénz" lett, erre pénzt fogunk kapni! //A harmadik menüpont egy üzenetet fog kapni a játékos a képernyője közepén! //A harmadik menüpont csak adminoknak elérhető, azaz akinek van menü joga("u" betű) (Az admin jogokat az amxconst.inc-ben találod!) //Az ötödik egyben utolsó paraméter a visszatérés, alapértéke -1 (Magam sem tudom mire jó ez) //Set a property on the menu menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); //Jegyzet - menu_setprop //Az első paraméter a menü, tehát a menüd változója! //A második paraméter: //A harmadik paraméter: //Menü megnyitása, az elkészített menüt meg is kell jeleníteni, ne gondoljuk hogy magától megnyitódik! menu_display(id, menu, 0); //Jegyzet - menu_display //Az első paraméter az index, azaz az azonosítója a játékosnak! //Második paraméter az hogy melyik menüt mutassa (Jelen esetben amit én csináltam azaz: "menu") //Harmadik paraméter az oldalszámot jelöli, az oldalszámolás 0áról indul! } //Jöhetnek a menüpontokra történő dolgok (azé menu_handler mert azt adtuk meg a menü készítésénél) public menu_handler(id, menu, item) { //Ez az elágazás akkor fut le ha az illető a bezárásra kattint! if( item == MENU_EXIT ) { menu_destroy(menu); //Ez megsemmisíti a menünket, majd vissza tér PLUGIN_HANDLEDDEl, azaz hogy ne folytassa! return PLUGIN_HANDLED; } //Hozzuk létre ezt a néhány változót: new data[6], szName[64]; new access, callback; //Ez a funkció lekéri nekünk az információkat menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); //visszatekintunk a menu_additem parancsra, minden egyes menuponthoz kuldtunk adatot is, itt lesz "gyanus" a dolog (ezzel adhatod meg a funkciodat) new key = str_to_num(data); //en minden adathoz szamot hasznaltam (te barmilyen stringet hasznalhatsz) //Nos itt vannak a menüpontok, azaz hogy mi történik egy-egy menüponton! switch(key) { case 1: { client_print(id, print_chat, "Gratulalunk, sikeresen keszitettel egy menupontot!"); //Ezt a fenti üzenetet fogja megkapni a játékos, majd a menü megintcsak megsemmisül, és vissza térünk PLUGIN_HANDLEDel! menu_destroy(menu); return PLUGIN_HANDLED; } case 2: { cs_set_user_money(id, cs_get_user_money(id) + 3000); //Ez a második menüpont, a játékosunk kap 3000ezer dollárt a jelenlegi pénzéhez! } case 3: { //Ez a harmadik menüpont, ez csak adminoknak működik mint fentebb írtam! client_print(id, print_center, "Hello, en egy uzenet vagyok!"); } } //Majd zárjuk be a menüt, és térjünk vissza PLUGIN_HANDLEDel! menu_destroy(menu); return PLUGIN_HANDLED; }
Játékos Menü top*Jegyzet: Ebben már nem kommentelem le azokat a dolgokat amelyeket már az előzőben leírtam! -Ebben a menüben az online játékosok fognak szerepelni! #include <amxmodx> #include <fun> public plugin_init() { register_clcmd( "my_player_menu","AwesomeMenu"); } public AwesomeMenu(id) { //A menü készítése... new menu = menu_create("\rValaszd ki a jatekost:", "menu_handler"); //A ciklushoz szükséges változók létrehozása new players[32], pnum, tempid; //Változók létrehozása new szName[32], szTempid[10]; //Lekérjük az online játékosok számát get_players(players, pnum); //Ciklus lefutása annyiszor ahány játékos fentvan a szerveren! for( new i; i<pnum; i++ ) { //Elmentjük a players[i]-t tempid néven! tempid = players[i]; //Lekérjük a játékos nevét get_user_name(tempid, szName, charsmax(szName)); num_to_str(tempid, szTempid, charsmax(szTempid)); //Játékos hozzá adása a menübe, menüpontként! menu_additem(menu, szName, szTempid, 0); } //Megjelenítjük a menüt, amiben a játékosok nevei vannak! menu_display(id, menu, 0); } public menu_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); //Lekérjük a játékos szavazatát (jelen esetben a data) new tempid = str_to_num(data); //Ebben az elágazásban lecsekkoljuk hogy a kiválasztott játékos él-e! if( is_user_alive(tempid) ) { //Beállítja a kiválasztott játékos életét 100ra! set_user_health(tempid, 100); } menu_destroy(menu); return PLUGIN_HANDLED; }
Szimpla Szavazó Menü top*Jegyzet: Ebben már nem kommentelem le azokat a dolgokat amelyeket már az előzőben leírtam! Ez egy sima szavazó menü, nincs benne semmi extra! #include <amxmodx> //A szavazó menü változójának létrehozása: new gVoteMenu; //A szavazási lehetőségek létrehozása, ez esetben 2 az értéke! new gVotes[2]; //Ez a változó arra szolgál hogy leellenőrizze hogy a szavazás folyamatban van e már! new gVoting; public plugin_init() { //Regisztráljük a kliens parancsot, ez esetben ezt kell beírni a konzolba: start_vote register_clcmd( "start_vote","StartVote"); } public StartVote(id) { //Ebben az elágazásban leellenőrizzük hogy a szavazás folyamatban van e már! Ha igen akkor bele megy az elágazásba! if( gVoting ) { client_print(id, print_chat, "Sajnalom, a szavazas mar folyamatban van!"); //Visszatérünk PLUGIN_HANDLED-el hogy ne írja ki a konzolba hogy: "Unkown Command" return PLUGIN_HANDLED; } //Létrehozzuk a menüt gVoteMenu = menu_create("\rKerlek szavazz!:", "menu_handler"); //A menüpontok menu_additem(gVoteMenu, "A szerver jo", "0", 0); menu_additem(gVoteMenu, "A szerver rossz", "1", 0); //Változók létrehozása, amelyekre szükségünk lesz new players[32], pnum, tempid; //Lekérjük az online játékosok számát get_players(players, pnum); //Elindítjuk a ciklust, amely annyiszor fut le ahány játékos fentvan a szerveren!! for( new i; i<pnum; i++ ) { tempid = players[i]; //Megjelenítjük a menüt a kliensnek! menu_display(tempid, gVoteMenu, 0); //Hozzá adunk a gVoting változóhoz egyet, ez akadályozza meg hogy ne lehessen 2szavazás egyszerre! gVoting++; } //Időzítjük a szavazás végét, jelen esetbe 10másodpercre set_task(10.0, "EndVote"); return PLUGIN_HANDLED; } public menu_handler(id, menu, item) { //Belép ebbe az elágazásba hogyha nem szavazott, vagy kilépett belőle a játékos! //Fontos hogy a || azt jelenti hogy: vagy if( item == MENU_EXIT || !gVoting ) { return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); //Lekérjük azt hogy mire szavazott, jelen esetben az adat tárolja! new voteid = str_to_num(data); //Hozzáadunk egy értékek ahoz amire a játékos szavazott gVotes[voteid]++; return PLUGIN_HANDLED; } public EndVote() { //Ez az elágazás leellenőrzi hogy a egyes menüpontra szavaztak e többen! Ha igen akkor bele megy az elágazásba if( gVotes[0] > gVotes[1] ) client_print(0, print_chat, "A szerver jo (%d) ember szerint!", gVotes[0] ); //Ez meg az ellenkezője, azaz hogyha a második menüpontra szavaztak többen akkor megy bele! else if( gVotes[0] < gVotes[1] ) client_print(0, print_chat, "A szerver rossz (%d) szerint", gVotes[1] ); //Ez akkor érvényesül ha mindkettőre ugyan annyian szavaztak! else client_print(0, print_chat, "A szavazas sikertelen mindenki ugyan arra szavazott! (%d)", gVotes[0] ); //Majd a menü megsemmisítése menu_destroy(gVoteMenu); //A gVoting változó értékét 0ára állítjuk, kezdőthet újra a szavazás! gVoting = 0; }
Almenü top*Ennek a menünek lesz egy almenüje! #include <amxmodx> public plugin_init() { register_clcmd( "my_awesome_menu","AwesomeMenu"); } public AwesomeMenu(id) { new menu = menu_create("\rKerlek valasz a menubol!:", "menu_handler") menu_additem(menu, "\wEzzel nem torenik semmi", "1", 0); menu_additem(menu, "\wEz megnyitja az almenut", "2", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } public menu_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1: { client_print(id, print_chat, "Gratulalok, nem tortent semmi:)"); } case 2: { //Submenu függvény küldése a játékosnak! Tehát ez lesz az almenü! SubMenu(id); } } menu_destroy(menu); return PLUGIN_HANDLED; } SubMenu(id) { //Itt egy új menüt készítünk, fontos hogy a handlernek más nevet adjunk!!!! new menu = menu_create("\rValasz az almenubol:", "submenu_handler") menu_additem(menu, "\wMenupont #1", "1", 0); menu_additem(menu, "\wMenupont #2", "2", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } public submenu_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); //Leellenőrizzük hogy a játékos csatlakozva van e! if( is_user_connected(id) ) //Elküldjük nekik az AwesomeMenu függvényt! Tehát megnyitódik neki az első menü! AwesomeMenu(id); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1: { client_print(id, print_chat, "Ez az egyes menupont!"); } case 2: { client_print(id, print_chat, "Ez a kettes menupont!"); } } menu_destroy(menu); //Ez után megint megnyitjuk neki az első menüt! AwesomeMenu(id); return PLUGIN_HANDLED; }
Szavazó Menü top - Ebben már nemírom le azokat amelyeket már feljebb leírtam! #include <amxmisc> #include <fun> //Hány darab menüpont legyen, ez esetben hány darab játékost lehessen kiválasztani! #define MAX_VOTEIDS 7 //Mennyit érjen egy sima játékos szavazata! #define WEIGHT_PLAYER 1 //Mennyit érjen egy admin szavazata! #define WEIGHT_ADMIN 2 new gVoteMenu; new gVotes[MAX_VOTEIDS]; new gVoting; //Ez a változó tárolja a szavazatokat! new gVoteID[MAX_VOTEIDS]; public plugin_init() { register_clcmd( "start_vote","StartVote"); } public StartVote(id) { if( gVoting ) { client_print(id, print_chat, "Sajnálom, a szavazás már folyamatban van!"); return PLUGIN_HANDLED; } gVoteMenu = menu_create("\rKi kapjon 255 életet?", "menu_handler"); //A játékosok lekérése, a halott játékosokat kihadjuk! new players[32], pnum, tempid; get_players(players, pnum, "a"); //Boole változó, ami azt az adatot tárolja hogy a játékosunk benne van e a szavazásban! new bool:player_added[33], voteid_count; new szName[32], szTempid[10]; //While ciklus annyiszor fut le amég az állítás igaz! while( voteid_count < MAX_VOTEIDS && voteid_count < pnum ) { //Random játékos kiválasztása! tempid = players[ random(pnum) ]; //Ha a random játékost nem adták még bele a menübe akkor bele tér az elágazásba! if( !player_added[tempid] ) { get_user_name(tempid, szName, charsmax(szName)); //Menüpont generálás! num_to_str(voteid_count, szTempid, charsmax(szTempid)); menu_additem(gVoteMenu, szName, szTempid, 0); //A fentebb készített bool változonk igazra állítása, tehát a játékos benne van a menüben! player_added[tempid] = true; gVoteID[voteid_count] = tempid; //voteid_count változóhoz hozzá adunk egy értéket! Tehát mindig amikor ide érkezünk akkor hozzá ad egy értéket! voteid_count++; } } //Most már megvannak a random játékosok a menüben! for( new i; i<pnum; i++ ) { //Elmentjük a tempidt így nem kell újra indexelni! tempid = players[i]; //Megjelenírjük a menüt a célpontunknak! menu_display(tempid, gVoteMenu, 0); //Mennyit ér a szavazat, fent a definicióban adtuk meg! if( is_user_admin(tempid) ) gVoting += WEIGHT_ADMIN; else gVoting += WEIGHT_PLAYER; } set_task(10.0, "EndVote"); return PLUGIN_HANDLED; } public menu_handler(id, menu, item) { //Ha nem szavazott, vagy a kilépésre ment akkor be térünk az elágazásba! if( item == MENU_EXIT || !gVoting ) { return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); //Lekérjük a szavazatokat! new voteid_num = str_to_num(data); //Hozzá adjuk a szavazatokat, admin esetén 2, játlkos esetén 1! Definicióban változtatható! if( is_user_admin(id) ) gVotes[voteid_num] += WEIGHT_ADMIN; else gVotes[voteid_num] += WEIGHT_PLAYER; return PLUGIN_HANDLED; } public EndVote() { //Ez a változó tárolja hogy ki hány szavazatot kapott! new votes_select; //Ez tartalmazza a legtöbb szavazatot kapó első három játékost! new votes[3]; //Ez tartalmazza az első hátom szavazatot kapó játékost! new voteid[3]; new i, j; //For ciklus lefutása "MAX_VOTEIDS" értékével, tehát ennyiszer fut le! for( i=0; i<MAX_VOTEIDS; i++ ) { //Szavazatok lekérése! if( gVotes[i] ) { if( votes_select < 3 ) { votes[votes_select] = gVotes[i]; voteid[votes_select] = i; votes_select++; } else { for( j=0; j<3; j++ ) { //Ha kevesebb szavazat érkezett! if( votes[j] < gVotes[i] ) { //Modosítjuk az adatot! votes[j] = gVotes[i]; voteid[j] = i; //És itt a vége! break; } } } } } //Ha senki nem szavazott! if( !votes_select ) { client_print(0, print_chat, "Senki nem szavazott xD"); } //Amennyiben csak egy játékos kapott szavazatot! else if( votes_select == 1 ) { //Lefuttatjuk a VoteGiveHealth függvént a voteid[0]-án! VoteGiveHealth( voteid[0] ); } //Amennyiben kettő játékos kapott szavazatot! else if( votes_select == 2 ) { //Amennyiben a szavazatok eggyenlőek a kettő fél között! if( votes[0] == votes[1] ) { //Valamelyiken lefuttatjuk a VoteGiveHealth függvényt! client_print(0, print_chat, "Kivalasztas veletlenszeruen, mert ketto jatekos egyenlo szavazatot kapott!" ); VoteGiveHealth( voteid[ random(2) ] ); } //Amennyiben az első több szavazatot kapott mint a második! else if( votes[0] > votes[1] ) //Az első kapja meg az életet! VoteGiveHealth( voteid[0] ); //Amennyiben a második többet kapot mint az első! else //A második kapja meg az életet! VoteGiveHealth( voteid[1] ); } //Ha 3 külömböző emberre szavaztak! else { //A 3ember közül egyet kiválasztunk véletenszerűen! client_print(0, print_chat, "Harom ember kozul cska egy kaphat eletet:D" ); VoteGiveHealth( voteid[ random(3) ] ); } menu_destroy(gVoteMenu); gVoting = 0; } VoteGiveHealth(id) { if( is_user_alive(id) ) { set_user_health(id, 255); new szName[32]; get_user_name(id, szName, charsmax(szName)); client_print(0, print_chat, "%s kapott 255 eletet!", szName); } } [b:3ovlgbz4][anchor]Egy menü több handlerrel[/anchor][/b:3ovlgbz4] [goto=top]top[/goto] - Ebben szerepel egy almenü is, erről már feljebb beszéltem! Itt a kettő menünek egy handlere lesz! SMA Forráskód: [ Mindet kijelol ]#include <amxmodx> public plugin_init() { register_clcmd( "my_awesome_menu","AwesomeMenu"); } public AwesomeMenu(id) { new menu = menu_create("\rValassz a menubol:", "menu_handler") //Jegyezzuk meg hogy itt a 3parameter elott ott al egy m betu, ez jelzi nekunk hogy ez a MAIN menu! menu_additem(menu, "\wSemmi", "m1", 0); menu_additem(menu, "\wUgras az almenube", "m2", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } SubMenu(id) { new menu = menu_create("\rValassz az elmenubol:", "menu_handler") //Jegyezzuk meg hogy itt a 3parameter elott ott al egy s betu, ez jelzi nekunk hogy ez a SUB menu! menu_additem(menu, "\wAlmenu #1", "s1", 0); menu_additem(menu, "\wAlmenu #2", "s2", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } public menu_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); //Lekérjük az első karakterét, tehát s vagy m! new key = str_to_num(data[1]); //Bele megyünk s vagy m előjel alapján! switch( data[0] ) { //Ez a sima menünk! case 'm': { switch( key ) { case 1: { client_print(id, print_chat, "Ez egy semmi"); } case 2: { SubMenu(id); } } } //Ez az almenünk! case 's': { switch( key ) { case 1: { client_print(id, print_chat, "Almenü: Semmi 1"); } case 2: { client_print(id, print_chat, "Almenü: Semmi 2"); } } //Megnyitjuk a főmenüt! AwesomeMenu(id); } } menu_destroy(menu); return PLUGIN_HANDLED; }
Menü visszahívása top #include <amxmodx> #include <hamsandwich> //Változó létrehozása amelly tárolja a visszahívást! new g_MenuCallback; public plugin_init() { register_clcmd( "my_player_menu","RespawnMenu"); //Visszahívási függvény csinálása! g_MenuCallback = menu_makecallback( "menuitem_callback" ); } public RespawnMenu(id) { new menu = menu_create("\rValaszd ki a jatekost, akit ujra akarsz eleszteni!:", "menu_handler"); new players[32], pnum, tempid; new szName[32], szTempid[10]; get_players(players, pnum); for( new i; i<pnum; i++ ) { tempid = players[i]; get_user_name(tempid, szName, charsmax(szName)); num_to_str(tempid, szTempid, charsmax(szTempid)); //Visszhíváshoz beállítjuk a változónk értékét! menu_additem(menu, szName, szTempid, 0, g_MenuCallback); //Az utolsó paraméter a visszahívás! } menu_display(id, menu, 0); } //Ez a visszahivási függvény. Visszatérések: ITEM_ENABLED és ITEM_DISABLED public menuitem_callback(id, menu, item) { //A menüpont tárolásához szükséges változók készítése! new data[6], szName[64]; new access, callback; //Lekérjük az információkat! menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); //Jegyzet - a visszahívásnak meg kell eggyeznie a g_MenuCallback-al! //A játékosunk lesz a tempid! new tempid = str_to_num(data); //Amennyiben él a játékos vissza térünk ITEM_DISABLED-el, tehát "kikapcsolva"! if( is_user_alive( tempid ) ) { return ITEM_DISABLED; } //Ha nem él akkor vissza térünk ITEM_ENABLED, tehát "bekapcsolva" return ITEM_ENABLED; } public menu_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new tempid = str_to_num(data); //Ha a játékos nem él akkor bele megy az elágazásba! //Jegyzet - Azért van itt ellenőrzés mert lehet közben újra éledt a játékos, jobb biztosra menni:) if( !is_user_alive(tempid) ) { //Respawn them ExecuteHamB(Ham_CS_RoundRespawn, tempid); } menu_destroy(menu); return PLUGIN_HANDLED; }
newmenus.inc top - A newmenus függvénytárról minden információ //The following defines are to be used with the native menu_setprop #define MPROP_PERPAGE 1 /* Number of items per page (param1 = number, 0=no paginating, 7=default) */ #define MPROP_BACKNAME 2 /* Name of the back button (param1 = string) */ #define MPROP_NEXTNAME 3 /* Name of the next button (param1 = string) */ #define MPROP_EXITNAME 4 /* Name of the exit button (param1 = string) */ #define MPROP_TITLE 5 /* Menu title text (param1 = string) */ #define MPROP_EXIT 6 /* Exit functionality (param1 = number, see MEXIT constants) */ #define MPROP_NOCOLORS 8 /* Sets whether colors are not auto (param1 = number, 0=default) */ #define MPROP_NUMBER_COLOR 10 /* Color indicator to use for numbers (param1 = string, "\r"=default) */ //These two defines are to be used when changing a menu's MPROP_EXIT value #define MEXIT_ALL 1 /* Menu will have an exit option (default)*/ #define MEXIT_NEVER -1 /* Menu will not have an exit option */ //For more details about the following natives, check your actual newmenus.inc native menu_create(const title[], const handler[], ml=0); native menu_makecallback(const function[]); native menu_additem(menu, const name[], const info[]="", paccess=0, callback=-1); native menu_pages(menu); native menu_items(menu); native menu_display(id, menu, page=0); native menu_find_id(menu, page, key); native menu_item_getinfo(menu, item, &access, info[], infolen, name[]="", namelen=0, &callback); native menu_item_setname(menu, item, const name[]); native menu_item_setcmd(menu, item, const info[]); native menu_item_setcall(menu, item, callback=-1); native menu_destroy(menu); native player_menu_info(id, &menu, &newmenu, &menupage=0); native menu_addblank(menu, slot=1); native menu_setprop(menu, prop, ...); native menu_cancel(player);
Jegyzetek top[ablak]Ha a menü hibás akkor a visszatérés: -1 Ha csak egy menüt használsz akkor célszerű ha csinálsz egy konstans menüt, tehát nem kell létrehozni, és megszüntetni függvényenként! Ezek csak példák, egy menühöz több minden is kell! A fórum megfelelő részén szívesen segítünk! Elérhető színek!: (ez az összes elérhető szín, új színeket nem tudsz csinálni!) Fehér - \w Citrom - \y Piros - \r Szürke - \d A szöveg igazítása középre- \R A menü nem jelenik meg ha nincs menüpont! A menü eltüntetése: show_menu(id, 0, "^n", 1);
A következő oldalon, előző oldal, és a kilépés menüpont eltüntetése: menu_setprop(menu, MPROP_PERPAGE, 0);1
[/ablak]
Ők köszönték meg kiki nek ezt a hozzászólást (összesen 2):davke1 (2013.11.02. 18:41) • jokypapa (2018.01.09. 12:59) |
|
|