yymmychat
|
分享:
▲
▼
下面是引用 chuchung712 于 2010-02-11 12:11 发表的 :
那么那个网址的教学可行吗? public ShowMenu( id ) { new szMenuBody[256] new keys new nLen = format( szMenuBody, 255, "\y菜单标题:^n" ) nLen += format( szMenuBody[nLen], 255-nLen, "^n\w1. 操作1" ) nLen += format( szMenuBody[nLen], 255-nLen, "^n\w2. 操作2" ) nLen += format( szMenuBody[nLen], 255-nLen, "^n\w3. 操作3" ) nLen += format( szMenuBody[nLen], 255-nLen, "^n\w4. 操作4" ) nLen += format( szMenuBody[nLen], 255-nLen, "^n\w5. 操作5" ) nLen += format( szMenuBody[nLen], 255-nLen, "^n\w6. 操作6" ) nLen += format( szMenuBody[nLen], 255-nLen, "^n\w7. 操作7" ) nLen += format( szMenuBody[nLen], 255-nLen, "^n\w8. 操作8" ) nLen += format( szMenuBody[nLen], 255-nLen, "^n\w9. 操作9" ) nLen += format( szMenuBody[nLen], 255-nLen, "^n^n\w0. 退出" ) keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9) show_menu( id, keys, szMenuBody, -1 , "\y菜单标题:")return PLUGIN_CONTINUE } 是正确的没错, 但上面蓝色那一段要改一下
|
※目前暂不接受插件修改委托※ 原本预计在2010年4月份之前发布更新 Zombie Hell 3.0, 但我还是失信了.... 在此要先向众版友们致歉,真的很抱歉 m(_._)m 但我终会完成此插件,兑现我的承诺.
|
x1
[21 楼]
From:台湾中华电信 | Posted:2010-02-11 12:18 |
|
|
yymmychat
|
分享:
▲
▼
下面是引用 chuchung712 于 2010-02-11 12:18 发表的 :
就只是改"菜单标题"而已吧 对的, 就是要加入红色那一段文字 show_menu( id, keys, szMenuBody, -1 , "\y菜单标题:" )因为他的教学中 register_menuid( "\y菜单标题:" )注册菜单ID是用了这段文字档菜单识别名称所以你用 show_menu 来开启菜单时,没加入识别名称, 可能会有问题发生因为AMXX不知道你要开启那个菜单
|
※目前暂不接受插件修改委托※ 原本预计在2010年4月份之前发布更新 Zombie Hell 3.0, 但我还是失信了.... 在此要先向众版友们致歉,真的很抱歉 m(_._)m 但我终会完成此插件,兑现我的承诺.
|
x0
[23 楼]
From:台湾中华电信 | Posted:2010-02-11 12:22 |
|
|
yymmychat
|
分享:
▲
▼
下面是引用 chuchung712 于 2010-02-11 13:58 发表的 :
连回! 请问如果要这样做: 开启菜单 按1后再有1-9选项 要怎样弄??? 这个要用选单中的选单方式来设置了 意思就是当你执行了一个选单的项目后,就是按了1,2,3,5 等等按键后 在判断每个按键该执行什么功能那个程序中,也是在里头设定再用 show_menu 来开启另一个选单 程式码范例如下: const keys = (0<<1)|(1<<1)|(2<<1)|(3<<1)|(4<<1)|(5<<1)|(6<<1)|(7<<1)|(8<<1)|(9<<1)| public plugin_init() { ............ register_menucmd(register_menuid("my_menu1"), keys, "action_my_menu1") register_menucmd(register_menuid("my_menu2"), keys, "action_my_menu2") ................ register_clcmd("open_menu", "cmd_open_menu" ............ } public cmd_open_menu(id) { opent_menu1(id) return PLUGIN_HANDLED; } opent_menu1(id) { new menubody[512], len len = 0 len += format(menubody[len], charsmax(menubody) - len, "主选单^n^n") len + = ............................. ................. show_menu(id, keys, menubody,-1, "my_menu1") //秀出主选单 } public action_my_menu1(id, key) { switch (key) { case 0: // 当按了数字键 (1) { open_menu2(id) //秀出第二层选单 } case 1: { ..... } .................... .................... ...................... default: { return PLUGIN_HANDLED; } } return PLUGIN_HANDLED; } open_menu2(id) { new menubody[512], len len = 0 len += format(menubody[len], charsmax(menubody) - len, "第二选单^n^n") len + = ............................. ................. show_menu(id, keys, menubody, -1, "my_menu2") //秀出第二选单 } public action_my_menu2(id, key) { switch (key) { case 0: // 当按了数字键 (1) { ............... ............. } case 1: { ..... } .................... .................... ...................... default: <---- 若是用数字键0时也可以改成 case 9: { opent_menu1(id) //回到主选单, 当玩家按了取消键时,一般都是用数字键0当取消键 } } return PLUGIN_HANDLED; }
[ 此文章被yymmychat在2010-02-12 08:44重新编辑 ]
|
※目前暂不接受插件修改委托※ 原本预计在2010年4月份之前发布更新 Zombie Hell 3.0, 但我还是失信了.... 在此要先向众版友们致歉,真的很抱歉 m(_._)m 但我终会完成此插件,兑现我的承诺.
|
x1
[26 楼]
From:台湾中华电信 | Posted:2010-02-11 15:26 |
|
|
yymmychat
|
分享:
▲
▼
下面是引用 chuchung712 于 2010-02-11 17:31 发表的 :
好像很复杂... = =
register_menucmd(register_menuid("my_menu1"), keys, "action_my_menu1") 中的keys是要设定的按键吗? 没错喔,也就是你选单出现后,你可以按且有作用的按键,按其它没设定的键的话,按键就不会有效果然 但这个在register_menucmd 中所设定的 keys 其实一般都只指定一个数值 1023 就可以了, 因为 1023 = (0<<1)|(1<<1)........|(9<<1) 而要设定让限制选单可以按的按键,也就是可以被侦测到的 就只要在 show_menu 这个指令中设定就可以了,
|
※目前暂不接受插件修改委托※ 原本预计在2010年4月份之前发布更新 Zombie Hell 3.0, 但我还是失信了.... 在此要先向众版友们致歉,真的很抱歉 m(_._)m 但我终会完成此插件,兑现我的承诺.
|
x0
[28 楼]
From:台湾中华电信 | Posted:2010-02-11 17:45 |
|
|
|