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

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

[复制链接]

巡洋大副

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

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

[游戏日志]

1829287 [Thread-6] INFO  sound.O  - Cleaning up music with id [miscallenous_corvus_campaign_music.ogg]
1829407 [Thread-9] INFO  sound.O  - Creating streaming player for music with id [Starsea.ogg]
1829428 [Thread-9] INFO  sound.OooO  - Playing music with id [Starsea.ogg]
1831148 [Thread-2] 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) ~[port_obf.jar:?]
        at com.fs.starfarer.campaign.CampaignState.advance(Unknown Source) ~[port_obf.jar:?]
        at com.fs.starfarer.BaseGameState.traverse(Unknown Source) ~[port_obf.jar:?]
        at com.fs.state.AppDriver.begin(Unknown Source) ~[port.common_obf.jar:?]
        at com.fs.starfarer.combat.CombatMain.main(Unknown Source) ~[port_obf.jar:?]
        at com.fs.starfarer.StarfarerLauncher.super(Unknown Source) ~[port_obf.jar:?]
        at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source) ~[port_obf.jar:?]

以及https://www.fossic.org/forum.php ... A%E5%95%86%E4%BA%BA

坐等有心维护者ing...

势力巨擘

临光

发表于 2025-7-20 01:56:21 | 显示全部楼层

巡洋大副

发表于 2026-2-28 21:41:37 | 显示全部楼层
把军事船减cr给他改咯,每条船+5%。美酒的话是不是可以想办法屏蔽掉。不知道,代码小白全靠ai

巡洋大副

发表于 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 函数假设能同时找到最低买入价和最高卖出价的市场来计算差价,但没有处理找不到最高卖出价市场的情况,这可能会导致空指针异常。

至于怎么改,我也不知道

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?初始化身份识别芯片

×

点评

以上分析来自deepseek  详情 回复 发表于 2026-3-2 12:20

巡洋大副

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

以上分析来自deepseek

本版积分规则

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

GMT+8, 2026-4-2 06:49

Powered by Discuz! X3.5

© 2001-2077 Tencent Cloud | Durian Software Studio

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