跳到主要内容

动态价格

本页按源码解释动态价格如何计算、何时变化、为什么会变化。

本页导读
  • 生效范围与不生效范围
  • 核心字段与通用计算流程
  • 7 种算法公式与参数
  • 容错、回退与报错

1. 动态价格在哪些场景生效

只在以下场景启用:

  • 官方商品:GIVE_ITEMRECYCLE_ITEM
  • 玩家市场:tradeMode=DIRECTdynamicPricingEnabled=trueSELL 挂单

不会生效的常见场景:

  • 官方商品类型是 COMMANDPOTION_EFFECTGROUP_BUY_VOUCHER
  • 市场挂单是 BUY
  • 市场挂单是 AUCTION

2. 动态价格核心字段

字段说明
dynamicBasePrice基础价(为空时回落到当前价)
dynamicDemandScore需求热度
dynamicPriceStep步进参数(默认斜率)
dynamicFloorPrice地板价(可空)
dynamicCapPrice封顶价(可空)
dynamicAlgorithm算法枚举
dynamicParamsJson算法参数 JSON

统一计算流程:

  1. 按算法算原始价
  2. 向下取整到 long
  3. 强制 >= 1
  4. 再应用 floor/cap(若配置)

3. 热度变化规则

3.1 购买与回收

  • 购买后:demand += delta
  • 回收后:demand = max(0, demand - delta)

当前算法 delta 默认都按数量递增(最小 1)。

3.2 周期衰减

  • 官方动态价和市场动态价都会周期衰减。
  • 每次衰减步长固定 1
  • 调度周期 6000 ticks(约 5 分钟,受 TPS 影响)。

4 页面展示算法解读

购买时页面上会显示具体算法名。理解它们,有助于你更好判断买入节奏和商机:

  • 线性需求 LINEAR_DEMAND_V1
    • 表现:买得越多,价格越稳步上升,最容易理解。
    • 常见物品:基础矿物(铁锭、煤炭)、常见建材(橡木、圆石)。
  • 边际递减 DIMINISHING_RETURN_V1
    • 表现:刚开始买涨得快,后面涨幅会逐步放缓。
    • 常见物品:大型建筑材料(玻璃、石砖、混凝土)、泥土、沙子(买多一点也不会太贵)。
  • 对数平滑 LOG_SMOOTH_V1
    • 表现:高频买小件物品时,价格变化较温和,不会突然暴涨。
    • 常见物品:日常消耗品(面包、烤肉、火把、箭矢)。
  • 指数防护 EXPONENTIAL_DEFENSE_V1
    • 表现:一次性大额扫货时价格会快速飙升,主要用于防止垄断稀缺物品。
    • 常见物品:战略稀缺物资(钻石、下界合金锭、信标、极品附魔书)。
  • 阈值分段 THRESHOLD_STEP_V1
    • 表现:少量购买时价格几乎不变,超过阈值后会明显涨价。
    • 常见物品:功能性道具(潜影壳、经验瓶、末影珍珠、刷怪蛋)。
  • 弹性模型 ELASTICITY_V1
    • 表现:弹性系数大时价格更平缓;系数小时对购买行为更敏感。
    • 常见物品:服务器特殊代币、绿宝石、金锭(更容易受玩法活动影响)。
  • 恐慌抢购 PANIC_BUYING_V1
    • 表现:当抢购热度超过临界点后,价格会加速上涨。
    • 常见物品:节日限定道具、稀有装饰头颅、附魔金苹果。

5. 容错与回退行为

  • 算法名无效:回退 LINEAR_DEMAND_V1
  • dynamicParamsJson 非法:按空对象处理
  • 数值会做非负/正数保护
  • floor > cap:报错(invalid_dynamic_boundsinvalid_dynamic_range

6. 玩家策略建议

  1. 交易决策看当前 price,不要只看 dynamicBasePrice
  2. 高热度下优先分批买,避免一次把价格推太高。
  3. 若服主配置了 cap,冲高后追价风险通常更大。
  4. 动态价更适合 DIRECT 快速成交,不适合拍卖玩法。