| 				
					| Offline |  
					|  |  
					|  |  Csatlakozott:2011.06.01. 21:11
 Hozzászólások:7966
 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! Játékos Menü top*Jegyzet: Ebben már nem kommentelem le azokat a dolgokat amelyeket már az előzőben leírtam!#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;  } 
 -Ebben a menüben az online játékosok fognak szerepelni! Szimpla Szavazó Menü top#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;  }
*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! Almenü top#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;  }
*Ennek a menünek lesz egy almenüje! Szavazó Menü top#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;  }
 - Ebben már nemírom le azokat amelyeket már feljebb leírtam!  Menü visszahívása top#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;  }
newmenus.inc 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;  } 
 - A newmenus függvénytárról minden információ Jegyzetek top//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);
[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)
 |  
 
 |  |