搜索
查看: 6456|回复: 5

[AMXX 带源码] 【开源】ZP模式BOT开局前不乱开枪兼统一队伍插件

[复制链接]
发表于 2011-8-29 08:25:16 | 显示全部楼层 |阅读模式 来自 中国–湖北–武汉
本帖最后由 Osker Lee 于 2011-8-31 22:29 编辑

以往那些禁止BOT开局前乱开枪插件,一般是游戏前20秒不开枪,一旦过了20秒,其实还是可能会出现误判的情况,BOT仍然存在乱开枪的情况。

因此,我的解决办法是,开局前禁止BOT开枪(真人玩家除外可以开枪,虽然BOT不能开枪但能用刀子砍人) + 统一玩家的队伍(默认全体玩家在新的一局开始时自动加入CT方),这样一来应该就可以解决问题了。源码如下,需要的朋友来拿吧。
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <zombieplague>

#define PLUGIN    "Bot Unattack"
#define VERSION    "1.0"
#define AUTHOR    "Osker Lee"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    register_forward(FM_CmdStart , "fm_CmdStart")
}

//public plugin_precache()
//{
    //set_cvar_string("humans_join_team", "ct")
    //set_cvar_string("bot_join_team", "ct")
    //set_cvar_num("sv_restart", 1)
//}

public event_round_start()

    for (new i = 1; i <= get_maxplayers(); i++)
    {
        if(is_user_connected(i))
        cs_set_user_team(i, CS_TEAM_CT)
}

public fm_CmdStart(id,Handle)
{
        new Buttons; Buttons = get_uc(Handle,UC_Buttons)
        if(is_user_bot(id) && !zp_has_round_started())
        {
                Buttons &= ~IN_ATTACK
                set_uc(Handle , UC_Buttons , Buttons)
                return FMRES_SUPERCEDE
        }
        return FMRES_IGNORED
}

【备注】
游戏运行后,第一局可能会出现团队不统一的情况,这时只需要刷新一下游戏,第二局开始后就正常了。测试环境为:CS1.6 +Podbot+Yapb,Zbot未作测试,因为严格来说Zbot是CZ专用的。另外,若想玩家进入游戏后只显示CT方的选人菜单而不显示T方的选人菜单(即强制玩家只能当CT),请将源码里以下代码前的//符号去掉。
//public plugin_precache()
//{
     //set_cvar_string("humans_join_team", "ct")
    //set_cvar_string("bot_join_team", "ct")
    //set_cvar_num("sv_restart", 1)
//}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
发表于 2013-4-6 18:46:05 | 显示全部楼层 来自 中国–广东–中山
沙发,不错的插件哈哈!
回复

使用道具 举报

发表于 2016-11-4 17:22:58 | 显示全部楼层 来自 中国–重庆–重庆
有一个问题,把这个插件用在ZP的时候,在倒计时还没出现僵尸的时候,如果来了新玩家,新玩家加CT时会提示人数太多,只能选择加入T阵营,但是一旦加入T阵营...游戏就重新开始了...求解
回复

使用道具 举报

发表于 2016-11-4 17:24:59 | 显示全部楼层 来自 中国–重庆–重庆
看到后面的信息了!
public plugin_precache()
{
    set_cvar_string("humans_join_team", "ct")
    set_cvar_string("bot_join_team", "ct")
    set_cvar_num("sv_restart", 1)
}
我这样试试
回复

使用道具 举报

发表于 2017-10-9 16:06:42 | 显示全部楼层 来自 中国–福建–三明
正好需要  以前保存的插件都删除光了
回复

使用道具 举报

发表于 2021-6-5 21:30:10 | 显示全部楼层 来自 中国–福建–厦门
sfsfsfsfsfsfsfsfs
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表