骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买霸主CDKEY 购买战帆CDKEY
查看: 229|回复: 1

[MOD相关] 鹰之崛起铁匠铺报错修复(AI

[复制链接]

7

主题

69

回帖

23

积分

随仆

Rank: 1

UID
1410240
第纳尔
540
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2013-6-13

战团正版勋章维京征服正版勋章汉匈决战正版勋章霸主正版勋章

鲜花(0) 鸡蛋(0)
发表于 2026-9-26 22:57:48 | 显示全部楼层 |阅读模式
通过豆包本地电脑版,直接定位问题,解决问题。
目前这个问题已经圆满解决,让豆包把它整理成一篇普通玩家也能照着操作的论坛发帖版本。核心思路:把"改文件"的每一步都拆到记事本级别,不依赖任何 AI 工具。

标题:《骑马与砍杀2》鹰之崛起[布匿战争] MOD 铁匠铺报错修复:武器类目不显示名字(ERROR: Text with id str_crafting_template doesn't exist! Variation: cla_celtic_OneHandedSword)【问题现象】进入游戏铁匠铺(锻造界面)后,武器类目列表里有一项不显示名字,只显示一段红色错误代码:
ERROR: Text with id str_crafting_template doesn't exist! Variation: cla_celtic_OneHandedSword界面顶部还会弹出错误横幅,但其他武器(短剑、角斗士、匕首等)都正常,只有"凯尔特剑"这一类目有问题。点击打造凯尔特剑本身不会崩溃,但类目名称一直显示错误代码。

【影响范围】
  • 游戏版本:骑马与砍杀2 霸主 v1.2.12
  • MOD:鹰之崛起 [布匿战争](CA_EagleRising v3.4.2)
  • 装了汉化包的情况(EagleRising(Punic Wars)For1.2.12_CNs)同样报错
  • 英文原版和汉化版都会遇到
【问题原因(通俗版)】游戏铁匠铺里每种武器类目都要有一个"名字条目"来显示。MOD 作者在模板文件里加了"凯尔特剑"这个新类目,却忘了在名字表里给它注册名字。于是游戏加载时找不到名字,就显示错误代码。
简单说就是:MOD 作者少写了一行字,我们帮它补上即可。只需要在 2 个文件里各加 1 行,全程用记事本,不需要任何工具。
【修复步骤】
第一步:完全退出游戏(避免文件被占用,改不了)。
第二步:找到 MOD 文件夹在 Steam 库中右键《骑马与砍杀2》→ 管理 → 浏览本地文件,会打开游戏根目录(一般形如 D:\Steam\steamapps\common\Mount & Blade II Bannerlord)。进入其中的 Modules 文件夹:
Modules\CA_EagleRising\ModuleData第三步:备份(强烈建议)在 ModuleData 文件夹里找到 module_strings.xml,右键 → 复制,然后粘贴,把副本改名为 module_strings.xml.bak。改坏了随时能恢复。
第四步:用记事本打开并编辑(英文原版玩家做完这步即可)
  • 右键 module_strings.xml → 打开方式 → 记事本(不要用 Word)
  • 按 Ctrl + F 查找:str_crafting_template.cla_TwoHandedPolearm
  • 找到那行文字(内容类似 ...text="{=cla_TwoHandedPolearm}Hasta" />),把光标移到该行末尾,按回车换行
  • 在新的一行完整粘贴下面这一行:
<string id="str_crafting_template.cla_celtic_OneHandedSword" text="{=str_crafting_template.cla_celtic_OneHandedSword}Celtic Swords" />
  • 按 Ctrl + S 保存,关闭记事本。
第五步:装了汉化包的玩家继续(显示中文"凯尔特剑")
  • 进入汉化包目录:
Modules\EagleRising(Punic Wars)For1.2.12_CNs\ModuleData\Languages\CNs
  • 同样先备份 module_strings_key.xml(复制粘贴改名 .bak)
  • 用记事本打开,按 Ctrl + F 查找:str_crafting_template.cla_Javelin
  • 在那一行末尾按回车换行,完整粘贴:
<string id="str_crafting_template.cla_celtic_OneHandedSword" text="凯尔特剑" />
  • Ctrl + S 保存。
第六步:验证重新启动游戏,进入铁匠铺。凯尔特剑类目应该正常显示名字(英文版显示 "Celtic Swords",汉化版显示"凯尔特剑"),可以正常点击打造,不再弹错误。
【常见问题】
  • 保存时弹出编码选择? 选 UTF-8(Windows 10/11 记事本一般默认就是,不用改)。
  • 找不到 module_strings.xml? 确认路径是 Modules\CA_EagleRising\ModuleData,注意 MOD 文件夹名是 CA_EagleRising(如果你的叫 CA_EagleRising1 也一样操作)。
  • 只改了主 MOD,没装汉化包,显示英文名? 正常,英文版就叫 "Celtic Swords"。
  • 装汉化包但显示英文? 检查第五步的汉化包路径是否正确,module_strings_key.xml 是否保存成功。
  • 粘贴后报错没消失? 检查粘贴的那一行是否完整、引号是否齐全(半角 " 不是中文引号),文件是否真的保存了。
  • 改坏了想恢复? 把 .bak 备份文件改名覆盖回去即可(或删掉你加的那一行)。
【原理说明(给想搞懂的人)】游戏锻造界面的类目名按 str_crafting_template.模板ID 规则查找。MOD 在 weapon_templates.xml 里定义了模板 ID cla_celtic_OneHandedSword,但字符串表 module_strings.xml 里漏写了 str_crafting_template.cla_celtic_OneHandedSword 这个条目。补上后游戏就能正常显示了。这是 MOD 作者的疏漏,等作者更新后可以删除手动修改(或让更新覆盖)。

以上就是完整帖子。如果想加一句声明,可以补在文末:"本方法仅修改本地文件,不影响存档;MOD 更新后可能被覆盖,需重新添加。"需要我调整语气(更简略/更详细)、或改成适合特定论坛(贴吧/N网/3DM)的排版格式,随时说。

7

主题

69

回帖

23

积分

随仆

Rank: 1

UID
1410240
第纳尔
540
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2013-6-13

战团正版勋章维京征服正版勋章汉匈决战正版勋章霸主正版勋章

鲜花(0) 鸡蛋(0)
 楼主| 发表于 2026-9-26 23:00:58 | 显示全部楼层
本帖最后由 haobatou 于 2026-9-26 23:13 编辑

我提的问题:
我在玩游戏《骑马与砍杀 2》的鹰之崛起 [布匿战争] MOD,在铁匠铺锻造时,有一个武器类目始终不显示名字,而是显示错误代码 ERROR: Text with id str_crafting template doesn't exist! Variation: cla_celtic_OneHandedSword。游戏 MOD 安装文件夹是 D:\Steam\steamapps\common\Mount & Blade II Bannerlord\Modules\CA_EagleRising。请排查错误。不用区分中英文版,因为我打了汉化补丁。
(再游戏截图给豆包看,这里传不上来)

上述问题发给豆包本地电脑版,豆包开始叽里咕噜排查原因,最后给我自动输出了原因,并且自动操作修改了(我开放了权限)。然后就好了!

豆包说:

一切就绪。修复完成并已验证:
问题根因《鹰之崛起》MOD 的 weapon_templates.xml 中定义了凯尔特单手剑锻造模板 cla_celtic_OneHandedSword,但 MOD 作者在字符串文件里漏掉了这个模板的显示名称条目:
  • 模板定义:CA_EagleRising\ModuleData\weapon_templates.xml → <CraftingTemplate id="cla_celtic_OneHandedSword">
  • 游戏铁匠铺加载该模板时,按规则查找文本 str_crafting_template.cla_celtic_OneHandedSword
  • 但 module_strings.xml 里 7 个模板只注册了 6 个名称(短剑、角斗士、单刃剑、匕首、标枪、长枪),唯独漏了凯尔特剑 → 报 Text with id str_crafting_template doesn't exist! Variation: cla_celtic_OneHandedSword
已执行的修复(均已备份 .bak)表格
文件新增条目
主 MOD CA_EagleRising\ModuleData\module_strings.xml<string id="str_crafting_template.cla_celtic_OneHandedSword" text="...Celtic Swords" />
汉化包 EagleRising(Punic Wars)For1.2.12_CNs\...\module_strings_key.xml<string id="str_crafting_template.cla_celtic_OneHandedSword" text="凯尔特剑" />验证已通过:两个文件 XML 结构有效、编码保持原样(主 MOD 带 BOM、汉化包无 BOM)、新条目已就位、holster 定义齐全、汉化 XSLT 无冲突覆盖。
下一步:重新启动游戏(需完全退出再进),进入铁匠铺即可看到该武器类目显示 "凯尔特剑"。若仍报错,把截图发我 —— 按现有证据该错误应已消除。备份文件如需回滚,删除新条目即可(或直接用 .bak 恢复)。

您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2026-10-20 07:36 , Processed in 0.057303 second(s), 17 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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