牌堆与随机抽取
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 引用语义),可以和帮助文档配合做出复杂的抽取结构。参见帮助系统。