@为了提莫酱这个教程适合于BF2修改爱好者,如果你对于BF2文件构造不太懂,这篇文章会看起来很难理解
希望你能看懂,因为这涉及到AI的修改,如果你只是极个别地图改着玩玩,我建议你用BF2Editor,在飞机旁边设置一个专门给AI复活的重生点并且写一句立即进入物体的设置语句
如果你是所有地图都这么做,那么就得改AI文件
Object_server.zip/vehicles里面有各式各样的飞机,并且附带ai文件,这些文件控制着Bot在面对各种载具时做出的反映
我以J10为例子,打开AI/object.ai
一般来说,最开始的开头会有这两行
aiTemplatePlugIn.setStrategicStrength 0 3 -----设置载具的进攻战略强度(布尔值=0),后面一个值是强度,这里就表示,这个载具会拿来进攻,进攻的强度为3
aiTemplatePlugIn.setStrategicStrength 1 3 ------设置载具的防御战略强度(布尔值=1),后面一个值是强度,这里就表示,这个载具会拿来守点,守护的强度为3
之后看到这一行
aiTemplate.create J10
这一个段落直接规定了J10在AI中的使用情况
其中
aiTemplate.degeneration 5 ------决定了AI在看不到J10多少秒后将其遗忘
aiTemplate.allowedTimeDiff 0.5 ------告诉游戏在AI可以看到J10后更新有关J10的信息的频率
aiTemplate.basicTemp 15 ------设置该载具于地图其他载具相比选择的优先值
通过提高战略强度值(也就是后面的那个3),并提高载具的选择优先值,AI将会优先选择这个载具,但这两个值都是相对其他现有载具而言的。
这里有一个提高选择的例子
aiTemplatePlugIn.setStrategicStrength 0 4
aiTemplatePlugIn.setStrategicStrength 1 4
......
aiTemplate.degeneration 5
aiTemplate.allowedTimeDiff 2
aiTemplate.basicTemp 30
以上的例子,AI会更少考虑看到他看不到的载具,每隔2秒就更新他能看到载具的信息,通过aiTemplatePlugIn.setStrategicStrength让AI判断使用哪种战略强度中的哪种载具更好面对当前的情况。
但是,给某一个载具编写这样的优先级代码比较难,因为你要综合性考虑其他载具的使用情况,如果出现优先级更高的载具,AI可能优先考虑那个,并且如果太调高了会出现很鬼畜不符合逻辑的情况(比如对面压机场了,AI此时此刻应该选择开坦克和防空车防御家而不是去跑过去开战斗机)