CS菜鸟鸟 发表于 2008-6-25 15:50:59

R版主能否帮忙写个小插件

插件功能很简单
进入服务器的玩家禁止选择队伍。由服务器自动分配到少人的队

OP有免疫功能(可在AMXX。CFG里设置开关和免疫的权限)

以前在DT找的那些插件都会和死亡重生插件冲突
导致进入服务器不能自动在改局重生
谢谢

Rulzy 发表于 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
read_argv(0, command, 31)
//如果玩家使用 jointeam 命令来换队伍
//使用 jointeam 换队伍,后面的参数为数字,跟菜单项上的数字一样
if(equali(command, "jointeam"))
{
new snum
read_argv(1, snum, 2)
return team_select(id, str_to_num(snum)-1) //注意要减1
}
return PLUGIN_CONTINUE
}

用这个,只能选择“5. 自动选择”,从而达到禁止选择队伍的功能。

CS菜鸟鸟 发表于 2008-6-26 09:32:11

回复: R版主能否帮忙写个小插件

多谢R版主的全面细致的指点。。。。

axiajiajunzhuai 发表于 2008-6-26 15:25:43

回复: R版主能否帮忙写个小插件

哎R斑竹就是凶啊。。。。支持

心静如水 发表于 2008-6-26 15:56:45

回复: R版主能否帮忙写个小插件

最好再加入自动传他到人少的队伍的功能................那更好....

CS菜鸟鸟 发表于 2008-6-26 16:23:05

回复: R版主能否帮忙写个小插件

我也是这么想的。这样就更方便了

baili1258 发表于 2008-6-26 17:28:37

回复: R版主能否帮忙写个小插件

5. 自动选择 功能是就可以自动转送玩家到人数较少的那边...
或者可以自己来定义都行


new Players
new CTplayerCount, TplayerCount
get_players(Players, CTplayerCount, "e","CT")
get_players(Players, TplayerCount, "e","T")
if(TplayerCount < CTplayerCount)
{
cs_set_user_team(id,CS_TEAM_T)
}
else if(TplayerCount > CTplayerCount)
{
cs_set_user_team(id,CS_TEAM_CT)
}
else
{
cs_set_user_team(id, random_num(1, 2));
}

Rulzy 发表于 2008-6-26 20:32:14

回复: R版主能否帮忙写个小插件

Post by 心静如水
最好再加入自动传他到人少的队伍的功能................那更好.... 没必要吧?那还给不给别人M6啦?

Rulzy 发表于 2008-6-26 20:36:36

回复: R版主能否帮忙写个小插件

如果确实需要,在玩家进入游戏后,执行命令“jointeam 5”就行了。

public client_putinserver(id)
{
    set_task(0.1, "delay_jointeam", id);
}
public delay_jointeam(id)
{
    if(is_user_connected(id))
      engclient_cmd(id, "jointeam", "5");
}

Rulzy 发表于 2008-6-26 20:42:28

回复: R版主能否帮忙写个小插件

以上代码还未经测试,大家测试一下看行不行。
页: [1] 2 3
查看完整版本: R版主能否帮忙写个小插件