Skip to content

牌堆与随机抽取 ​

Dice!Next 兼容原版 Dice! 牌堆格式,并提供给主持人(KP)的运行时临时牌堆与内联随机工具。

指令总览 ​

指令说明
.draw / .drawh公开抽取 / 暗抽牌堆
.deck查看牌堆列表 / 管理临时牌堆 / 设置默认牌堆
.gacha抽卡(gacha 牌堆)

抽牌 .draw ​

.draw 塔罗牌        → 从「塔罗牌」牌堆抽一张
.draw3 塔罗牌       → 连抽 3 张
.draw              → 抽本群默认牌堆(需先 .deck set)
.drawh 塔罗牌       → 结果私聊发给抽取者,群里只发暗抽回执

内联随机(跑团神器) ​

无需建堆,直接给候选项用 / 分隔即可随机选一:

.draw 红/蓝/绿      → 在三项中随机选一个
.draw3 左/中/右     → 随机选 3 次

适合临场让骰子帮忙做随机决定。

临时牌堆 .deck new ​

任何人(含没有管理权限的 KP)都能为本群建立临时牌堆,跑团时非常实用:

.deck new 出招 石头/剪刀/布   → 建立本群临时牌堆「出招」
.draw 出招                    → 从临时牌堆抽取
.deck del 出招                → 删除临时牌堆

默认牌堆 .deck set ​

.deck set 塔罗牌    → 设为本群默认牌堆(需群管理),之后直接 .draw 即可
.deck default       → 查看当前默认牌堆
.deck clr           → 清除默认牌堆

牌堆文件 ​

牌堆是 JSON 文件({"牌堆名": ["卡面1", "卡面2", …]},一个文件可含多个牌堆),从两个目录加载:

目录用途
decks/随安装包分发的内置/示例牌堆(升级时会被替换)
data/decks/用户自己的牌堆(上传/手动放置都在这里,升级不受影响)

同名牌堆以 data/decks/ 的为准。手动放入文件后,在管理面板点「重载」或重启即可生效。

WebUI 上传与编辑 ​

在 Web 管理面板 的「牌堆管理」页可以:

  • 上传牌堆文件(仅限 .json),自动保存到 data/decks/ 并立即重载;
  • 左侧选择文件、右侧查看该文件的各牌堆条目;分页支持点选页码与输入跳页。
  • 用户文件可在线编辑、下载或删除;内置文件由面板与服务端共同限制为只读,不能直接覆盖或删除。两种来源即使文件名相同,也分别标识,不会读写错文件。
  • 内置文件可下载留存,也可把公开、非空的单个牌堆复制为用户牌堆文件后再编辑;保留该条目的卡面原文,但不复制整个合集、其他子牌堆或合集元数据。引用仍依赖已加载的原牌堆;若需独立分发,应另外核对依赖。
  • 查看牌堆的 _title、_author 等元数据;
  • 一键重载所有牌堆目录(新增/修改/删除的文件都会反映)。

编辑条目时保留原始权重、引用、多行文本及未知扩展字段,未保存切换会提示。空对象读取导致“无法读取这个牌堆”的问题已修复;真正加载失败时会显示错误并允许重试,不把空内容当成已加载成功。

.deck 聊天列表默认隐藏 _ 开头的元数据键(可在系统设置关闭该隐藏)。

旧版牌堆兼容 ​

  • 牌堆引擎完全兼容原版 Dice! 牌堆格式:子牌堆引用 {牌堆}(不放回)、{%牌堆}(放回)、骰子表达式 [1d6]、权重 ::N::卡面、转义 \{ \[ 等语法全部可用。
  • 使用数据迁移从原版 Dice! 升级时,PublicDeck/ 目录下的外置牌堆会自动校验并导入到 data/decks/。
  • 牌堆文件需为 UTF-8 编码的 JSON;旧版遗留的 GBK 编码文件请先转成 UTF-8 再放入。中文文件名没有问题。

牌堆里引用帮助词条

卡面中的 {引用} 若不是牌堆名,会尝试查同名帮助词条并展开其内容(溯洄 / OneDice 引用语义),可以和帮助文档配合做出复杂的抽取结构。参见帮助系统。

基于 AGPLv3 协议发布