@zqh9843AI的配置文件是pilots_population.ini,这个结构比较复杂,基本上就是控制NPC各种行为的配置。比如EvadeDodgeBlock就是控制飞船缠斗的控制块、BuzzPassByBlock就是控制飞船反转逃逸时候AI表现的控制块。TrailBlock是追踪、StrafeBlock应该是迎面攻击。
其中大部分Mod改的比较多的应该是GunBlock和MissileBlock,分别控制发射炮弹和导弹的时机。其中GunBlock是有射击精确度配置的:
gun_fire_accuracy_power是射击玩家的时候,配置成1是100%的精度,0是0%的精度。
gun_fire_accuracy_power_npc是当NPC攻击NPC的时候。所以你可以设定让NPC之间的攻击不要那么猛烈。
另外这个精度需要配合其他设定由引擎实时运算得到,不是你配置了100%就会是100%。
导弹等没有射击精度配置。
当你配置好AI设置之后在[Pilot]里引用这些设定,然后再在npcships.ini里将Ship和AI [Pilot]绑定。这样游戏就会使用你的设置运行了。
巡逻这个需要更改稍微多的文件。
首先需要引用一个巡逻参数,比如在Br05.ini这个文件里添加(本来就有)
[EncounterParameters]
nickname = area_defend
filename = missions\encounters\area_defend.ini
然后找到你想要巡逻的Zone,比如Zone_Br05_to_Br01_gate,添加
encounter = area_defend, 6, 0.110000 (参数是 巡航参数, NPC级别, 比率百分比)
faction = br_n_grp, 1.000000 (参数是 势力代码, 比率百分比)
br_n_grp 是BR国的海军。
上面的代码不是全部,但你可以用Freelancer Explorer的GUI来设置,然后再修改ini文件来微调。基本上也是你去参照原版的实现来进行仿制就好了。
注意各种参数的百分比,比如encounter最后一个数字。一个Zone里所有encounter的百分比相加不可以大于1,如果大于的话,服务器会有很高的概率崩溃。AI配置文件也同理。
另外,所有的数据都必须是合法的,比如你设定了br_n_grp,那么br_n_grp必须存在,否则就不会出现,也或者可能导致崩溃。在比如NPC的级别,如果当前势力没有那个级别的NPC,那么巡逻队就不会出现,也可能造成崩溃。
势力代码你可以在FLStat里看到。四个国家有8个固定的势力:
_n_grp 代表海军
_p_grp 代表警察
比如 li_n_grp 就是Liberty海军,rh_p_grp就是Rheinland警察。
基本上就是这样。
还有一种巡逻,属性是path型的,就是地图上的巡逻线(这才是真巡逻)。那个非常难配置,NPC必须从一个端点出现,然后一直连接到可能的消失点。
比如Xeno这种犯罪势力,它的巡逻线只能从和他友好的基地开始或跳跃洞开始,然后在一个合理的位置结束,比如他自己的/友好基地或者跳跃洞。如果配置不正确,服务器会崩溃。由于太复杂了,我自己的MOD删掉了所有巡逻线。