找回密码
 初始化身份识别芯片
搜索
查看: 89|回复: 0

解决更大的殖民地汉化版会在玩家拥有大型殖民地后导致贸易舰队无法生成的问题

[复制链接]

巡洋大副

发表于 6 天前 | 显示全部楼层 |阅读模式
本帖最后由 zerograd 于 2026-9-6 22:31 编辑

9月3日之前的V2.1.b(0.98) 如今的V2.1a(0.97)两个版本的Grand Colonies 更大的殖民地的jar包中的grandcolonies.plugins.ModPlugin篡改过的,其会在玩家拥有特定大小或特定数量的殖民地时,使所有殖民地无法生成贸易舰队。
官方版ModPlugin类下onGameLoad方法具体实现如下:

英文原版onGameLoad

英文原版onGameLoad


汉化版ModPlugin类下onGameLoad方法具体实现如下

汉化版onGameLoad

汉化版onGameLoad

汉化版onGameLoad方法通过使用某些手段绕过了游戏安全检测,并试图通过静默吞异常无日志的方式隐藏该方法。具体实现了以下逻辑(从82行开始)
1、该方法只在读档时执行
2、玩家是否有一颗殖民地的规模大于等于5
3、玩家每个殖民地的规模与2之间的差值总和是否大于等于4(每个殖民地的规模-2后相加是否大于等于4)
4、如果玩家满足条件2或条件3,则执行以下逻辑:
  4.1、将游戏中maxEconFleets(贸易舰队上限)设置为1
  4.2、反射窃取原版贸易舰队管理器的私有冷却表,清空冷却表,并对所有殖民地(不论是原版还是mod)塞入114514天的冷却
5、静默吞掉所有异常,不输出任何日志

如果你发现游玩过程中没有贸易舰队生成、加载的mod中包含更大的殖民地且在游戏中自势力满足以上条件2和3,则可进行以下过程尝试修复:
符号~指远行星号根目录
1、下载原版mod,并用原版jar替换中文版的jar
原版网站:https://fractalsoftworks.com/forum/index.php?topic=20986.0 (进入网站,找到并点击Manual Download
中文版的jar地址:~\mods\GrandColonies\jars
jar中无游戏内的文本内容,替换后不会使汉化失效

2、下载贸易舰队修复mod,加载此mod并进入游戏(可选择同时加载控制台mod):

TradeFleetGuard.zip (46.06 KB, 下载次数: 21) 包含mod源码

此mod主要实现以下功能:
(1)进入存档10天后自动进行检测,若检测到当前贸易舰队系统被封禁,则尝试修复(清空冷却表,失败则尝试复刻原版机制生成贸易舰队)。若贸易舰队系统被封禁,则游戏日志应如图2-1:

游戏测试1

游戏测试1
图2-1游戏日志
其中makets为游戏当前殖民地数量;hidden为隐藏殖民地;noSpaceport为无太空港殖民地数量;inNoSpawnSet为被特殊任务封锁的殖民地数量;routes为当前存活商路数;maxEconFleets为当前游戏贸易舰队上限;pickSourceMarket为尝试筛选殖民地,NULL表示无殖民地通过筛选(筛选机制请看2.1);verdict为当前冷却表状态,BLOCKED表示当前冷却表异常,NORMAL表示正常

(2)当同时加载控制台mod时,增加控制台指令qsm_diag cooldown(手动进行检测),qsm_diag clear(手动进行修复)。
检测与修复动作都会在执行后1秒(游戏时间)内产生对应的游戏日志、滚动消息和情报信息。
mod可被安全移除。此mod与部分修改或替换了原版贸易舰队系统的mod不兼容。

2.1、原版贸易舰队系统对殖民地的筛选机制主要包含以下4个条件:

(1)殖民地是否隐藏

(2)殖民地有没有太空港

(3)殖民地是否在「禁止生成贸易舰队」名单里

(4)殖民地是否在冷却中(生成过贸易舰队的殖民地默认要冷却至少10天才允许再次生成)


本版积分规则

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

GMT+8, 2026-9-12 00:06

Powered by Discuz! X3.5

© 2001-2077 Tencent Cloud | Durian Software Studio

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