找回密码
 初始化身份识别芯片
查看: 1043|回复: 15

[0.98]星舰传奇 Starship Legends

[复制链接]

战列舰长

发表于 昨天 19:02 | 显示全部楼层 |阅读模式
汉化Mod发布
星舰传奇 2.6.0 / ID:sun_starship_legends
Starship Legends
使你的副官或舰船更具个性,且随着其声誉的增长,将赋予舰船影响性能的特性.
Mod作者: Sundog
Mod译者: 绅士猫, ASIIark, halsheep01
Mod类别: 功能
Mod适用版本: 0.98 
Mod更新时间: 2026-04-20
Mod发布地址: https://fractalsoftworks.com/forum/index.php?topic=15321.0
可安全移除:
依赖Mod: LazyLib 
其它依赖Mod:
冲突Mod:
Mod下载地址:
网盘提取码 / 解压密码:
本帖最后由 halsheep01 于 2026-4-20 17:14 编辑

论坛经典mod星舰传奇的0.98适配版,汉化自英文论坛starship v2.6.0版。
由于没有新增内容,汉化文本绝大部分迁移自@ASIIark的汉化版本【0.97*】星舰传奇 [Starship Legends] 2.5.0*,以使适配 远行星号0.98 的 starship v2.6.0 的版本,中文论坛的玩家也能玩上。
mod介绍与注意事项参考绅士猫原贴:【0.9.1】星舰传奇 [Starship Legends] 1.4.3

0.98下载: 星舰传奇汉化bugfix1.zip (348.49 KB, 下载次数: 268)


汉化日志:
4.20 修复了一个因%s错误导致的报错

作者授权:
image.png








势力巨擘

发表于 昨天 19:08 | 显示全部楼层
我记得这也是叠叠乐套餐中的一个。

巡洋大副

发表于 昨天 19:20 | 显示全部楼层
棒棒 給你個讚

势力巨擘

发表于 昨天 19:54 | 显示全部楼层
和097版本有什么不同吗
嗯,适配0.98算吗  详情 回复 发表于 昨天 19:56

势力巨擘

发表于 昨天 19:54 | 显示全部楼层

战列舰长

 楼主| 发表于 昨天 19:56 | 显示全部楼层
贝石米粉 发表于 2026-4-19 19:54
和097版本有什么不同吗

嗯,适配0.98算吗

巡洋大副

发表于 昨天 23:36 | 显示全部楼层
利好巨舰大炮,小船难过。赢的越多越强,死的越多越弱,小船很容易爆掉-吃负面-更容易炸循环。战列无畏可以存活,此一赢,活下来吃正面buff,此二赢,有buff更容易赢,此三赢,偶尔一输很容易再赢回来,此四赢。赢赢赢赢无穷尽也,所以巨舰大炮赢。

巡洋大副

发表于 昨天 23:49 | 显示全部楼层
火速下载开始享受叠叠乐

势力巨擘

发表于 10 小时前 | 显示全部楼层
叠叠乐必备套餐

势力巨擘

发表于 9 小时前 | 显示全部楼层
昨天还在想星舰传奇什么时候098
恰逢昨夜寒升树,一眼扫尽满窗花。

驱逐技师

发表于 9 小时前 | 显示全部楼层
本帖最后由 Scrooge 于 2026-4-20 10:30 编辑

报错:
  1. 40018628 [Thread-2] INFO com.fs.starfarer.api.impl.campaign.fleets.EconomyFleetRouteManager - Added trade fleet route from Athulf 到 Nortia
  2. 40029598 [Thread-2] INFO pigeonpun.bionicalteration.inventory.ba_inventoryhandler - Finish compress
  3. 40142180 [Thread-2] INFO pigeonpun.bionicalteration.inventory.ba_inventoryhandler - Finish compress
  4. 40721508 [Thread-2] INFO pigeonpun.bionicalteration.inventory.ba_inventoryhandler - Finish compress
  5. 41087743 [Thread-2] INFO pigeonpun.bionicalteration.inventory.ba_inventoryhandler - Finish compress
  6. 41100648 [Thread-2] INFO pigeonpun.bionicalteration.inventory.ba_inventoryhandler - Finish compress
  7. 41215201 [Thread-2] INFO pigeonpun.bionicalteration.inventory.ba_inventoryhandler - Finish compress
  8. 41314003 [Thread-2] ERROR starship_legends.ModPlugin - Format specifier '%s'
  9.     java.base/java.util.Formatter.format(Unknown Source)
  10.     java.base/java.util.Formatter.format(Unknown Source)
  11.     java.base/java.lang.String.format(Unknown Source)
  12.     com.fs.starfarer.ui.newui.String.addPara(Unknown Source)
  13.     com.fs.starfarer.ui.newui.String.addPara(Unknown Source)
  14.     starship_legends.events.OwnCrewBarEvent.optionSelected(OwnCrewBarEvent.java:957)
  15.     starship_legends.events.OwnCrewBarEvent.init(OwnCrewBarEvent.java:758)
  16.     com.fs.starfarer.api.impl.campaign.intel.bar.BarEventDialogPlugin.init(BarEventDialogPlugin.java:31)
  17.     com.fs.starfarer.api.impl.campaign.rulecmd.missions.BarCMD.optionSelected(BarCMD.java:355)
  18.     com.fs.starfarer.ui.newui.o0Oo$1.o00000(Unknown Source)
  19.     com.fs.starfarer.ui.newui.OoOO.actionPerformed(Unknown Source)
  20.     com.fs.starfarer.ui.n.buttonPressed(Unknown Source)
  21.     com.fs.starfarer.ui.int.new(Unknown Source)
  22.     com.fs.starfarer.ui.int.processInput(Unknown Source)
  23.     com.fs.starfarer.ui.W.o00000(Unknown Source)
  24.     com.fs.starfarer.BaseGameState.traverse(Unknown Source)
  25.     com.fs.state.AppDriver.begin(Unknown Source)
  26.     com.fs.starfarer.combat.CombatMain.main(Unknown Source)
  27.     com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
  28.     com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
  29.     java.base/java.lang.Thread.run(Unknown Source)
复制代码


反编译class检查,问题代码:
  1.    public void init(InteractionDialogAPI dialog, Map<String, MemoryAPI> memoryMap) {
  2.       try {
  3.          super.init(dialog, memoryMap);
  4.          this.done = false;
  5.          if (this.ship == null || this.ship.getVariant() != null && this.subEvent == starship_legends.events.OwnCrewBarEvent.OptionId.REMOVE_DMOD && DModManager.getNumDMods(this.ship.getVariant()) == 0) {
  6.             this.subEvent = starship_legends.events.OwnCrewBarEvent.OptionId.INVALID;
  7.          }

  8.          if (this.subEvent != starship_legends.events.OwnCrewBarEvent.OptionId.INVALID) {
  9.             dialog.getVisualPanel().showFleetMemberInfo(this.ship);
  10.             this.chooseStrings();
  11.             TextPanelAPI var10000 = dialog.getTextPanel();
  12.             String var10001 = this.ship.getShipName();
  13.             var10000.addPara("你去到 " + var10001 + " " + this.officerTypeStr + "中凑热闹. 一些级别较低的军官似乎对他们的老板在休憩时光中加入感到不安 但在你买了一轮酒并声称可以暂时忽视舰上的规矩 后放松了下来.");
  14.          }

  15.          this.optionSelected((String)null, this.subEvent);
  16.       } catch (Exception e) {
  17.          ModPlugin.reportCrash(e);
  18.       }

  19.    }
复制代码



AI分析结论:


这段代码就是导致你上次崩溃的**核心位置**(OwnCrewBarEvent.init 方法)。

### 问题出在哪里(精确分析)
错误发生在这一行附近:

```java
TextPanelAPI var10000 = dialog.getTextPanel();
String var10001 = this.ship.getShipName();
var10000.addPara("你去到 " + var10001 + " " + this.officerTypeStr + "中凑热闹. 一些级别较低的军官似乎对他们的老板在休憩时光中加入感到不安 但在你买了一轮酒并声称可以暂时忽视舰上的规矩 后放松了下来.");
```

然后紧接着调用 `this.optionSelected(...)`,里面又会继续 `addPara`(崩溃栈显示在第 957 行)。

**根本原因**:  
这个中文字符串是**硬编码**在 mod 里的(或来自不完整的中文汉化)。  
Starship Legends 在构造对话文本时,使用了类似 `String.format("... %s ...", 参数)` 的方式,但汉化后的字符串里**缺少对应的格式占位符**(比如 `%s` 被直接替换成了固定文字,却没有调整后面的参数数量),或者 `officerTypeStr`、`shipName` 等变量在某些情况下为 `null`,导致格式化失败,抛出 **Format specifier '%s'** 异常。

你提供的这段是 **decompiled**(反编译)后的代码,里面已经混入了中文翻译,但翻译质量/完整性有问题(尤其是 `officerTypeStr` 这个变量很可能在某些船员类型下没有被正确赋值)。

### 推荐修复方案(从易到难)

1. **最推荐:更新 Starship Legends + 汉化补丁**  
   这个 bug 在中文环境下很常见,通常是老版本汉化没跟上 mod 更新导致的。  
   - 去 **fossic.org** 的星舰传奇专帖,下载**最新版 Starship Legends + 最新汉化**(优先找 2025 或 2026 年更新的版本)。  
   - 完全覆盖安装(先备份旧 mod 文件夹)。  
   - 重启游戏后,再去酒吧测试。

2. **临时切换语言规避**  
   在游戏启动器里把界面语言改成 **English**,然后加载存档去酒吧。  
   如果英文下不崩,基本确认是汉化冲突。等汉化更新后再切回中文。

3. **手动简单修复(如果你愿意编辑文件)**  
   - 找到路径:`mods/Starship Legends/data/strings/` 或 `data/config/starship_legends/`(也可能在 jar 里)。  
   - 搜索包含“你去到”或“凑热闹”的文件(通常是 .json 或 .csv 汉化文件)。  
   - 把那段长中文字符串**临时改短**,比如改成:  
     `"你去到 " + this.ship.getShipName() + " 的船员中凑热闹。"`  
     (去掉后面复杂的部分,避免潜在的格式问题)  
   - 保存后重启测试。  
   (注意:如果字符串在 jar 里,需要解压 jar 修改后再打包回去,比较麻烦。)

4. **彻底方案**  
   - 暂时**禁用 Starship Legends**,确认是否只剩这个 mod 出问题。  
   - 如果你装了很多修改酒吧事件的 mod(比如 Nexerelin、某些任务 mod),可以尝试逐个禁用测试冲突。

### 额外建议
- 这个事件是“和自己舰船的船员一起喝酒”相关的 bar event。崩溃时你很可能点进了这个选项。  
- 以后遇到类似酒吧/对话崩溃,先把语言切英文,能大大降低概率。  
- 确认你的 **Starsector 版本** 和 **Starship Legends 具体版本**(mod_info.json 里能看到),新版通常对中文支持更好。

你现在可以先试 **更新 mod + 切换英文** 这两步,看看是否还崩。  
如果更新后还是有问题,把新的崩溃 log(或你修改后的代码)再贴给我,我继续帮你看具体哪一行需要调整。

这个 mod 的中文适配一直有点小毛病,但更新通常就能解决。坚持一下,很快就能修好!




修了一下,感谢反馈  详情 回复 发表于 2 小时前

星域军阀

经理&准执柄者

学院教员

发表于 8 小时前 | 显示全部楼层
image.png
酒馆和军官喝酒直接跳出,还好没闪退
相同的问题,英文版不会报错  详情 回复 发表于 7 小时前

驱逐技师

发表于 7 小时前 | 显示全部楼层
forrevenge 发表于 2026-4-20 11:43
酒馆和军官喝酒直接跳出,还好没闪退

相同的问题,英文版不会报错
修了一下  详情 回复 发表于 2 小时前

战列舰长

 楼主| 发表于 2 小时前 | 显示全部楼层

修了一下,感谢反馈

战列舰长

 楼主| 发表于 2 小时前 | 显示全部楼层
Scrooge 发表于 2026-4-20 11:58
相同的问题,英文版不会报错

修了一下

战列舰长

 楼主| 发表于 1 小时前 | 显示全部楼层
叠韵双声 发表于 2026-4-20 10:00
昨天还在想星舰传奇什么时候098

本版积分规则

Archiver|手机版|小黑屋|远行星号中文论坛

GMT+8, 2026-4-20 19:57

Powered by Discuz! X3.5

© 2001-2077 Tencent Cloud | Durian Software Studio

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