搜索
查看: 5547|回复: 21

取消地图任务插件

[复制链接]
发表于 2009-8-10 15:59:55 | 显示全部楼层 |阅读模式 来自 湖南株洲
本帖最后由 savasun 于 2009-8-11 12:57 编辑

我服不常开,但是有固定的保证人品的玩家来玩,现在我就遇到一问题,就是服务器刚开的时候,其他玩家还没来,几个人游戏,每当它们打不赢了就拖时间跑出大半个地图装C4。浪费我们游戏时间。
我知道有个僵尸服的noobjectives.amxx 插件可以达到效果,但是它不能灵活控制,希望高手改进改进??
发表于 2009-8-10 16:07:08 | 显示全部楼层 来自 广东惠州
取消地图任务?什么意思,不给放包?
回复

使用道具 举报

发表于 2009-8-10 18:24:37 | 显示全部楼层 来自 广西百色
就是T或CT一方只剩一人时开始记时.....12秒内不放C4就结束本局

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

使用道具 举报

 楼主| 发表于 2009-8-11 12:54:48 | 显示全部楼层 来自 湖南株洲
本帖最后由 savasun 于 2009-8-11 12:56 编辑

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

使用道具 举报

发表于 2009-8-12 06:33:44 | 显示全部楼层 来自 山东济南
人质不知道怎么办,C4可以参照死亡竞技,在换武器事件中检测玩家手里拿的武器,是C4就自动丢掉
回复

使用道具 举报

发表于 2009-8-12 06:34:03 | 显示全部楼层 来自 山东济南
人之不知道怎么办,C4可以参照死亡竞技,在换武器事件中检测玩家手里拿的武器,是C4就自动丢掉
回复

使用道具 举报

 楼主| 发表于 2009-8-12 15:56:02 | 显示全部楼层 来自 湖南株洲
楼上又给出另外一思路,不过按照你这种思路,是不是玩家靠近人质,就检测出来,自动把人质杀死?
回复

使用道具 举报

发表于 2009-8-12 16:52:05 | 显示全部楼层 来自 广东惠州
本帖最后由 zwfgdlc 于 2009-8-12 16:57 编辑

你自己试下吧,理论上应该没问题。

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <cstrike>
  5. #include <hamsandwich>

  6. #define PLUGIN_NAME        "New Plug-In"
  7. #define PLUGIN_VERSION        "1.0"
  8. #define PLUGIN_AUTHOR        "zwfgdlc"

  9. new pcvar_playersnum;

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

  23. public fwd_AddPlayerItem(id,ent)
  24. {
  25.         if(get_pdata_int(ent,43,4) != CSW_C4) return HAM_IGNORED;
  26.         if(get_playersnum(1) > get_pcvar_num(pcvar_playersnum)) return HAM_IGNORED;
  27.        
  28.         cs_set_user_plant(id,0,0);
  29.         set_pev(id,pev_body,0);
  30.        
  31.         message_begin(MSG_BROADCAST,get_user_msgid("ScoreAttrib"),{0,0,0},id);
  32.         write_byte(id);
  33.         write_byte(0);
  34.         message_end();
  35.        
  36.         set_pev(ent,pev_flags,FL_KILLME);
  37.         dllfunc(DLLFunc_Think, ent);
  38.         SetHamReturnInteger(0);       
  39.        
  40.         return HAM_SUPERCEDE;
  41. }


  42. public Round_Start()
  43. {
  44.         new ent=-1;
  45.         while((ent=engfunc(EngFunc_FindEntityByString,ent,"classname","hostage_entity")))
  46.         {
  47.                 set_pev(ent,pev_flags,FL_KILLME);
  48.                 dllfunc(DLLFunc_Think, ent);
  49.         }
  50. }
复制代码

评分

参与人数 1经验 +3 点通币 +100 收起 理由
xiaolysh + 3 + 100

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2009-8-12 16:54:22 | 显示全部楼层 来自 湖南株洲
先谢过你,要是OP可以任意开关就好了?
回复

使用道具 举报

发表于 2009-8-12 16:59:28 | 显示全部楼层 来自 广东惠州
rcon amx_OnOff_playersum 0
就可以关掉了.
回复

使用道具 举报

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

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