|
发表于 2008-6-25 19:24:06
|
显示全部楼层
来自 中国–福建–漳州
回复: R版主能否帮忙写个小插件
#include <amxmodx>
#include <amxmisc>
public plugin_init()
{
register_plugin("Can't Change Team", "1.0", "Rulzy");
register_menucmd(-2,(1<<0)|(1<<1)|(1<<4)|(1<<5),"team_select")
register_menucmd(register_menuid("Team_Select", 1),(1<<0)|(1<<1)|(1<<4)|(1<<5),"team_select")
}
public team_select(id, key)
{
//这里的key对应选择队伍时的菜单项,但key值小1。
//即key为0指选择菜单项1(选择T),key为1指选择菜单项2(选择CT),key为2指选择菜单项3(选择VIP),
//即key为4指选择菜单项5(自动选择),key为5指选择菜单项6(选择观察员)
//如果阻止,return PLUGIN_HANDLED;否则 return PLUGIN_CONTINUE
//如果有免疫权限,或是选择”VIP“、“自动选择”、“观察员”、“退出”则允许此菜单项执行
if(get_user_flags(id)&ADMIN_IMMUNITY || key==2 || key==4 || key==5 || key==9)
return PLUGIN_CONTINUE;
client_print(id, print_center, "本服务器禁止手动选择队伍");
client_cmd(id, "chooseteam");
return PLUGIN_HANDLED;
}
public client_command(id)
{
new command[32]
read_argv(0, command, 31)
//如果玩家使用 jointeam 命令来换队伍
//使用 jointeam 换队伍,后面的参数为数字,跟菜单项上的数字一样
if(equali(command, "jointeam"))
{
new snum[3]
read_argv(1, snum, 2)
return team_select(id, str_to_num(snum)-1) //注意要减1
}
return PLUGIN_CONTINUE
}
用这个,只能选择“5. 自动选择”,从而达到禁止选择队伍的功能。 |
|