Chciałem stworzyć sobie menu do csa n swoje potrzeby i mam problem. Może najpierw dam kod żeby było jaśniej:
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <colorchat> #define PLUGIN "Menu" #define VERSION "1.0" #define AUTHOR "BoB0_" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /menu", "menu"); register_clcmd("radio2", "menu") // Add your code here... } public menu(id) { new menu = menu_create("\rMenu", "wybieranie"); menu_additem(menu, "\wPerk", "1", 0); menu_additem(menu, "\wWyrzuc Perk", "2", 0); menu_additem(menu, "\wSklep", "3", 0); menu_additem(menu, "\wLista Perkow", "4", 0); menu_setprop(menu, MPROP_EXITNAME, "Wyjscie") menu_display(id, menu, 0); ColorChat(id,GREEN,"[BingBang.eu]^x01 Wybrales menu pomocy."); } public wybieranie(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id,"say /perk") menu_destroy(menu); return PLUGIN_HANDLED; } case 2: { client_cmd(id, "say /drop") menu_destroy(menu); return PLUGIN_HANDLED; } case 3: { client_cmd(id, "say /sklep") menu_destroy(menu); return PLUGIN_HANDLED; } case 4: { client_cmd(id, "say /perki") menu_destroy(menu); return PLUGIN_HANDLED; } } menu_destroy(menu) return PLUGIN_HANDLED; }
W tym menu chciałbym dodać kolejną opcję nazwaną reset. Po naciśnięciu na tę opcję pojawiło by się kolejne menu z opcjami tak i nie. Jednak nie wiem jak to zrobić. Próbowałem w ten sposób:
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <colorchat> #define PLUGIN "Menu" #define VERSION "1.0" #define AUTHOR "BoB0_" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /menu", "menu"); register_clcmd("radio2", "menu"); register_clcmd("say /reset2", "reset2"); // Add your code here... } public menu(id) { new menu = menu_create("\rMenu", "wybieranie"); menu_additem(menu, "\wPerk", "1", 0); menu_additem(menu, "\wWyrzuc Perk", "2", 0); menu_additem(menu, "\wSklep", "3", 0); menu_additem(menu, "\wLista Perkow", "4", 0); new menu = menu_create("Resetuj Statystyki", "reset3"); menu_setprop(menu, MPROP_EXITNAME, "Wyjscie") menu_display(id, menu, 0); ColorChat(id,GREEN,"[BingBang.eu]^x01 Wybrales menu pomocy."); } public wybieranie(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id,"say /perk") menu_destroy(menu); return PLUGIN_HANDLED; } case 2: { client_cmd(id, "say /drop") menu_destroy(menu); return PLUGIN_HANDLED; } case 3: { client_cmd(id, "say /sklep") menu_destroy(menu); return PLUGIN_HANDLED; } case 4: { client_cmd(id, "say /perki") menu_destroy(menu); return PLUGIN_HANDLED; } } menu_destroy(menu) return PLUGIN_HANDLED; } public reset2(id) { new menu = menu_create("Chcesz zresetowac statystyki?", "reset3"); menu_additem(menu, "\wTak", "1", 0) menu_additem(menu, "\wNie", "2", 0) menu_setprop(menu, MPROP_EXITNAME, "Wyjscie") menu_display(id, menu, 0); } public reset3(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id, "say /reset") menu_destroy(menu); return PLUGIN_HANDLED; } case 2: { menu_destroy(menu); return PLUGIN_HANDLED; } } menu_destroy(menu) return PLUGIN_HANDLED; }
Ale mam błąd że menu już istnieje. Błąd jest w linii 29. Jeżeli ktoś wie jak to zrobić prosłbym o pomoc, ponieważ nigdzie tego ładnie opisanego nie znalazłem. Pozdrawiam i z góry dziękuję,
Dodano 29 kwiecień 2011 - 13:14:
Prosiłbym o nie usuwanie tego posta.
Po kilku próbach udało mi się dojść do tego jak to się robi. Oto kod jakby ktoś potrzebował :
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <colorchat> #define PLUGIN "Menu" #define VERSION "1.0" #define AUTHOR "BoB0_" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /menu", "menu"); register_clcmd("radio2", "menu"); register_clcmd("say /reset2", "reset2"); // Add your code here... } public menu(id) { new menu = menu_create("\rMenu", "wybieranie"); menu_additem(menu, "\wPerk", "1", 0); menu_additem(menu, "\wWyrzuc Perk", "2", 0); menu_additem(menu, "\wSklep", "3", 0); menu_additem(menu, "\wLista Perkow", "4", 0); menu_additem(menu, "Resetuj Statystyki", "5", 0); menu_setprop(menu, MPROP_EXITNAME, "Wyjscie") menu_display(id, menu, 0); ColorChat(id,GREEN,"[BingBang.eu]^x01 Wybrales menu pomocy."); } public wybieranie(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id,"say /perk") menu_destroy(menu); return PLUGIN_HANDLED; } case 2: { client_cmd(id, "say /drop") menu_destroy(menu); return PLUGIN_HANDLED; } case 3: { client_cmd(id, "say /sklep") menu_destroy(menu); return PLUGIN_HANDLED; } case 4: { client_cmd(id, "say /perki") menu_destroy(menu); return PLUGIN_HANDLED; } case 5: { new menu = menu_create("Chcesz zresetowac statystyki?", "reset3"); menu_additem(menu, "\wTak", "1", 0) menu_additem(menu, "\wNie", "2", 0) menu_setprop(menu, MPROP_EXITNAME, "Wyjscie") menu_display(id, menu, 0); } } menu_destroy(menu) return PLUGIN_HANDLED; } public reset3(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id, "say /reset") menu_destroy(menu); return PLUGIN_HANDLED; } case 2: { menu_destroy(menu); return PLUGIN_HANDLED; } } menu_destroy(menu) return PLUGIN_HANDLED; }