跳到主要内容

折扣与限时特卖

有两种打折方式:

方式适合存在哪里
文件里的折扣 discount:长期、规律的折扣:周末九折、晚间时段、节日档期商店文件
限时特卖 /cs sale临时活动:现在开始打八折 2 小时数据库(重启后仍然有效)

限时特卖:删除线原价 -20% 与剩余时间

文件里的折扣​

discount 可以写在商店(全店)或商品(单品):

shops/daily.yml
discount:
percent: 10 # 九折
days: [SAT, SUN] # 只在周六、周日
items:
golden_apple:
item: GOLDEN_APPLE
buy: 300
discount: 20 # 这件永远八折(简写)
键说明
percent折扣百分比:20 = 打八折、50 = 半价
from(可不写)开始时间:'2026-10-20 00:00' 或 '2026-10-20'
to(可不写)结束时间,格式同上
days(可不写)每周哪几天:[SAT, SUN]、[5, 6, 7]、[周六, 周日]
hours(可不写)每天哪个时段:'18:00-22:00';可以跨午夜,例如 '22:00-02:00'

条件全部成立时才打折。discount: 20 等于永久八折。时间用 config.yml 的 timezone。

# 国庆档期:10/1 – 10/8 全店七五折
discount:
percent: 25
from: '2026-10-01'
to: '2026-10-08'

# 每天晚上 8 点到 10 点的欢乐时光
discount:
percent: 15
hours: '20:00-22:00'

限时特卖​

/cs sale <目标> <折扣%> <时长> [broadcast]
/cs sale list
/cs sale stop <目标|all>
目标范围
blocks整个商店
blocks:beacon一件商品(商店:商品 key)
*全部商店

时长:30m、2h、3d、1w,也可以组合 1d12h。最后加上 broadcast 会全服广播:

/cs sale daily 20 2h broadcast
✦ 限时特卖 每日特惠 全部 -20% 持续 2小时,/cs 前往选购!
  • /cs sale list 列出进行中的特卖、剩余时间与开启的人;/cs sale stop daily 提前结束,/cs sale stop all 全部结束。
  • 特卖存在数据库:重启服务器后继续有效,时间到自动结束,不需要定时器。
  • 共用 MySQL 时,在一个子服开的特卖,其他子服 30 秒内生效。
  • 广播文字在 messages.yml 的 sale-broadcast。

多个折扣同时成立​

商品的折扣、商店的折扣、限时特卖(商品 / 商店 / 全部)不叠加,取折扣最多的那一个。

  • 买价 = 原价 × 行情倍数 × (1 − 折扣%)。
  • 折扣与特卖只影响买价,回收价不变。
  • 整数货币打完折至少还是 1。

玩家看到的​

地方显示
商品说明「买入价格:」后面依序是加了删除线的原价、现价与 -20%;有结束时间时下面一行「特卖剩余:1小时58分」
商品图示发光
主菜单的商店图示全店折扣或特卖时多一行「✦ 特卖中 -20%」并发光
云界面商品卡片右上角「-20%」徽章、商店标题下方「全店特卖 -20% · 剩余 …」

%cloudshop_sale_<商店>% 输出这个商店目前的全店折扣百分比(没有时 0),见 变量。

在管理介面设定​

游戏内管理介面 的商品设定或商店设定里,左键「折扣」/「全店折扣」,聊天栏输入:

输入结果
20永久八折
30 2d七折,两天后结束(写入 to:)
0取消

每周哪几天、每天的时段请直接写在文件里或用 网页编辑器。