cityhonghu 发表于 2009-10-6 08:33:04

求助,菜单中如何获取用户按的数字?

菜单已经建立好。想在另一个函数中获取用户按的数字,代码要如何写?
谢谢
简单代码如下。include <amxmod>

public plugin_init()
{
   register_menucmd(register_menuid("\y菜单标题:"), 1023, "MenuCommand" )
   return PLUGIN_CONTINUE
}

public ShowMenu( id )
{
   new szMenuBody
   new keys

   new nLen = format( szMenuBody, 255, "\y菜单标题:^n" )
   nLen += format( szMenuBody, 255-nLen, "^n\w1. 操作1" )
   nLen += format( szMenuBody, 255-nLen, "^n\w2. 操作2" )
   nLen += format( szMenuBody, 255-nLen, "^n^n\w0. 退出" )

   keys = (1<<0|1<<1|1<<9)
   show_menu( id, keys, szMenuBody, -1 )
   return PLUGIN_CONTINUE
}

public MenuCommand( id, key )
{
   client_print( id, print_console, " Key=%d", key )
   client_print( id, print_chat, " Key=%d", key )

   switch( key )
   {
       case 0: client_print( id, print_chat, "操作 #1" )
       case 1: client_print( id, print_chat, "操作 #2" )
       case 9: client_print( id, print_chat, "菜单操作退出" )
   }

   return PLUGIN_HANDLED
}

public get_keynumber() {
        code //获取用户按的数字,这部分代码要如何写?
}

Rulzy 发表于 2009-10-6 18:59:34

本帖最后由 Rulzy 于 2009-10-6 19:01 编辑

按的键就是上面的key。不过,key==0表示是按1,key==1表示是按2,...,key==9表示是按0。在其他函数中是无法获取按键的(当然,在client_command(id)事件里也可以获得的)。

cityhonghu 发表于 2009-10-6 23:50:18

在一个函数里如果有2个shou_menu()如何才能让它一个一个显示呢?
能给讲一下2级菜单的代码框架吗?

sakulekingz 发表于 2009-10-7 17:40:48

那样的话。。建议用new menu菜单的写法

cityhonghu 发表于 2009-10-7 19:06:41

刚刚学会作1级菜单方法。能详细讲一下new menu是怎么个事儿吗?

LittleKu 发表于 2009-10-8 09:04:20

这里我把新菜单系统粗略的翻译了两篇!
http://www.edoocn.com/bbs/thread-4409-1-1.html   第一篇!

http://www.edoocn.com/bbs/thread-4414-1-1.html   第二篇!

具体的原文在这里!
http://forums.alliedmods.net/showthread.php?t=46364

如果有什么翻译得不对的地方,还请见谅!:lol

cityhonghu 发表于 2009-10-9 18:05:10

谢谢,kk阿朗。
有空仔细看看。另,第3个链接打不开。

LittleKu 发表于 2009-10-10 12:32:22

不会吖!!
我可以打开!!

cityhonghu 发表于 2009-10-10 13:20:27

谢谢,我现在也可以打开了
页: [1]
查看完整版本: 求助,菜单中如何获取用户按的数字?