madsquare 发表于 2025-7-19 17:57:13

【Mod维护】关于商人传奇的维护

本人,一名远神小白,通过@Tourist_翔的视频知晓了mod 一个商人的传奇,但该mod的作者@马某已停止更新并公开授权。{:tieba_36:}
本人对mod制作方面一窍不通,但仍期望有modder维护。(暂无需新内容,仅维护即可。但本人仍私心希望mod少女星域 @常规型妹抖为深蓝搭配一个娘化肖像。)
目前已知的bug有:
098原版/mod环境下的部分独特舰船(例如攻势mk1,098银光)无法进行民用伪装

突袭被辛达占领的卢左球抢夺普罗米修斯之赐的配方(畅饮美酒mod)后不到一天内必定报错。当时卢左已经被灭了,已经没有任何市场消费普罗米修斯之赐,且那个星球是唯一生产普罗米修斯之赐的市场。根据报错文件猜测是一个商人的传奇mod的贸易管理界面某个商品既无生产又无消费时UI会出错。

[游戏日志]

1829287 INFOsound.O- Cleaning up music with id
1829407 INFOsound.O- Creating streaming player for music with id
1829428 INFOsound.OooO- Playing music with id
1831148 ERROR com.fs.starfarer.combat.CombatMain- java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.campaign.econ.MarketAPI.getSupplyPrice(String, double, boolean)" because the return value of "maru.plugins.AML_BusinessEffect.getMinBuyPriceMarketWithFlow(String, float)" is null
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.campaign.econ.MarketAPI.getSupplyPrice(String, double, boolean)" because the return value of "maru.plugins.AML_BusinessEffect.getMinBuyPriceMarketWithFlow(String, float)" is null
      at maru.plugins.AML_BusinessEffect.CalcBestFlowTradeCommodityToBuy(AML_BusinessEffect.java:305) ~[?:?]
      at maru.plugins.AML_BusinessEffect.CalcFlowTrade(AML_BusinessEffect.java:134) ~[?:?]
      at maru.plugins.AML_BusinessEffect.advanceInCampaign(AML_BusinessEffect.java:45) ~[?:?]
      at maru.plugins.AML_CampaignPlugin.advance(AML_CampaignPlugin.java:103) ~[?:?]
      at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source) ~
      at com.fs.starfarer.campaign.CampaignState.advance(Unknown Source) ~
      at com.fs.starfarer.BaseGameState.traverse(Unknown Source) ~
      at com.fs.state.AppDriver.begin(Unknown Source) ~
      at com.fs.starfarer.combat.CombatMain.main(Unknown Source) ~
      at com.fs.starfarer.StarfarerLauncher.super(Unknown Source) ~
      at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source) ~

以及https://www.fossic.org/forum.php?mod=viewthread&tid=16174&highlight=%E4%B8%80%E4%B8%AA%E5%95%86%E4%BA%BA

坐等有心维护者ing...{:5_123:}

Rinku 发表于 2025-7-20 01:56:21

::)

无名007 发表于 2026-2-28 21:41:37

把军事船减cr给他改咯,每条船+5%。美酒的话是不是可以想办法屏蔽掉。不知道,代码小白全靠ai

无名007 发表于 2026-3-2 12:19:23

AML_BusinessEffect.java,这个是开展贸易的代码
潜在问题
空指针风险: 代码中有几处对 market.getPrimaryEntity() 和 market.getSubmarket("open_market") 的结果直接使用,没有进行非空判断。如果市场没有实体或没有开放市场,可能会导致游戏崩溃。

整数转换: 在计算交易量 amount 时,使用了 (int)(amount * flow / needflow) 的强制转换。这可能会导致浮点数精度丢失,使实际交易量与理论值有微小偏差。

硬编码字符串: 子市场 ID "open_market" 在多个地方作为字符串硬编码使用,如果游戏核心或其它模改改变了这个 ID,代码将无法工作。建议定义为常量。

贪婪买入逻辑: CalcBestGreedTradeCommodityToBuy 函数假设能同时找到最低买入价和最高卖出价的市场来计算差价,但没有处理找不到最高卖出价市场的情况,这可能会导致空指针异常。

至于怎么改,我也不知道

无名007 发表于 2026-3-2 12:20:01

无名007 发表于 2026-3-2 12:19
AML_BusinessEffect.java,这个是开展贸易的代码
潜在问题
空指针风险: 代码中有几处对 market.getPrimaryE ...

以上分析来自deepseek
页: [1]
查看完整版本: 【Mod维护】关于商人传奇的维护