leiminlm 发表于 2008-5-6 15:37:42

编写的菜单执行命令为什么无效

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "ServerMenu"
#define VERSION "1.3"
#define AUTHOR "Cr@zyTreE"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd( "say /menu","ShowMenu", -1, "Shows The Server Menu" )
register_menucmd(register_menuid("\y【\r惩罚与奖励菜单\y】"), 1023, "MenuCommand" )

return PLUGIN_CONTINUE
}
public plugin_precache()
{
precache_sound("/player/plmenu.wav")

return PLUGIN_CONTINUE
}
public ShowMenu( id )
{
new szMenuBody
new keys

new nLen = format( szMenuBody, 255, "\y【\r惩罚与奖励菜单y】^n" )

nLen += format( szMenuBody, 255-nLen, "^n\r1. \w玩家奖励与惩罚" )
nLen += format( szMenuBody, 255-nLen, "^n\r2. \w队伍奖励" )
nLen += format( szMenuBody, 255-nLen, "^n\r3. \w队伍惩罚" )
nLen += format( szMenuBody, 255-nLen, "^n\r4. \w给与队伍武器" )
nLen += format( szMenuBody, 255-nLen, "^n^n\r0. \w退出" )

keys = (1<<0|1<<1|1<<2|1<<3|1<<9)

show_menu( id, keys, szMenuBody, -1 )
client_cmd(id,"spk /player/plmenu")
return PLUGIN_CONTINUE
}
public MenuCommand( id, key )
{
//client_cmd(id,"spk /player/plmenu")

switch( key )
{
case 0: {
   client_cmd(id, "amx_clcmdmenu" )
}
case 1: {
   client_cmd(id, "amx_tmpunishmenu" )
}
case 2: {
   client_cmd(id, "amx_tmbnsmenu" )
}
case 3: {
   client_cmd(id, "amx_tmwpmenu" )
}
case 9: {
   client_print( id, print_chat, "菜单操作退出" )
}
}

return PLUGIN_HANDLED
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg936\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset134 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang2052\\ f0\\ fs16 \n\\ par }
*/


照某位大大修改的,因为我设置的一些命令在那些菜单里,所以想做个总菜单方便其它op用.
那四个命令在控制台输入有用,在这插件中点了没有反应,编译是成功的
谁能指导下不

Rulzy 发表于 2008-5-7 03:45:14

回复: 编写的菜单执行命令为什么无效

register_menucmd(register_menuid("MySayMenu"), 1023, "MenuCommand" )



show_menu( id, keys, szMenuBody, -1, "MySayMenu" )

Cr@zyTreE 发表于 2008-5-7 09:03:28

回复: 编写的菜单执行命令为什么无效

Post by Rulzy
register_menucmd(register_menuid("MySayMenu"), 1023, "MenuCommand" )



show_menu( id, keys, szMenuBody, -1, "MySayMenu" )



不用这么改吧,

他这个写错了。

new nLen = format( szMenuBody, 255, "\y【\r惩罚与奖励菜单y】^n" )

应该是
new nLen = format( szMenuBody, 255, "\y【\r惩罚与奖励菜单\y】^n" )

如果不对应的话就会没响应,我昨天看了一下居然没发现。今天看了你的代码,我再去找才发现。

leiminlm 发表于 2008-5-7 18:10:18

回复: 编写的菜单执行命令为什么无效

多谢ls两位的指导,确实是少了个\
解决了

y543685085 发表于 2008-5-9 00:15:51

回复: 编写的菜单执行命令为什么无效

中文显示乱码,如何解决?

Rulzy 发表于 2008-5-9 03:47:05

回复: 编写的菜单执行命令为什么无效

Post by y543685085
中文显示乱码,如何解决? 将文件保存为UTF8编码。注意,要用UE等软件来保存。如果用Windows的记事本来保存,则需要到发布区下载我发布的那个修改过的Compile.exe替换原来的同名文件再用Compile.exe来编译。

y543685085 发表于 2008-5-9 10:06:56

回复: 编写的菜单执行命令为什么无效

一直用AMXX studio,晚上测试一下你的办法。

还有其它办法吗? 例如 中、英双语之类。
页: [1]
查看完整版本: 编写的菜单执行命令为什么无效