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

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 2788|回复: 17

[讨论] 不知道各位脚本达人是如何解决删除单位时的顿卡问题?

[复制链接]
发表于 2012-12-17 11:55:44 | 显示全部楼层 |阅读模式
删除单位时如果一下子删除过多的话会出现顿卡~~
这种问题高手们是怎么解决的?删除单位的解决办法我是用隐藏尸体以及setpos尸体到一个看不到的地方来解决的~删除的时候如果一下删太多单位实在太卡了

其实隐藏尸体和删除尸体有什么区别?是不是只要尸体没有显示出来~就不会对机器造成顿卡的影响?那么是不是就不需要删除命令都可以?
发表于 2012-12-17 13:47:47 | 显示全部楼层
可以用修改器在游戏里面就可以很方便
发表于 2012-12-17 14:15:27 | 显示全部楼层
  1. {sqf = [_x] execVM "ca\modules\garbage_collector\data\scripts\trashIt.sqf";} forEach AllUnits;
复制代码
 楼主| 发表于 2012-12-17 14:33:46 | 显示全部楼层
FFUR2007SLX2_5 发表于 2012-12-17 14:15

删除尸体的官方脚本?
 楼主| 发表于 2012-12-17 15:49:39 | 显示全部楼层
FFUR2007SLX2_5 发表于 2012-12-17 14:15

版主兄地~你知道怎么让作战状态的士兵迅速让他移动到某个地放吗?
我搞个刷兵脚本~可是刷出来的兵员因为接收到存活队员的敌情~所以在一个地方刷出来以后就直接变为作战状态~趴在地上畏敌不前的样子~~等到玩家打到刷兵地点以后就会见到一坨敌军躺在地上~
发表于 2012-12-17 17:48:18 | 显示全部楼层
下网上载 发表于 2012-12-17 15:49
版主兄地~你知道怎么让作战状态的士兵迅速让他移动到某个地放吗?
我搞个刷兵脚本~可是刷出来的兵员因为 ...

考虑分小队 和 从非战斗区瞬移 传送到触发器位置
 楼主| 发表于 2012-12-17 18:36:54 | 显示全部楼层
BF2MOD-laihao 发表于 2012-12-17 17:48
考虑分小队 和 从非战斗区瞬移 传送到触发器位置

这样看起来不是很假吗~突然间玩家的视觉了就出现一个敌人单位
 楼主| 发表于 2012-12-17 18:37:36 | 显示全部楼层
我的想法是把小队队员刷出来后再脱离小队~让新刷的收不到敌情信息
发表于 2012-12-17 19:45:19 | 显示全部楼层
闪点行动1里可以直接埋掉尸体。有个选项的。
 楼主| 发表于 2012-12-17 20:23:04 | 显示全部楼层
小队中设置红队绿队黄队的时候~怎么用脚本去约束各队的战斗姿态?比如我想要红队为放松的 绿队为战斗的~怎么用脚本去约束?不是玩家下命令而是用脚本约束~谁知道?
发表于 2012-12-17 22:15:47 | 显示全部楼层
我的思路是给每个兵增加一个EH,然后sleep一段时间,反正不会一块死,所以也不会一块删,这样系统负担应该会小一些。另外你开始约束行为比较简单,但是你再想转换就不那么容易了,你能一直控制对象吗?还有后期的转换条件你也要考虑,不然兵们全都傻站着就悲剧了。
 楼主| 发表于 2012-12-17 22:39:52 来自手机 | 显示全部楼层
qevhytpl 发表于 2012-12-17 22:15 我的思路是给每个兵增加一个EH,然后sleep一段时间,反正不会一块死,所以也不会一块删,这样系统负担应该会 ...

就算我循环设定单位domove去目标点,在后方刷新出来的士兵也陷入作战状态趴在地上死活不肯往前蛋疼死了,明明前方士兵遇敌后方新出来的又不上去帮忙,我现在在想怎样才能让ai脱离小队自己以放松的姿态前进到作战区域
发表于 2012-12-17 23:46:00 | 显示全部楼层
  1. while {Cond} do {
  2.    {[_x] disableAI "Target";} forEach Units group A;
  3.    waitUntil {(time == 0)||Cond1};
  4.    if (Cond1) then {Cond = false;}
  5. };
  6. {[_x] EnableAI "Target";} forEach Units group A;
复制代码
1//你的条件,在何种cond条件不变的情况下disable AI,否则进入交火;
3//检测保存,保存disable会失效,用循环重新disable;亦或Cond1条件介入直接交火结束循环。

没有实测过,需要你亲自测试。
 楼主| 发表于 2012-12-18 09:16:53 | 显示全部楼层
FFUR2007SLX2_5 发表于 2012-12-17 23:46
1//你的条件,在何种cond条件不变的情况下disable AI,否则进入交火;
3//检测保存,保存disable会失效,用 ...

不行啊~锁住AI循环执行AI也会接收到达成条件的AI传回来的敌情数据~那么他就会脱离disable~状态之后你再设定AI为disable~那么他就会站在那里~反应不过来的样子~定在那里~~

另外我发现一个奇了怪了的问题~如果我在那张地图丢上敌友单位共一百个对射~机器不怎么会卡~~但是如果用脚本刷出兵员~可能总共刷个50~60个机器就开始顿卡
发表于 2012-12-18 10:44:30 | 显示全部楼层
本帖最后由 FFUR2007SLX2_5 于 2012-12-18 10:46 编辑

那改一下:
  1. {_Guy disableAI _x;} foreach ["MOVE", "TARGET", "AUTOTARGET", "ANIM"]; group _Guy setBehaviour "careless";
复制代码
另外createUnit要考虑CPU性能,机器好可以多点,机器不行得考虑优化。
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-4-28 21:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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