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

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 4366|回复: 6

[教程] AI战斗技能调整命令解析[抛砖引玉]

  [复制链接]
发表于 2013-2-18 20:24:02 | 显示全部楼层 |阅读模式
本帖最后由 qevhytpl 于 2013-2-20 22:49 编辑

看到坛子里总有人问这个问题,我不才,姑且解释一番,不当之处请各位指教。

1.endurance  耐力。这个不用解释,跑的越久,体力越差,最后枪都端不稳了。
2.spotDistance AI在可视范围内,定位、识别目标的能力
3.spotTime  定位、识别目标的所用的时间
4.courage 胆量。
5.reloadSpeed 装填弹药时间
6.commanding 领导力,如果设置过低,也许你下命令AI不听。
7.general 暂时理解为,综合能力调整项,具体是什么我也不知道{:soso_e129:} 。
8.aimingSpeed  瞄准速度
9.aimingShake 瞄准时抖动的幅度
10.aimingAccuracy 瞄准的精确性,AI狙击手必调项

    我想各个命令间也有个相互的制约关系,比如耐力与瞄准抖动这两项,当你跑了过长的路,现实中肯定体力不支了,尽管你的瞄准抖动设置了很高的数值,但是仍然会有一定幅度的抖动,底层程序怎么工作的我们谁也不知道,反正是有一个优先级的关系在里面。

AI的各项能力调整涉及了以下几个命令:
"skill"  "setSkill"  "setUnitAbility"  "CfgAISkill"  

skill    是用来返还相关人员相应技能数值的命令。Returns current level of ability of person, in range between 0 and 1. Skill 1 is highest skill.

setSkill 是给相关人员设置相应技能数值的命令。
用法:
  1. _unit setskill ["Endurance",0.7]
复制代码
给整个组设置(放组长初始化栏里):
  1. {_x  setskill ["Endurance",0.7]}foreach units group this;
复制代码
setUnitAbility  官方:Sets skill of given unit. This command will probably differ in some future products, but currently it does the same as setSkill.

Skill may vary from 0.2 to 1.0.

这个命令在将来的BI产品【比如ARMA3】中作用可能会有所不同,但是现在作用等同于"setSkill"。

CfgAISkill  官方解释空白,不知道为什么,我可不希望这些命令现在只是构想,而并不能真正起作用。
  1. spotDistance[] = {0, 0.2, 1, 0.4};
复制代码
试着解释官方给出的信息
  1. {low_skill_value, low_skill_spotting_probability, high_skill_value, high_skill_spotting_probability}
复制代码
{该项技能最低值,出现该最低值的概率,该项技能最高值,出现该最高值的概率}
拥有低于或者等于识别目标能力设定值的AI将以设定的出现最低该项技能的概率,以设定的最低识别能力来鉴定相关目标。反之亦然
AI with a skill value at or lower than low_skill_value will have a low_skill_spotting_probability chance of spotting a target. AI with a skill value at or above high_skill_value will have a high_skill_spotting_probability chance of spotting a target.

参考文献
http://forums.bistudio.com/showt ... -are-applied-to-A-I


发表于 2013-2-18 20:46:46 来自手机 | 显示全部楼层
AI的skil为0时会很傻的举枪望天,开一枪后显示的弹药信息字体变红无法再开枪,单位被杀后是无法返还skil的

点评

很好  发表于 2013-2-19 19:03
发表于 2013-2-18 21:09:57 | 显示全部楼层
楼主我要顶你,大大的顶,长时间困扰我的问题终于解决了,谢谢楼主

点评

不客气  发表于 2013-2-19 19:02
发表于 2013-2-19 10:51:31 | 显示全部楼层
大家用ASR AI, Group Link 4或Zuis AI等等就会发现区别,这类mods的首设项就是setSkill Array,默认的基本都在0.75,进去基本就是挨枪子儿。

至于Difficulity中的skill滑条,Super AI和SetSkill究竟是什么关系?就这么说Super AI = Skill 1 = setSkill Array 0.2。

既然Default为0.2,也就是说即使你是自虐狂开启Super AI(这里的Skill拖拽条己经没有意义了,包括编辑器里的Unit Skill)始终无法体验到真正变态的AI。

那我们现在来一个大比拼,究竟是Skill为0而Skill Array手写状态为1的AI厉害还是Skill array为默认的Super AI更胜一筹呢?

最终测试的结果是这样的,人工设定而经验为0的AI实际作战能力高于默认经验的Super AI,得出的结论就是Skill Array的运行处理优先于Skill。

那Skill在AI能力中究竟扮演着什么作用?答案是这样的,它相当于是Skill Array中各个子类项数值的加成作用。

这么理解,在人为不改动的情况下,所有AI单位的Skill Array所有子项的能力参数基数全部都是0.2.随着人为对Skill滑条的改动不断增加,AI的各项能力在基数不变的情况下得到后台加强,换言之,Super AI就是基数为0.2的最大加成型AI,他们拥有无以伦比的鸡血战斗能力。

反言之,如果认为将基数设为0,那么无论乘数如何大,最后的结果也只会是0,所以说,即使是Super AI,如果基数为0,那么就成了炮灰一个。

所以如果你是自虐狂,可以考虑基数1的Super AI,测试后发现人人开挂,来复枪当狙用,静止目标枪枪要害。

Skill与基数之间有许许多多的配合妙用,举个例子,如果你喜欢枪林弹雨却鲜有人员伤亡的战场,试着将机枪手的Skill设为1,而aimingAccuracy为0,那是相当的激烈,犹如新兵上战场扣着扳机松不了。
发表于 2013-2-19 11:18:26 | 显示全部楼层
FFUR2007SLX2_5 发表于 2013-2-19 10:51
大家用ASR AI, Group Link 4或Zuis AI等等就会发现区别,这类mods的首设项就是setSkill Array,默认的基本都 ...

多谢大师指点迷津,小生恍然大悟
 楼主| 发表于 2013-2-19 19:01:42 | 显示全部楼层
本帖最后由 qevhytpl 于 2013-2-19 19:03 编辑
FFUR2007SLX2_5 发表于 2013-2-19 10:51
大家用ASR AI, Group Link 4或Zuis AI等等就会发现区别,这类mods的首设项就是setSkill Array,默认的基本都 ...


感谢版主做了深入的补充,正如你所说,Skill array具有最高控制权,这样做是很有道理的,因为使用命令来调整AI的战斗技能拥有更高的效率。
发表于 2013-3-26 10:17:51 | 显示全部楼层
好文,才看到,恨晚。
收藏,仔细研究!
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-4-20 21:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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