维多利亚3吧 关注:113,884贴子:1,698,488
  • 0回复贴,共1

【Mod】gui脚本里能不能用除法 或者 倒数?

只看楼主收藏回复

我在 GUI 中需要显示百分比数值,如利润率等,计算公式为 x/y。
虽然我能找到可用的乘法 API(例如 Multiply_float、Multiply_CFixedPoint),但尚未发现任何兼容 GUI 或本地化文件 (*.yml) 的除法相关 API。这里的 x 和 y 都是GUI脚本中可以直接得到的值。
例如,以下乘法 API 可以正常工作:
在 YML 文件中:
textMARKET_GDP_PIECHART:1 "#header [Goods.GetName]#!\nSell Orders: #v [Goods.GetMarketSellOrders|v0]#!\nMarket Price: #v [Goods.GetMarketPrice|v2]#!\nTotal GDP: #v [Multiply_float(FixedPointToFloat(Multiply_CFixedPoint(Goods.GetMarketSellOrders, Goods.GetMarketPrice)), '(float)0.1')|0v]K"
在 GUI 文件中:
textvalue = "[FixedPointToInt(Multiply_CFixedPoint(Goods.GetMarketBuyAndSellOrdersBalance, Goods.GetBasePrice))]"
然而,尝试使用 Divide_CFixedPoint 或 Divide_float 会在 error.log 中触发报错。在《十字军之王 III》的 Mod 开发中也存在相同问题。
我的疑问:
是否存在受支持的 GUI/本地化除法操作(例如等效的除法 API)?
若不存在,推荐的替代方案是什么(例如:在脚本中预先计算数值)?


IP属地:四川1楼2025-08-09 12:18回复