一个基于DND5E
规则制作的mirai
机器人.
Cmake 至少3.10 JRE 至少 17.0.2 一个好用的编译器.确保你的Cmake能够正常工作. 一本DND城主指南(有不全书最好) 一双快手,用于高速通过验证码.
如果您不需要个性定制化什么东西的话,请将本项目下载到本地(最好star一下),解压并打开src/main.cpp
.在里面搜索并修改Master
为你自己的QQ
号.其他不需要过多配置.
接着,在根目录打开cmd
(这里推荐花一分钟去微软商店下载windows terminal
). 然后输入以下指令:
$>cd build
$>cmake ..
$>cmake --build .
正常情况下,Cmake
会输出一堆乱七八槽的信息(基本上在强调必须使用unicode
).只要没有红色,那么恭喜你,构建成功!
生成的dll将位于./build/Debug/DND5EBOT.dll
.linux
情况未知,如果可以正确编译的话位于./build/DND5EBOT.dll
.
基本上,本BOT
的目标运行环境是windows10
,尽管内部的代码都是跨平台的.如果有愿意测试的朋友,感激不尽.
接着我们需要去miraiCP-template
那里下载loader
并自己配置好config.json
.这部分信息可见"启动SDK"一节.
最后,按照教程启动loader
就可以——还有一件事.如果你启动的时候出现了弹窗提示必须进行验证,那么你的快手就要派上用场了.方法是这样的:先复制url
,然后打开浏览器(最好是Chrome
),粘贴进去,确认.打开页面后先按F12
打开审查界面,并选中network
项目,盯好.再滑动滑块,同时观察network
,并点开新出现的cap_union_new_verify
.最后就会有一个ticket
.复制它(不要带引号)再粘过来就好了,当然,必须快.
BOT将在实装角色卡功能(能解析
json
文件)后添加启动配置
所有指令均以.
开头,并且仅含必要的文字.本bot
不会试图解析除纯文本外的其他任何消息.
ver0.1暂时只支持骰点指令
骰点指令以r
开头,下略去.
D/d num
:创建一个骰子,面数为num
.
这里有一个名词:DICE
表达式.DICE
表达式即骰子的经过运算形成的表达式.这里运算不仅限于四则运算,也包括后续介绍的一些运算.一些例子如下:3d8;4d7+5;4*4d7
一个重要的事实是D/d
前后都必须是确切的数字,如(2+2)d5
等是不支持的,请使用2d5+2d5
.
num # DICE
:独立执行num
次DICE
表达式.
Points gep num
:从Points中选出大于等于num
的,并一一列出,结果仍视作Points
.简单来说,Points
就是一组骰点.3d8
形式的就是一个Points
.例子3d8 gep 2
,翻译为"投掷三个D8,并选出其中大于等于2的骰子".
3d8+2d4
就不是points了,简单来说不参与运算就是points
.
points k num
:选出前num
个.如4d6k3
.结果也是个points
.
points l num
:选出最后num
个,与上面相同.
一些技巧:
8d8 gep 1 l 3
从骰点中选出不低于1
的最小的3个骰值.
TODO:
- 角色卡
- 骰点指令自加和,输出美化.(以DND为核心,其他的兼顾)
- 安全相关.如定时等.