虽然是填之前的坑但是怎么回来一看这么多骰子机器人啊
如果你只是想立刻弄个骰娘到群里,请转到实例章节。如果你有什么意见或者建议也可以在这里回复。前言
点击进入项目github主页点击获得项目最新版本感谢@niunuinui 在文档制作上的帮助。
主要特性
- 所有的骰子指令支持多行输入。
- 可以输入算式,你可以把它当计算器用。
- 使用硬件随机器,如果硬件随机器不可用,则改用mt19937随机器。
- 支持coc7的奖惩骰。
- 支持wod。
- 可以识别整数、小数、百分数。
注意,这个骰子机器人不会回应私聊,请将机器人预先放置在你需要用到的群里。现在可以了。
安装与配置
点这里下载酷Q点这里进入酷Q的wiki了解如何使用劇透 - 如果你实在懒得点开wiki也可以看这个:
*图床大部分时间只有大陆能看到下载酷Q解压后会有这么样一个目录,双击cqp.exe启动酷Q。
登陆你的QQ小号,并且你已经设置这个小号加入了你需要骰子的群
登录好了后在任务栏会有一个酷Q的标志,右键它,如图所示打开应用目录
把从
点击获得项目最新release获得的cpk文件放进去
然后重启酷Q,当然你也注意到了那个右键菜单里有个快速重启,赶紧用。
这样打开应用管理
然后你应该会看到这样的界面
选中骰子机器人然后启用它就好了
卸载?在最上面那个图的界面,先按Ctrl+A,再按Shift+Delete,点击确定,卸载完毕。
实例
QQ:1701687847
私人服务器挂的,请适当使用。
添加好友后邀请到群中即可使用,我配置了自动好友通过和加群控制,如果能够接受邀请基本上是立即反应的。
功能演示
>>help发送".help"获取没啥用的帮助信息。
.help
DiceBot by dynilath v1.5.0
访问项目主页http://github.com/dynilath/coolq-dicebot
获得使用说明以及了解更多内容。
使用方式简介:
.r 2d6+3 普通骰子
.c coc骰子
详细指令参考请前往项目主页。
如果在使用中遇到了bug,或者有什么功能建议,欢迎在项目主页通过issue反馈,感谢您的帮助。
>>最简单的骰子让我们先骰一个d20试试。
.rd20
* dynilath 掷骰: d20 = 20
你只需要在开头写上.r再加上骰子(例如d20、4d6)。
发送这个消息,骰子机器人就能识别你的消息并回复一个骰子结果。
你也可以加上一些描述:
.rd20攻击
* dynilath 攻击 掷骰: d20 = 6
>>骰子描述在骰子指令后面加上一些文本,可以作为描述。
.rd20攻击
* dynilath 攻击 掷骰: d20 = 6
>>更多的骰子有时候你会需要骰几种不同的骰子,可以发送如下信息。
.rd20+d6+2d4
* dynilath 掷骰: d20 + d6 + 2d4 = 20
>>骰子机器人在说什么?骰子机器人发送的信息组成结构如下:
* [你的QQ昵称/群名片] [骰子描述] 掷骰: [骰子指令] = [结果]
群名片就是你使用骰子所在的群中你的群名片,如果是讨论组则使用昵称。
骰子描述即你输入的骰子(例如d20、4d6)。
结果即最终计算得到的数值。
>>我想知道4d6的每个d6各是多少有的时候你可能会想要知道4d6里面每个骰子各是多少,这个时候使用.rs代替之前的.r即可。
.rs4d6
* dynilath 掷骰: 4d6 = [3 + 6 + 6 + 5] = 20
这个时候的发送的信息组成结构为:
* [你的QQ昵称/群名片] [骰子描述] 掷骰: [骰子指令] = [骰子详细] = [结果]
>>我想双/三/四骰取高/低你可以在骰子指令后加上k[数值]或者kl[数值]来只取部分结果。
k[数值]表示保留较高结果,kl[数值]表示较低结果。
下面的例子是骰4d6并保留3个较高的结果(即扔掉较低的那个)。
.rs4d6k3
* dynilath 掷骰: 4d6k3 = [6 + (1) + 6 + 3] = 15
>>一个一个地输入太麻烦了!骰子机器人支持一次输入多行,只需要你在聊天框里多打几行字,如下所示:
.r 1d20 + 1d6-3+4+11 破邪斩+猛力攻击
.r 5d4 * 150%
* dynilath 破邪斩+猛力攻击 掷骰: 1d20 + 1d6 - 3 + 4 + 11 = 37
* dynilath 掷骰: 5d4 * 150% = 21
可能下面的场景你会经常遇到:
.r4d6k3 力量
.r4d6k3 敏捷
.r4d6k3 体质
.r4d6k3 智力
.r4d6k3 感知
.r4d6k3 魅力
* dynilath 力量 掷骰: 4d6k3 = 10
* dynilath 敏捷 掷骰: 4d6k3 = 15
* dynilath 体质 掷骰: 4d6k3 = 14
* dynilath 智力 掷骰: 4d6k3 = 12
* dynilath 感知 掷骰: 4d6k3 = 9
* dynilath 魅力 掷骰: 4d6k3 = 13
输出的顺序完全按照你的输入顺序,并且如果存在不符合规范的行,能够单独忽略。
.r4d6k3 力量
这行是来捣乱的
.r4d6k3 敏捷
* dynilath 力量 掷骰: 4d6k3 = 11
* dynilath 敏捷 掷骰: 4d6k3 = 12
>>我想能直接计算一部分后续加值不用担心,骰子机器人是支持算式的。
.rs(((4d6+3)/2+2d20)+4*1d6)*150%
* dynilath 掷骰: (((4d6 + 3) / 2 + 2d20) + 4 * 1d6) * 150% = ((([1 + 3 + 3 + 6] + 3) / 2 + [19 + 6]) + 4 * [4]) * 150% = 73.5
当然,如果你的算式输入格式有问题,多余的部分会被识别成骰子描述。
.rs4d6+(((4d6+3)/2+2d20)+4*1d6
* dynilath +(((4d6+3)/2+2d20)+4*1d6 掷骰: 4d6 = [3 + 5 + 4 + 2] = 14
>>我不想每次都改群名片使用.n指令来指定一个仅在骰子机器人中用的名字。
.n菜鸟PC
* Da'Inihlus 的新名字是 菜鸟PC
在这之后使用骰子指令时,昵称部分会使用这个名字。
.r4d6k3 力量
* 菜鸟PC 力量 掷骰: 4d6k3 = 7
这个昵称在每个群/讨论组之间是独立的,在A群的设置不会影响在B群的状态。
除此之外,你也可以使用.ns来更改昵称,这个时候骰子机器人不会回复消息。
.ns 迷诱魔
.r 1d20+20
.ns 反pal魅魔
.r 1d20+24破善斩
* 迷诱魔 掷骰: 1d20 + 20 = 37
* 反pal魅魔 破善斩 掷骰: 1d20 + 24 = 41
>>我是一个coc7版玩家骰子机器人提供了coc定制的骰子。使用指令为.c。
.c图书馆利用
* 反pal魅魔 图书馆利用 掷骰: d100 = 11
除此之外,内置了coc7版的奖惩骰。使用b[数值]来产生奖励骰,使用p[数值]来产生惩罚骰。
.cp2闪避(50)
* 反pal魅魔 闪避(50) 掷骰: d100p2 = [(1) + 7 + (7)] [0] = 70
.cb2斗殴(65)
* 反pal魅魔 斗殴(65) 掷骰: d100b2 = [(10) + 9 + (9)] [0] = 90
可以自动计算奖惩相抵。
.cp5b5p2b3奖罚抵消
* 反pal魅魔 奖罚抵消 掷骰: d100p5b5p2b3 = d100b1 = [0 + (1)] [7] = 7
>>我是一个wod玩家骰子机器人提供了wod定制的骰子。使用指令为".wn[骰子数量]"和".wo[骰子数量]"。
分别对应nWoD和oWod。
nWoD规则下,默认困难度为8,出10会加骰。
.wn4
* dynilath 掷骰: nWoD 4 = [10 + (3) + (7) + (1) + (3)] = 1
oWoD规则下,默认困难度为6,出1会扣除一个成功。
.wo4
* dynilath 掷骰: oWoD 4 = [7 + 8 + (2) + (1)] = 1
无论是nWoD还是oWod,都可以加上d[数值]以更改困难度。
.wo4d8
* dynilath 掷骰: oWoD 4d8 = [(5) + (5) + (2) + 9] = 1
无论是nWoD还是oWod,都可以加上b[数值]以设置奖励骰阈值。这里为了避免错误输入产生过长的结果,当阈值小于6时,取10。
.wo4b6
* dynilath 掷骰: oWoD 4b6 = [(1) + (2) + 7 + 6 + (5) + (1)] = 0
>>手动骰子手动骰子会产生一些会保存在数据库的骰子数据。
你可以使用指令操作这些骰子。如同它们真的在那里。
.ns手动骰子测试
.h4d6+2d8找几个骰子
.hr4重骰第四个
.hk5杀掉第五个
.ha2d6增加两个
.hka全杀掉
.hr4
.ha1d4
* 手动骰子测试 找几个骰子 在桌上放了这些骰子: 4d6+2d8 当前状态: 2(6) + 1(6) + 2(6) + 5(6) + 2(8) + 1(8) = 13
* 手动骰子测试 重骰第四个 重骰桌上的第 4 个骰子 当前状态: 2(6) + 1(6) + 2(6) + 4(6) + 2(8) + 1(8) = 12
* 手动骰子测试 杀掉第五个 杀死桌上的第 5 个骰子 当前状态: 2(6) + 1(6) + 2(6) + 4(6) + 1(8) = 10
* 手动骰子测试 增加两个 在桌上增加了这些骰子: 2d6 当前状态: 2(6) + 1(6) + 2(6) + 4(6) + 1(8) + 2(6) + 2(6) = 14
* 手动骰子测试 全杀掉 杀掉了所有的骰子 当前状态: 没有骰子了
* 手动骰子测试 重骰桌上的第 4 个骰子 当前状态: 没有骰子了
* 手动骰子测试 在桌上增加了这些骰子: 1d4 当前状态: 4(4) = 4
其他的注意事项- 骰子指令的头部.r可以任意填充空格。".r1d20"、" . r 1d20"、". r 1d20"是完全等价的。
- 大小写其实也没啥关系".r"和".R"是一样的(1.4版本对大小写支持有一定问题)。".r4D6k3"、" . R 4d6k3"、".R 4d6K3"对骰子机器人而言是一样的东西。
- 算式也可以在各个组成部分之间插入空格,例如".r 1d20 + 4d6 +3"也可以。
- 数字和骰子指令中是禁止空格的,例如"4d6"是不能写作"4 d 6"的,"100%"不能写作"1 0 0%",这里被空格隔开的部分会被识别成指令中断,作为备注信息输出。
- 没有任何计算时是不会输出的,例如".r",".r ",".r () "都不会有输出结果,无论是否有备注信息。
- 骰子能自动识别指令断点,例如输入" .r 1d20 ++++",机器人会将"++++"识别为骰子备注信息,并依此正常输出结果。
如果可以的话能写点功能建议的issue给我吗,bug report就更欢迎了
如果有大佬pull我感激不尽啊