Próbowałem napisać plugin na menu poprzez komęde w czacie, ale nie wyszło i mam prośbę do kogoś z was, czy mółby mi napisać? 
Chciałbym by komędę w czacie była /xxx i jak wpisze się to komęde to wyszkoczy tak 1. 2. 3. 4. i tak z 8. i niech sie nazywaja 1. xxx1 2.xxx2 3.xxx3 itd...
i jak sie kliknie 1 to żeby sie otworzyło okienko motd (z tekstem) i jak nazwac .txt by akurat jak klikne 1 zeby sie otworzył dobry pliczek.
Sory ze tak chaotycznie ale nie umiem wyjaśnic lepiej 
refresh 
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Menu"
#define VERSION "0.1"
#define AUTHOR "Mis"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /xxx","pokaz_menu")
}
public pokaz_menu(id)
{
new text[513]
format(text, 512, "\rMenu^n\w1. XXX1^n\w2. XXX2^n\w3. XXX3^n\w4. XXX4^n\w5. XXX5^n\w6. XXX6^n\w7. XXX7^n\w8. XXX8^n\w9. Zamknij")
new keys
keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)
show_menu(id, keys, text)
return PLUGIN_HANDLED
}
public menu_wybor(id, key)
{
switch(key)
{
case 0:
{
xxx1(id)
}
case 1:
{
xxx2(id)
}
case 2:
{
xxx3(id)
}
case 3:
{
xxx4(id)
}
case 4:
{
xxx5(id)
}
case 5:
{
xxx6(id)
}
case 6:
{
xxx7(id)
}
case 7:
{
xxx8(id)
}
case 8:
{
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}
public xxx1(id)
{
show_motd(id,"xxx1.txt","XXX1.")
return PLUGIN_CONTINUE
}
public xxx2(id)
{
show_motd(id,"xxx2.txt","XXX2.")
return PLUGIN_CONTINUE
}
public xxx3(id)
{
show_motd(id,"xxx3.txt","XXX3.")
return PLUGIN_CONTINUE
}
public xxx4(id)
{
show_motd(id,"xxx4.txt","XXX4.")
return PLUGIN_CONTINUE
}
public xxx5(id)
{
show_motd(id,"xxx5.txt","XXX5.")
return PLUGIN_CONTINUE
}
public xxx6(id)
{
show_motd(id,"xxx6.txt","XXX6.")
return PLUGIN_CONTINUE
}
public xxx7(id)
{
show_motd(id,"xxx7.txt","XXX7.")
return PLUGIN_CONTINUE
}
public xxx8(id)
{
show_motd(id,"xxx8.txt","XXX8.")
return PLUGIN_CONTINUE
}
można optymalnie to napisać lecz poszłem na prostotę

#include <amxmodx>
#define ADMIN_AMENU ADMIN_BAN
new const g_cmds[][]= { "menu", "menu_gracza" };
public plugin_init()
{
register_plugin("Menu","0.1", "MisieQ");
register_clcmd("say", "say_handle");
register_clcmd("say_team", "say_handle");
for(new i = 0; i < sizeof g_cmds; i++)
register_concmd(g_cmds[i], "menu_admina", ADMIN_AMENU);
}
public say_handle(id)
{
new stringsay[192];
read_args(stringsay, 192);
remove_quotes(stringsay);
for(new i = 0; i < sizeof g_cmds; i++)
{
if(equal(stringsay, g_cmds[i]))
{
if(!(get_user_flags(id) & ADMIN_AMENU))
{
client_print(id, print_console, "You do not have access to this command.");
return PLUGIN_CONTINUE;
}
else
{
menu_gracza(id);
return PLUGIN_HANDLED;
}
}
}
return PLUGIN_CONTINUE;
}
public menu_gracza(id)
{
if(!(get_user_flags(id) & ADMIN_AMENU))
{
client_print(id, print_console, "You do not have access to this command.");
return PLUGIN_HANDLED;
}
new menu = menu_create("\yMenu:", "menu_handler");
menu_additem(menu, "XXX1", "1", ADMIN_AMENU);
menu_additem(menu, "XXX2", "2", ADMIN_AMENU);
menu_additem(menu, "XXX3", "3", ADMIN_AMENU);
menu_additem(menu, "XXX4", "4", ADMIN_AMENU);
menu_additem(menu, "XXX5", "5", ADMIN_AMENU);
menu_additem(menu, "XXX6", "6", ADMIN_AMENU);
menu_additem(menu, "XXX7", "7", ADMIN_AMENU);
menu_additem(menu, "XXX8", "8", ADMIN_AMENU);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public menu_handler(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 name[32];
get_user_name(id, name, 31);
new key = str_to_num(data);
switch(key)
{
case 1:
{
show_motd(id,"xxx1.txt","XXX1.")
return PLUGIN_CONTINUE
}
case 2:
{
show_motd(id,"xxx2.txt","XXX2.")
return PLUGIN_CONTINUE
}
case 3:
{
show_motd(id,"xxx3.txt","XXX3.")
return PLUGIN_CONTINUE
}
case 4:
{
show_motd(id,"xxx4.txt","XXX4.")
return PLUGIN_CONTINUE
}
case 5:
{
show_motd(id,"xxx5.txt","XXX5.")
return PLUGIN_CONTINUE
}
case 6:
{
show_motd(id,"xxx6.txt","XXX6.")
return PLUGIN_CONTINUE
}
case 7:
{
show_motd(id,"xxx7.txt","XXX7.")
return PLUGIN_CONTINUE
}
case 8:
{
show_motd(id,"xxx8.txt","XXX8.")
return PLUGIN_CONTINUE
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
Użytkownik MisieQ edytował ten post 08.02.2010 16:44