TRPG討論區 > 骰子區

(20181222更新1.5.0)可以用于QQ群和讨论组的酷Q骰子机器人

(1/3) > >>

酒蒸烧带鱼:
 :em006虽然是填之前的坑但是怎么回来一看这么多骰子机器人啊

如果你只是想立刻弄个骰娘到群里,请转到实例章节。

如果你有什么意见或者建议也可以在这里回复。

前言

点击进入项目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 ++++",机器人会将"++++"识别为骰子备注信息,并依此正常输出结果。
 :em004如果可以的话能写点功能建议的issue给我吗,bug report就更欢迎了
 :em006如果有大佬pull我感激不尽啊

笨哈:
雖然不是大佬,但我會用力pull帶魚的 :em021

tangys:
pr吗( 溜

snowknight:
虽然看着好像并不难的样子,不过我还是希望有个新手入门之类的东西来告诉我这东西怎么装怎么用怎么卸怎么维护。。。

酒蒸烧带鱼:

--- 引述: snowknight 于 2018-05-16, 周三 21:05:28 ---虽然看着好像并不难的样子,不过我还是希望有个新手入门之类的东西来告诉我这东西怎么装怎么用怎么卸怎么维护。。。

--- 引用结尾 ---

框架是酷Q的所以基本上没我啥事儿啊 :em003

--- 引用 ---什么你居然连酷Q都不知道,点这里下载 wiki

--- 引用结尾 ---

劇透 -  什么就算这样你也不会用?!只有最懒的伸手党才会点开这个: *图床大部分时间只有大陆能看到
下载酷Q解压后会有这么样一个目录,双击cqp.exe启动酷Q。


登陆你的QQ小号,并且你已经设置这个小号加入了你需要骰子的群


登录好了后在任务栏会有一个酷Q的标志,右键它,如图所示打开应用目录


把从点击获得项目最新release获得的cpk文件放进去

然后重启酷Q,当然你也注意到了那个右键菜单里有个快速重启,赶紧用。

这样打开应用管理

然后你应该会看到这样的界面

选中骰子机器人然后启用它就好了

卸载?在最上面那个图的界面,先按Ctrl+A,再按Shift+Delete,点击确定,卸载完毕。

导览

[0] 帖子列表

[#] 下页

前往完整版本