下面是引用 112459 于 2009-09-23 21:23 发表的 :
那假如我想要写出像csdm(死斗)那落选单要怎写><
先选个手枪..选完再选步枪等><
另外1023是代表什么= =?
key = (1023)吗?
新手再问- -
那按了选择相对的指令打在那= =?
..............................................................
再问....
复制程式
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w1. 有点懂!" )
nLen是什么意思
format是什么意思
255-nLen又是怎样= =?
相对的指令在那...
事实上1023的用法我也不太懂
因为只是听说可以这样写,而实际上测试也确实可以,但在怎样的情况下会无效就不得而知了。
nLen是字串代换,在标题的部份就有设定
format则是载入字串,在这里的用法是将"^n\w1. 有点懂!"载入到szMenuBody储存
之后在用show_menu( id, keys, szMenuBody, -1 )来显示
255-nLen就是计算剩余的容量单位,之前已经设定了szMenuBody为256,为了做1单位的保留空间,所以设255
当然,你要设256也无所谓,只要能正常执行就可以了
另外,相对的指令要另外写。
注意喔,写显示选单的部份之所以设定keys,就是要在另外一个地方使用它
在最上方注册语法的地方,有一段register_menucmd(register_menuid("\y选单教学:"), 1023, "MenuCMD" )
所以选单的命令是要写在public MenuCMD之中的
(1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9)
↑这个设定是官方给的,按照顺序,1=0,2=1以此类推
所以第一项是写在case 0而不是case 1
死斗的原始码我没看过,但是也可以用我自己的想法写出来
先注册了一个命令,内容是在复活时执行命令
语法的内容则是显示小枪选单
然后在写取得小枪和子弹的命令,在命令之后在加上一段显示大枪的选单
注意喔,如果在命令之中有执行某段显示选单的公众命令(public)的话,可以不用注册显示选单,但是要注册选单命令大枪的选单命令就写取得大枪和子弹,最后再加上return PLUGIN_HANDLED来中断插件执行就完成了