随机交易

随机交易

随机商人:随机化交易逻辑

商人

V1.20

  • 新增舰队内部通信,防止多艘飞船在找不到交易时同时搜索交易(在飞船空闲时提升性能)
  • 实现交易规则
  • 为日志文件名添加飞船ID代码

V1.17

  • 修复了一个错误:更新从属选项会对非相同船型或未分配防御任务的飞船也分配默认命令。

V1.16

  • 将货物拆分至预设列表
  • 将日志条目移至"维护"部分(应部分用户要求)
  • 新增更新从属飞船选项(仅影响已运行随机交易的从属飞船,对新添加的带有"防御"命令的从属飞船无影响),当指挥飞船的脚本重启时生效。

V1.15

  • 分裂派系(自由家族和扎思王朝)不再被忽略。

V1.13

  • 上一个补丁未能解决原生AI接管问题。本版本修改了模组。如果使用将行为复制给从属飞船的功能,飞船将不再被分配给空间站作为从属,它们将保持为舰队(仅列表中有视觉效果,行为不受影响)。

V1.12:

  • 修复了一个错误:在游玩3.0测试版时,原生AI会接管飞船的默认命令。

V1.11:

  • 在类别中新增更多货物:生物品/食品、飞船建造品和高级技术品。
  • 修复了一个错误:你的飞船会看到来自未解锁的黑市商人的购买要约(非法货物)。

V1.09:

  • 改进了自由交易逻辑,L型飞船现在能做出更好的决策。特别是:它们能更好地考虑载货量未满的交易航线。但这给脚本带来了一些后处理,因此可能稍慢,性能略有下降。

V1.08:

  • 修复了一个错误:原生AI会随机接管从属飞船。

V1.07:

  • 修复了一个错误:飞船无法在彼此交战的派系之间创建交易航线(在1.06版本引入)。
  • 改进了方程式,以改善游戏早期行为(与利润比例滑块相关)。

V1.06

  • 实现了黑名单,唯一例外是空间站交易者模式中的母港空间站:即使其星区被列入黑名单,飞船仍会与该空间站交易。
  • 修复了一个错误:飞船可能向同一空间站购买和出售物品。

V1.05

  • 新功能:将行为和设置复制给相同船型的从属飞船(例如 M 级货船到 M 级货船)。使用方式:右键分配一艘或多艘飞船,选择"[标准行为] 防御",等待脚本重启。

V1.03:

  • 修复了调试日志中出现的若干错误信息。

V1.02:

  • 新增通知和日志条目,用于当飞船无法卸下货舱中的货物时。
  • 修复了一个错误:当货舱已满且无法卸下货物时,飞船会搜索交易甚至排队零数量交易。

V1.01:修复了一些小错误。

目标:
快速,对性能影响小。
专注于自由交易,但也支持空间站交易者模式。
基于飞行员的管理技能。

核心理念:
预先计算交易的最低要求(主要是利润),接受第一个满足这些要求的交易要约。

通用交易规则/行为/特性:
绝不使用玩家未知的交易。
绝不向对飞船敌对或位于敌对领土的交易所有者购买/出售物品。

AI 有三种模式:
模式 1:如果货舱非空,尝试出售其中的货物:
获取货物列表并随机打乱。然后对每种货物进行 5 次尝试以寻找买家:开始寻找符合最低预先计算相对价格并至少需要与飞船货舱中相同数量的买家。该最低相对价格基于飞行员管理技能(1星 = 0.4;5星 = 0.7)。每次尝试(如果找不到买家):最低相对价格线性下降至 -1(最小值),最低数量减少 20%,最大跳跃距离增加 1。
模式 2:空间站交易者模式:
这是最复杂的逻辑,包含两个子模式:
2.1. 为母港空间站或建筑存储供应生产或建筑所需的货物:获取母港空间站的所有购买要约列表,然后随机打乱。对于每个购买要约,它首先会搜索玩家自有空间站中价格等于或低于该购买要约的出售要约。数量也是可变的;根据库存比例(货物在母港空间站存储中的剩余百分比)调整。如果空间站完全耗尽该货物,最低数量为飞船货舱容量的 25% 或全部购买数量,取较小值;但如果买家是建筑存储,则最低数量不会降低到上述的 25%。如果未找到任何玩家出售要约,则脚本搜索 NPC 卖家。这里进行 2 次尝试:第一次会搜索相对价格最高不超过基于飞行员或空间站经理(取较高者)管理技能的出售要约(1星 = -0.4;5星 = -0.7),前提是该价格低于实际要约的相对价格。如果未找到,第二次尝试将搜索购买要约的最高价格,数量始终为飞船的货舱容量或购买要约的数量(取较小值)。
2.2. 出售母港空间站生产的货物:与模式 1 相同,它将获取所有出售要约列表并随机打乱,但这里它会直接搜索 NPC 要约,而不是检查玩家自有空间站的购买要约。这里同样对每个出售要约进行 2 次尝试,逻辑与上述相同,只是反过来:较低变较高,-0.4(-0.7)变为 +0.4(+0.7)。这里的数量要求被替换为总价(单价 × 数量),这将确保也能选取例如数量低 10% 但价格高 10% 的要约。
模式 3:自由交易者模式
我首先编写了此模式,我认为这是本脚本的核心。它表现惊人,即使在有很多要约可用且你将最大跳跃距离设为最大值的情况下,也能在数秒内找到盈利交易。此外,你给予飞船的自由度越大(你了解的要约越多,允许的货物越多,允许的跳跃距离越大),就越有可能找到盈利要约,这意味着更多数据带来更快的成功,而非相反。
逻辑如下:根据飞行员管理技能预先计算最低利润和最大相对价格(相对价格:1星 = -0.4;5星 = -0.7;利润:1星 = 每 m³ 货舱容量 5 信用点,5星 = 9 信用点/m³)。然后随机打乱允许交易的货物列表。接着对每种货物搜索具有计算所得最大相对价格的出售要约,如果找到,则搜索一个能带来最低利润的购买要约。这里说的"最低"意味着可能找到一个刚好满足要求的要约,但也可能找到一个利润超过最低利润两倍的最佳要约,即使你的飞行员只有 1 星管理技能,这都是 RNG(随机数生成)。如果未找到,继续列表中的下一种货物。

界面说明:
1:交易者母港:在此处选择交易者的母港。当将母港设为空间站和/或勾选"归航"时有效。可设置的母港主要类别是星区和空间站。当你想要建造空间站时,在地图上创建一个地块;该地块的类别为"物体"。只有当第一个模块建成后,它才会变为"空间站"。我在此也允许选择"物体",以便飞船在第一个模块建成之前就能供应建筑存储。如果你将"物体"设为母港,请记得在它变成空间站(第一个模块建成后)后立即转移信用点,否则你的飞船会因资金不足而停止交易。
2:归航:如果启用此选项,飞船将仅在你设置的最大允许跳跃距离内围绕母港星区交易(见下方)。如果不启用,交易者将是自由的,并始终围绕其当前位置搜索要约。
3:购买最大跳跃距离:我们最多允许飞船穿过多少个星门来购买物品?
4:出售最大跳跃距离:我们最多允许飞船穿过多少个星门来出售物品?
5:忽略限制:仅在空间站交易者模式中有效。即使你在空间站的逻辑概览中限制了要约,仍会从 NPC 空间站/建筑存储购买和出售。
6:空间站交易者:仅当此选项启用且母港不是星区(而是空间站或"物体")时,飞船将开始供应你的空间站/建筑存储和/或分发来自你空间站的货物。
7:强制使用自有出售:这在模式 2.1 中生效。当启用时,飞船在搜索供应母港空间站所需货物的玩家自有空间站时,将忽略购买最大跳跃距离。
8:添加货物:除模式 1 外始终有效。
9:复制预设:当启用时,脚本会检查下方是否有预设被勾选,并自动将货物添加到上方列表中;如果未启用,则忽略下方的 8 个勾选框。如果货物列表非空,此选项也会被忽略。
10:最低利润缩放:在所有地方都有效。按百分比缩放要求,例如设置为 10%,则相对价格变为 -0.04(而非 -0.4)和 -0.07(而非 -0.7);利润变为 0.5 信用点/m³(而非 5)和 0.9(而非 9)。
11:在 X% 填充前购买(空间站交易者):仅在空间站交易者模式中有效。飞船会尽力将母港空间站生产所需的货物补充到至少给定的百分比,但始终会尽力利用飞船的全部货舱容量。
12:在 X% 填充后出售(空间站交易者):与 11 相同,用于出售货物。如果空间站的库存中生产性货物的百分比低于给定值,飞船将忽略它们,还会尽力利用飞船的全部货舱容量。在模式 2.1 中,当你其他空间站的供应商需要该空间站生产的货物时,此数值会被忽略。
13:允许所有派系:与 9 类似,但针对派系。当启用时,下方的 10 个勾选框将被忽略。

请记住,此脚本在找到并创建交易机会后立即停止。它不会检查更盈利的交易。利润可能因交易而异(RNG)。它很快;如果你的飞船在 15-30 秒内未找到任何交易,这意味着没有可能的交易,因此要么让更多交易可见,给交易者更多自由(货物、跳跃距离),要么降低利润要求。