动态价格
本页按源码解释动态价格如何计算、何时变化、为什么会变化。
本页导读
- 生效范围与不生效范围
- 核心字段与通用计算流程
- 7 种算法公式与参数
- 容错、回退与报错
1. 动态价格在哪些场景生效
只在以下场景启用:
- 官方商品:
GIVE_ITEM、RECYCLE_ITEM - 玩家市场:
tradeMode=DIRECT且dynamicPricingEnabled=true的SELL挂单
不会生效的常见场景:
- 官方商品类型是
COMMAND、POTION_EFFECT、GROUP_BUY_VOUCHER - 市场挂单是
BUY - 市场挂单是
AUCTION
2. 动态价格核心字段
| 字段 | 说明 |
|---|---|
dynamicBasePrice | 基础价(为空时回落到当前价) |
dynamicDemandScore | 需求热度 |
dynamicPriceStep | 步进参数(默认斜率) |
dynamicFloorPrice | 地板价(可空) |
dynamicCapPrice | 封顶价(可空) |
dynamicAlgorithm | 算法枚举 |
dynamicParamsJson | 算法参数 JSON |
统一计算流程:
- 按算法算原始价
- 向下取整到
long - 强制
>= 1 - 再应用 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_bounds或invalid_dynamic_range)
6. 玩家策略建议
- 交易决策看当前
price,不要只看dynamicBasePrice。 - 高热度下优先分批买,避免一次把价格推太高。
- 若服主配置了 cap,冲高后追价风险通常更大。
- 动态价更适合
DIRECT快速成交,不适合拍卖玩法。