|
|
发表于 2026-9-12 13:13:38
|
显示全部楼层
楼主,mod疑似有个bug,f切换视角到其他船游戏会直接崩溃。
3791079 [Thread-2] ERROR com.fs.starfarer.combat.ai.ProximityFuseAI - org.json.JSONException: JSONObject["range"] not found.
org.json.JSONException: JSONObject["range"] not found.
at org.json.JSONObject.get(JSONObject.java:406) ~[json.jar:?]
at org.json.JSONObject.getDouble(JSONObject.java:445) ~[json.jar:?]
at com.fs.starfarer.combat.ai.ProximityFuseAI.updateDamage(Unknown Source) [starfarer_obf.jar:?]
at com.fs.starfarer.combat.ai.ProximityFuseAI.<init>(Unknown Source) [starfarer_obf.jar:?]
at com.fs.starfarer.combat.entities.Missile.notifyDealtDamage(Unknown Source) [starfarer_obf.jar:?]
我把log发给ai之后返回的是
问题原理解析
核心病灶(JSONObject["range"] not found):
当战场上有导弹(具备近炸引信 ProximityFuseAI)造成伤害或爆炸时,游戏尝试读取该导弹/引信配置中的 range(作用半径/范围)数值。
由于某个 Mod 添加(或修改)的导弹数据写错或格式缺失,代码找不到 range 字段,直接抛出了未捕获的 JSONException,导致战斗引擎崩溃。
按 F 键为什么会触发:
按下 F 键 会把镜头锁到指定舰船,或者将该舰船设为玩家的观察/控制目标。
切换视角会触发战斗引擎重新计算周围实体的 AI 逻辑、目标锁定状态以及 UI/碰撞绘制。这正好强制引擎去更新了那个配置有缺陷的导弹/武器,从而瞬间引爆了这个隐藏Bug。
解决与排查步骤
你需要找到是哪个 Mod 的武器/导弹配置漏写了 range。日志中出现了一些涉事 Mod 的舰船/战机 ID,可以作为线索:
涉事战机/武器线索:
tvvfw_scarrebiron_mk_2
irenaeus-lp-tds
kyeltziv_ruslan_p / pmm_vigilance_p
Ac_Attker_S / Ac_Adultdog
上面涉事mod我排查过,都是老列表里面的没出过问题除了kyeltziv_ruslan_p / pmm_vigilance_p,所以很可能是这个mod的问题 |
|