跳到主要内容

限时商店

limit_time / limit-time 是带过期时间的购买型商店。它和 普通商店 走同一套商品购买体验,但额外读取 time 字段,到期后会自动拒绝打开。

适用场景

  • 节日活动商店、限时折扣商店。
  • 限量抢购:配合 limitation.global 做全服库存。
  • 赛季货架:配合 item_count_limittrade_amount_limit 和标题倒计时提示玩家剩余时间。
  • 限时随机商店:配合 refreshrandom_poolrandom_price 做随机活动货架。

关键配置

字段说明
modelimit_timelimit-timeLIMIT_TIME
currency必填;和普通商店一样负责扣款
goods必填;读取 goods/*.yml 商品或随机池
goods.*.currency与普通商店一致,可单独覆盖某个商品使用的货币
time必填;到期时间,支持 yyyy-MM-dd HH:mm:ss 字符串或毫秒时间戳
title可使用 {page} / {max-page},当前限时 UI 还支持 {countdown}
limitation商品级限购;可用于限时活动里的个人/全局购买次数
refresh可选;用于限时随机商品,不等同于 time 到期时间

功能继承

限时商店继承普通购买链路中的这些能力:

功能说明
购买与确认商品点击后购买或进入确认界面
购物车支持加入购物车并统一结算
收藏与赠送支持收藏商品;符合条件的商品可赠送给其他玩家
搜索malkuth search 会进入普通/限时商店的通用搜索
限购与动态价格支持 limitationitem_count_limittrade_amount_limitdynamic_price
随机商品支持 refresh + random_pool / random_price

配置示例

下面节选自默认 shop/limit_shop.yml

mode: LIMIT_TIME

currency:
mode: "vault"

# 限时至 yyyy-MM-dd HH:mm:ss
# 或者直接填写毫秒时间戳,如 1740672000000
time: "2099-12-31 23:59:59"

display: '&c限时商店'
title: '限时商城'

layout:
- '#########'
- ' g g g g '
- 'P#######N'

goods:
1:
id:
- 属性1
- item1
amount: 1
price: 100
display:
lore:
- '购买可同时获得'
- '{lore_1}'
- '——————————'
- '{lore_2}'

2:
id: item1
amount: 2
if: 'perm vip'
price: 150
limitation:
player: 10

当前实现注意点

  • time 是结束时间,不是刷新周期;随机商品周期请使用 refresh
  • 商店到期后会在打开前被拦截,enable 通过也不会继续进入界面。
  • goods.*.currency 的优先级与普通商店一致:商品级优先于商店级;自定义 PAPI 货币更推荐引用 currency.yml 中已定义好的 key。
  • buy.mode: items 当前只支持 normal,不要写在限时商店里。
  • 如果要在标题显示倒计时,请把 {countdown} 写进 title,并准备好到期后的 on_disable 提示。

相关页面