
骡子全面翻新
对 X4 3.1 版本的 "Mules Supply and Warehouses Extended" 模组进行了全面翻新。性能和功能得到提升(主要是SupplyMule和TravelMule)。与原版模组基本存档兼容,但请记得备份。此模组可安全添加或移除。
查看大图这是 Mules and warehouses extended 的一个分支(它基于 GNU GPL 许可发布,因此没有问题)。我制作这个模组是因为原始模组存在一些问题或缺少某些功能。在修复问题的过程中,我有了许多改进模组的酷炫想法,于是我将这些想法付诸实施。由于改动太多,我怀疑原始模组维护者能够妥善审查并接受我的更改——接受这些更改意味着要用我的代码完全替换他们的代码,但这是他们的项目……
功能说明(原始模组描述)
旅行商人货运骡 AKA 旅行骡
这种货运骡是唯一真正关心价格和利润的类型!你将用它从你的仓库向其他所有派系出售货物。
空间站补给货运骡 AKA 空间站骡
这些货运骡是家族中的首批成员,并且应该是你数量最多的类型。它们可以处理你的工厂、建筑工地和造船厂之间的所有补給任务。只有它们能够创建仓库空间站,作为集中存储和分配中心。
补给货运骡 AKA 补给骡
这种货运骡作为专门的取货骡,用于满足所有自有空间站的货物需求(或分配给特定单一空间站时使用),适用于你只想补給空间站而不做其他事情的情况。它能完成空间站骡能够完成的任务,但这就是它唯一的目的。它会优先服务你的建筑船以让空间站运行起来,如果可用,会从玩家已知的空间站购买货物。
它会服务一个星区内的所有空间站,除非你将其分配给特定空间站。它会从最需要的货物开始。它绝不会服务 AI 空间站,除非被分配给一个。 仅当没有其他交易(分配给它的空间站或星区内的玩家空间站)时,它才会服务星区内的 AI 空间站。
货物分配货运骡 AKA 分配骡
这种简单的货运骡旨在分配仓库之间的货物,使每个仓库至少拥有各种货物的一部分。这样你就可以利用仓库网络来补給不同系统中的工厂,而不是通过多个生产空间站直接向空间站供货。
变更列表
为 TravelMule 添加了多种模式,按优先级顺序运行:
- 从源空间站向跳跃范围内的玩家空间站出售
- 从源空间站向跳跃范围内的 AI 空间站出售(这是原始模组中的单一模式)
- 如果不是“仅服务源”,则从源星区的玩家空间站向跳跃范围内的玩家空间站出售(所有合法货物,如果货物未锁定)
- 如果不是“仅服务源”,则从源星区的玩家空间站向跳跃范围内的 AI 空间站出售(所有合法货物,如果货物未锁定)
优先级之间互不排斥。如果在处理当前优先级任务后还有足够的货舱空间,它将进入较低优先级任务以进一步填满货物。 SupplyMule 已经拥有这些以及其他优先级,但它们之前是互斥的,我移除了这种互斥性。此外,某些优先级在特定条件下不会被使用,尽管它们有道理——我修复了这一点。现在,如果分配给 AI 空间站的 SupplyMule 没有适合该空间站的交易且未处于“仅服务源”模式,它也会在服务星区内其他 AI 空间站之前,尝试服务星区内的玩家空间站。
改进了 SupplyMule 和 TravelMule 一次性下达多个订单的能力(例如,从这里和那里购买,然后将所有物品带回源空间站)。这使得它们能更有效地利用其货舱。SupplyMule 现在能正确计算一次性进行多笔交易时的可用资金,从而可以创建更多更大的交易订单。它们还确保总运载量至少达到最大货舱大小的 50%,无论单个交易订单的货舱大小如何。你可以为 TravelMule 指定每笔交易的最小货物量,这样最大交易订单数量将等于最大货舱/最小交易订单量。对于 SupplyMule,你可以指定最大交易订单数量,每笔交易的最小货物量则反向计算。这不太方便,但我试图避免更改订单参数。 如果一个骡子无所事事,尝试降低每笔交易的最小货物量(或增加最大交易订单数量),以便它可以通过几个较小的订单完成那 50% 的货舱,而不是等待一个更大的订单。
其他改进:
- 货运骡现在会遵守你在空间站物流界面中设置的派系限制。
- SupplyMule 现在能正确遵守指定的最大跳跃距离。
- SupplyMule 和 TravelMule 现在考虑跳跃门距离(每次跳跃利润减少 2%)。
- SupplyMule 在与 NPC 交易时不考虑玩家空间站的价格。它会窥探最佳出价的利润,但现在利润可能为负。确保 NPC 与 NPC 之间的交易仍具有正利润。
- 在自有空间站之间交易(玩家<->玩家)时,SupplyMule 完全不考虑价格,而是使用总运载量作为利润指标。但日志中的利润仍根据价格计算。
- 改进了日志记录,方便调试。
- 调整了默认参数值,以更好地适应所有更改。
- TravelMule 允许指定最多 30 个跳跃门的距离,因此移除了 15 次跳跃的魔数以清理代码。
- 许多其他我现在记不清的小改动和修复。
提示:如果你将货运骡分配给一个空间站,请确保该空间站账户中有资金(不是建筑存储账户,而是空间站账户)。
我在帧率方面进行了优化,因此与原始模组相比,该模组创建订单可能需要更长时间,但它不再会导致整个游戏卡顿。还进行了显著优化以减轻 CPU 负担。
v1.1 添加了一个实验性功能:可以选择一个星区作为 Supply 和 Travel 货运骡的母星。它将服务星区内的所有空间站(玩家空间站优先)。其工作方式与你将其分配给一个无需补給且关闭“仅服务源”的空间站相同。
更智能地选择多笔交易。货运骡不会窥探需要多次穿越母星区才能到达的空间站的交易。
修复了暂停时尝试更改货运骡设置导致的性能问题。 修复了玩家与玩家交易时利润计算不正确的问题(该 bug 在 v1 版引入)。 希望修复了建筑存储仅在需要少量货物即可完成建造时无法被补給的问题(该 bug 在 v1 版引入)。
与 Mules beta 版本的比较
完成所有这些更改后,我意识到原始模组仓库中有一个 beta 分支。所以我在这里帮你在这两者之间做出选择。
使用此大修模组的情况:
- 如果你不喜欢使用 Mules beta 版本。
- 如果你想使用上面列出的新 TravelMule 模式,尽管你可以直接用我的版本替换他们的 TravelMule 文件。这应该可行! TravelMule 向原始模组提交的拉取请求: https://github.com/Misunderstood-Wookiee/Mules-and-Warehouses-Extended/pull/71
- 如果你不喜欢 beta 版的性能或遇到 Mules beta 版的问题,请尝试此大修模组。
- 如果上面列出的 SupplyMule 更改对你至关重要。
Mules beta 版中的 SupplyMule 与我版本的 SupplyMule 有些难以比较。beta 版没有我上面列出的许多 SupplyMule 改进,但它们对你可能不那么重要;beta 版有更清晰的代码,这意味着一些修复和一些新 bug,并且它以更复杂的方式实现了相同的派系限制功能。我仍然继续使用我的版本,因为所有这些更改对我都很重要,并且它运行良好,没有出现任何问题。将我的 SupplyMule 更改移植到 beta 代码上又需要一两天的无偿艰苦工作,我不想这么做。
StationMule 和 DistribMule 在 beta 版中没有更改,因此你可以直接将我的版本中的这些骡子文件复制到他们的版本中,以获得 FPS 改进和其他更改(只有少数几个)。
对于 3.2 版本,请使用 Mules beta 版。
安装
如果你安装了原始 Mules 模组,请先卸载它再安装。 只需解压到你的 Documents\Egosoft\X4\extensions 文件夹,这样文件就会位于 Documents\Egosoft\X4\extensions\mules_and_warehouses_extended 中。
贡献
这是一个一次性发布的模组。我为自己开发了这个模组,但我不喜欢长期维护和支持它。如果你想成为维护者,请告诉我。我在这里只提供最低限度的支持。如果有什么问题,请自行修复,如果你愿意的话。或者制作你自己的分支。 不要问,我不会将其移植到 3.2。你可以获取源代码并自己动手。
GitHub (http://github.com/AqlaSolutions/Mules-and-Warehouses-Extended)
我目前不计划发布到 Steam 创意工坊。你可以自由复制并发布到那里。
许可协议:由于原始模组许可,采用 GNU GPL。只要不违反许可协议,你可以随意处理此模组,因此如果你想复制粘贴某些内容到你的模组中,无需询问我。
更多信息请查看这些模组
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。