打开它的sma文件,在alias_run(id)函数中有这么一段
if (contain(cflags,"l") != -1) // client command
client_cmd(id,command)
else // server command
server_cmd("%s",command)
意思是说在aliases.cfg中定义执行命令的标记为l时,op执行这一命令时是在op的控制台中执行被alias的命令,即从客户端执行该命令。
当执行命令没有该标记时,该命令在服务器端执行。..
这样的话如果需要在服务器端执行的命令就不需要加l标记。例如
amx_alias "pw" "sv_password" k,即可达到远程控制的目的,而不必拥有amx_rcon权限...这样的话,alias的权限设置范围就扩大了~
大家以前可能不明白为什么amx_alias "menu" "amxmodmenu" u不起作用,现在应该明白了吧~它是把amxmodmenu发送到服务器端了而不是客户端。只需加上l标记即可。即
amx_alias "menu" "amxmodmenu" ul
注意命令权限定义在前,标记l在后~ |