安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题









日志最后部分:
79-0
Incoming message: ErrorMessages
Incoming message: Disconnect
...
System.NullReferenceException: Object reference not set to an instance of an object.
at DMD<GameData.Domains.Building.BuildingDomain::StartMakeItem> ...
79-0 表示第 79 号材料?或某一制作项用量 0。
紧接着就出现了 NullReferenceException,说明 StartMakeItem 内部读取这个“用量 0”的材料/配方失败。
整体原因推测
该“批量制作”Mod 修改或替换了原本的制作流程,让同一建筑/界面可一次性多次制作。
当材料实际剩余量或需求用量变成 0(甚至低于 1)时,Mod 并没有阻止进一步点击“可制作”按钮,也没能给游戏正确传递“材料不足”或“无需消耗”的处理结果;
导致调用到游戏“BuildingDomain::StartMakeItem”时,出现数据不一致或未初始化(null)的情况,最终触发空引用报错并断开。
正常情况下,如果某项材料数量不够,或材料用量已经 0,不应该继续调用“StartMake”流程;可现在批量制作的 Mod 没有正确处理这个情况,让游戏原生方法依然收到一个“空”或“无效”的参数(也许是合成配方、材料槽位、剩余数量等结构为 null),因此直接抛出 NullReferenceException。
从这份 Player.log 可以看出,当批量制作 Mod(BatchMake.dll)尝试调用游戏内部的“StartMakeItem” 方法时,最终出现了下列致命报错导致游戏断开:
NullReferenceException: Object reference not set to an instance of an object.
at DMD<GameData.Domains.Building.BuildingDomain::StartMakeItem>(BuildingDomain this, DataContext context, StartMakeArguments startMakeArguments)
也就是说,StartMakeItem 需要的某个对象是 null,却被游戏继续使用,从而抛出空引用异常。这恰好和你描述的“多次批量制造后,材料用量变成 0 但按钮还显示可制作,一旦点击就报错”的现象吻合
还有新版本凝练淬毒没适配,如果先点上几份毒药再收回来就会红,然后整个游戏的标签全部看不了,游戏也不能退,只能alt f4