savasun 发表于 2009-8-10 15:59:55

取消地图任务插件

本帖最后由 savasun 于 2009-8-11 12:57 编辑

我服不常开,但是有固定的保证人品的玩家来玩,现在我就遇到一问题,就是服务器刚开的时候,其他玩家还没来,几个人游戏,每当它们打不赢了就拖时间跑出大半个地图装C4。浪费我们游戏时间。
我知道有个僵尸服的noobjectives.amxx 插件可以达到效果,但是它不能灵活控制,希望高手改进改进??

zwfgdlc 发表于 2009-8-10 16:07:08

取消地图任务?什么意思,不给放包?

心静如水 发表于 2009-8-10 18:24:37

就是T或CT一方只剩一人时开始记时.....12秒内不放C4就结束本局

或是放C4后12秒没有CT到达放包区就结束本局...........

savasun 发表于 2009-8-11 12:54:48

本帖最后由 savasun 于 2009-8-11 12:56 编辑

是二楼说的那个意思,取消地图本来有的任务。比如原来救人质的,就把人质给没了,原来是安C4的 就把C4给没了。就像noobjectives.amxx 插件一样,有个开关就好了。

masher0782 发表于 2009-8-12 06:33:44

人质不知道怎么办,C4可以参照死亡竞技,在换武器事件中检测玩家手里拿的武器,是C4就自动丢掉

masher0782 发表于 2009-8-12 06:34:03

人之不知道怎么办,C4可以参照死亡竞技,在换武器事件中检测玩家手里拿的武器,是C4就自动丢掉

savasun 发表于 2009-8-12 15:56:02

楼上又给出另外一思路,不过按照你这种思路,是不是玩家靠近人质,就检测出来,自动把人质杀死?

zwfgdlc 发表于 2009-8-12 16:52:05

本帖最后由 zwfgdlc 于 2009-8-12 16:57 编辑

你自己试下吧,理论上应该没问题。
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN_NAME        "New Plug-In"
#define PLUGIN_VERSION        "1.0"
#define PLUGIN_AUTHOR        "zwfgdlc"

new pcvar_playersnum;

public plugin_init()
{
        register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
        pcvar_playersnum=register_cvar("amx_OnOff_playersum","6"); //服务器小于6人时开启
       
        if(engfunc(EngFunc_FindEntityByString,-1,"classname","func_bomb_target")) //如果是de类放包拆包地图
        RegisterHam(Ham_AddPlayerItem,"player","fwd_AddPlayerItem");
       
        if(engfunc(EngFunc_FindEntityByString,-1,"classname","hostage_entity")) //如果是cs类解救人质地图
        register_logevent("Round_Start",2,"1=Round_Start");
       
        return PLUGIN_CONTINUE;
}

public fwd_AddPlayerItem(id,ent)
{
        if(get_pdata_int(ent,43,4) != CSW_C4) return HAM_IGNORED;
        if(get_playersnum(1) > get_pcvar_num(pcvar_playersnum)) return HAM_IGNORED;
       
        cs_set_user_plant(id,0,0);
        set_pev(id,pev_body,0);
       
        message_begin(MSG_BROADCAST,get_user_msgid("ScoreAttrib"),{0,0,0},id);
        write_byte(id);
        write_byte(0);
        message_end();
       
        set_pev(ent,pev_flags,FL_KILLME);
        dllfunc(DLLFunc_Think, ent);
        SetHamReturnInteger(0);       
       
        return HAM_SUPERCEDE;
}


public Round_Start()
{
        new ent=-1;
        while((ent=engfunc(EngFunc_FindEntityByString,ent,"classname","hostage_entity")))
        {
                set_pev(ent,pev_flags,FL_KILLME);
                dllfunc(DLLFunc_Think, ent);
        }
}

savasun 发表于 2009-8-12 16:54:22

先谢过你,要是OP可以任意开关就好了?

zwfgdlc 发表于 2009-8-12 16:59:28

rcon amx_OnOff_playersum 0
就可以关掉了.
页: [1] 2 3
查看完整版本: 取消地图任务插件