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;
}


Dodatki SourceMod



Temat jest zamknięty








