中国虚拟军事网(VME)- 专注于武装突袭系列虚拟军事游戏

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 1450|回复: 6

[原创] 解决AI途中遇袭停止不前的脚本

[复制链接]
发表于 2013-1-20 12:27:45 来自手机 | 显示全部楼层 |阅读模式
有些任务要AI从A点到B点快速行军进行支援,要是途中遇敌如果距离比较近威胁比较大停下来自卫还击并尽可能快速结束战斗无可厚非,但是AI发现敌军却是蛋疼的趴在地上慢慢爬和还击时间拖得很长影响了任务节奏,本脚本能在一定程度改善这个问题。
通过第一个路点执行 EAST setFriend [WEST,1]; nul = [this] execVM "*.sqf";


_t = time;
_group = _this select 0;
_distance = 300;//两个距离根据需要设置
_distance2 = 100;

_a = {
{
   Tag_u = _this select 0;
   _x doFire Tag_u;
} forEach units group _group;
};

_b = true;
_on_off = true;
while {_on_off} do {

  {
    if(((_x distance _group) < _distance) && ((side _x)==WEST) && _b) then {
      [_x] call _a;
          waitUntil {(!alive Tag_u) or ((time - _t) >=2)};
          _t = time;
        };
    if(((_x distance _group) <  distance2) && ((side _x)==WEST)) then {
          EAST setFriend [WEST,0];
          _b = false;
    }else{
          EAST setFriend [WEST,1];
          _b = true;
        };
  } forEach allUnits;
  
  sleep 1;
};

/*到达目的地后在你的脚本或任务路点激活栏中输入:
_on_off = false;
EAST setFriend [WEST,0];
*/
  

点评

原创脚本  发表于 2013-1-20 13:35
发表于 2013-1-20 13:31:08 | 显示全部楼层
这个脚本只能单边用,而且另一方还是会攻击,因为只是East setFriend West而已。这样有悖常理吧,不太合适。。。
 楼主| 发表于 2013-1-20 13:46:32 来自手机 | 显示全部楼层
如果编辑任务为了获得支援队伍途中遇袭的镜头等就不用考虑合不合理了,双边使用的话修改成蓝方对红方友好保存成第二个脚本,两脚本同时运行……
发表于 2013-1-20 13:50:45 | 显示全部楼层
Intended to be used on mission start. Changing value during mission can cause unexpected errors in AI behavior.


setfriend作用于整个阵营,建议用disableai和setcaptive.
 楼主| 发表于 2013-1-20 13:56:02 来自手机 | 显示全部楼层
FFUR2007SLX2_5 发表于 2013-1-20 13:50  setfriend作用于整个阵营,建议用disableai和setcaptive.

多谢提醒,疏忽了……
发表于 2013-1-21 09:06:12 | 显示全部楼层
其实我试过用attachTo, 把一辆悍马固定到一辆隐形的平民的载具上,但是悲剧的是就算关闭了那个开车平民的AI~一旦这个平民载具附近出现爆炸等等问题,(因为敌军会攻击悍马车)
平民一样会发现敌人~~~只要受到攻击那个关闭AI的命令就没用了~~~只要检测到敌人~马上平民就会停下来~乱拐~~悍马也跟着乱拐~~有时候甚至能开到海里去~
 楼主| 发表于 2013-1-21 18:26:31 来自手机 | 显示全部楼层
游戏AI就这样……不研究了
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-5-4 03:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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