引用 | 编辑
calove00
2010-03-06 21:59 |
楼主
▼ |
||
x5
作者 : 本人(Ca`) 转贴请先兹问本人 感谢三楼楼主为我贴图示范 复制程式 #include <amxmodx> // 任何AMXX需要的基本INC public plugin_init() // 注册插件 { register_clcmd( "say /menu","ExtraMenu"); // "say /menu" 为执行指令的方法 ; ExtraMenu 为 执行的Function } // 名为 ExtraMenu 的 Function public ExtraMenu(id) { // 新增一个单位"menu" = 建立一个选单 new menu = menu_create("\r选单名称", "menu_handler"); // 第一格为名称 // 白色 = \w // 黄色 = \y // 红色 - \r // 灰色 - \d // 第二格为指令所去的Function // 新增Menu的选项 menu_additem(menu, "\w Selection #1", "1", ADMIN_LEVEL_A); menu_additem(menu, "\w Selection #2", "2", 0); menu_additem(menu, "\w Selection #3", "3", 0); // menu为刚才新增的参数 // \w Selection #1 为 第一项选项 // 第三格 "1" 为 排在选单第几项 // ADMIN_LEVEL_A 是指执行的权限 , 详细可阅USER.INI取得更多资讯 // 如果填写为 0 是指任何人适用 // 设定此Menu 的离开位置和转页 menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); // 显示选单 menu_display(id, menu, 0); // 自主性决定吧 如果使用 say 指令会显示字在说话频道 如果不想可加上这一行 // 把 // Del去就行 // return PLUGIN_HANDLED; } // 刚才设定此Function为按键的设凡 public menu_handler(id, menu, item) { // 如果按离开会发生的事 if( item == MENU_EXIT ) { // 消除选单 menu_destroy(menu); return PLUGIN_HANDLED; } // 新增一些为玩家设定的参数 new data[6], iName[64]; new access, callback; // 取得玩家的权限 及 其资料 menu_item_getinfo(menu, item, access, data,5, iName, 63, callback); // 将你所按的键转换成Number new key = str_to_num(data); // 列出Number所发生的事 switch(key) { case 1: { client_print(id, print_chat, "你按了按键一"); menu_destroy(menu); // 消除选单 return PLUGIN_HANDLED; // 离开插件 } case 2: { client_print(id, print_chat, "你按了按键2"); menu_destroy(menu); // 消除选单 return PLUGIN_HANDLED; // 离开插件 } case 3: { client_print(id, print_chat, "你按了按键3"); menu_destroy(menu); // 消除选单 return PLUGIN_HANDLED; // 离开插件 } } // 消除选单 menu_destroy(menu); // 离开插件 return PLUGIN_HANDLED; } x2
|
引用 | 编辑
chuchung712
2010-03-06 22:26 |
1楼
▲ ▼ |
刚测试了
只是普通的旧式选单而已... = = x0 |
引用 | 编辑
森之千手
2010-03-06 22:39 |
2楼
▲ ▼ |
回chuchung712:
不是呵~~这的确是新 旧的是 复制程式 public plugin_init() { register_menucmd(register_menuid("MainMenu"), 1023, "handle_MainMenu"); } // [...] new menu[256], len; len = formatex(menu, 255, "\y选单名称^n"); len += formatex(menu[len], 255-len, "\r1. \wSub Menu^n"); len += formatex(menu[len], 255-len, "\r2. \wFunction^n^n"); len += formatex(menu[len], 255-len, "\r0. \wExit"); show_menu(id, (1<<0|1<<1), menu, -1, "MainMenu"); // [...] public handle_MainMenu(id, key) { switch(key) { case 0: // item #1 case 1: // item #2 case 2: // item #3 } return PLUGIN_HANDLED; } x0 |
引用 | 编辑
chuchung712
2010-03-06 22:52 |
3楼
▲ ▼ |
引用 | 编辑
amygirltwo
2010-03-06 23:23 |
4楼
▲ ▼ |
挺有趣的...
来试试看...我先推一个唷! x0 |
引用 | 编辑
bugatti1024
2010-03-07 15:48 |
6楼
▲ ▼ |
有新的教学耶!!
先来摸索一下,感谢提供喔!! x0 |
引用 | 编辑
wong19960928
2010-03-21 20:39 |
9楼
▲ ▼ |
暂时不需要。。。
需要时才来学 x0 |
引用 | 编辑
tony987852
2010-03-21 22:57 |
10楼
▲ ▼ |
这个非常好..我在网上找到的都是转不了做amxx的..
x0 |
引用 | 编辑
炸弹凯文
2010-03-22 18:56 |
11楼
▲ ▼ |
这个棒
不过我想问一下 如果是有装插件 要放入指令 怎么放>< 像再菜单[custommenuitems.cfg]那里设定一样 amx_addclientmenuitem "【XXXX】" "XXXX" "zu" "StatsX" 这个插件也可以吗 == x0 |
引用 | 编辑
HarrYtse314
2010-09-08 19:20 |
16楼
▲ ▼ |
不也就是旧式的选单吗??
新式 是图形式的吧... 也就是按B按那个样子的选单 x0 |
引用 | 编辑
freedom500
2011-02-20 08:57 |
19楼
▲ ▼ |
唔错唔错
又学佐一样野了 多谢楼主 x0 |
引用 | 编辑
jjjerry093
2011-03-19 22:45 |
21楼
▲ ▼ |
要用Em还是直接修改
x0 |
引用 | 编辑
fgh4365295
2011-03-25 17:55 |
22楼
▲ ▼ |
谢谢教学
x0 |
引用 | 编辑
suenasd321
2011-06-24 17:19 |
25楼
▲ ▼ |
怎么只有 R,Y,W,D 色呀.
我想要 绿 和 蓝色.. x0 |