改自 nonebot_plugin_russian 合并了 nonebot_plugin_horserace 还有一些自编玩法的小游戏合集。
通过pip安装无视本段。
nonebot_plugin_apscheduler APScheduler 定时任务插件
fonttools 字体相关的操作
matplotlib 数据可视化
mplfinance K线图
seaborn 数据可视化拓展
pip install nonebot_plugin_game_collection
nonebot.load_plugin('nonebot_plugin_game_collection')
注意:本插件与nonebot_plugin_russian不兼容!
如果之前运行过nonebot_plugin_russian那么需要把之前的数据删掉,不然会报错。。。
注意:2.1版本一定要安装字体simsun.ttc,不然有很多东西都会显示异常
注意:2.1版本与2.0版本数据不兼容
如果想恢复数据请参考data.data定义的数据结构从旧数据自行迁移
# 每日签到的范围
sign_gold = [200, 500]
# 每日补贴的范围
security_gold = [100, 300]
# 重置签到的范围
revolt_gold = [1000, 2000]
# 重置冷却时间,设置为0禁用发起重置
revolt_cd = 28800
# 重置的基尼系数
revolt_gini = 0.68
# 最大赌注
max_bet_gold = 2000
# 默认赌注
bet_gold = 200
# 单抽所需金币
gacha_gold = 50
# 一个测试字符串,不要动(
lucky_clover = "• LUCKY CLOVER •"
# 默认显示字体
game_fontname = "simsun"
# 跑道长度
setting_track_length = 20
# 随机位置事件,最小能到的跑道距离
setting_random_min_length = 0
# 随机位置事件,最大能到的跑道距离
setting_random_max_length = 15
# 每回合基础移动力最小值
base_move_min = 1
# 每回合基础移动力最大值
base_move_max = 3
# 最大支持玩家数
max_player = 8
# 最少玩家数
min_player = 2
# 事件概率 = event_rate / 1000
event_rate = 450
关于默认显示字体
一般来说把你想要使用的字体扔进机器人运行目录下的 data/fonts/
文件夹就好了。
关于默认资料卡背景
首次运行本插件之后,会出现 /data/russian/BG_image/
这个路径。
插件生成了一个非常defaul的default.png,如果不配置的话,所有人的资料卡背景图片就是这张图了。
随便拖进去一张图片命名为default.png,这张图就会作为默认资料卡背景。
改图片的时候不用关bot也会生效
里面的所有游戏都需要使用金币作为赌注! 注:同一时间群内只能有一场对决
获取金币 数量
获取金币
获取道具 道具名 数量
获取道具
刷新每日
刷新每日签到,补贴,金币转移上限,所有人时效道具的剩余时间-1
保存数据
在关bot前需要保存数据,不然会回档到上次自动保存的时间点
数据备份
备份游戏数据文件
金币签到
玩家每日可签到一次,每日0点刷新。
重置签到
每次重置后可领取一次,当群内的基尼系数大于设定值可发起重置,重置后可进行一次重置签到。
每日刷新有几率刷新重置签到。
发起重置
按比例清空前十名的金币,第一名进入路灯挂件榜。
每日补贴(不是指令)
玩家输光所有金币后会触发每日补贴,每日三次,0点刷新。
我的金币
查看自己的金币数量
我的仓库
查看自己获得的的道具
我的资料卡
查看个人账户详细资料
炼金资料卡
查看个人炼金资料
设置背景图片[图片]
设置背景图片(回复一张图片,删掉at)
设置我的资料卡显示的背景图片
删除背景图片
将资料卡显示的背景图片设置为默认
发红包 金额 at
给at的用户发金币
送道具 道具名 道具数量 at
给at的用户送指定数量的道具(可以不填道具数量,默认为1)。可以送路灯挂件牌,道具名:路灯挂件标记。
金币转移 公司名 金额
跨群转移金币到自己的账户
@bot十连抽卡
@bot100连抽
也可以把at换成bot的名字。
道具分为全局道具和群内道具
也可分为永久道具和时效道具
群内道具最多叠 30 天/个
部分道具可使用:
使用道具 道具名 参数
(总金币|总资产|金币|资产|财富|胜率|胜场|败场|路灯挂件)排行
(金币|资产|财富|胜率|胜场|败场|路灯挂件)总排行
所有游戏都可以通过下方的指令发起
发起游戏的指令中除了第一个字段剩下的都可以忽略
子弹数
忽略为1
金额
忽略为默认赌注
at
忽略为全体成员可接受
游戏可以使用如下指令处理
接受挑战
拒绝挑战
认输
超时结算
(60秒)
游戏重置
(需要游戏对局超时)
发起
随机对战 金额 at
无视赌注上限
通过 随机对战 来对其他人发起决斗,随机游戏,随机赌注。
发起随机对战的玩家必须持有挑战徽章(可抽卡获得)
发起
装弹 子弹数 金额 at
进行
(开枪|咔|嘭|嘣) N(可忽略)
规则
赌注上限为1倍赌注上限
通过 装弹 来对其他人发起决斗,轮流开枪,直到运气不好的人先去世。
发起
(掷色子|摇骰子) 金额 at
进行
开数
开点
取出
规则
赌注上限为1倍赌注上限每轮
通过 掷骰子 来对其他人发起决斗,轮流开数比大小,每次开数都会让结算金额上涨,中途结束按照当前金额结算。
轮流开数,先比组合,再比点数。
组合:役满(5个相同) > 串(4个相同) > 条(3个相同) > 两对(2组2个相同) > 对(2个相同) > 散(全不相同)
别问为什么役满,雀魂真好玩
发起
扑克对战 金额 at
进行
出牌 1/2/3
规则
赌注上限为5倍赌注上限
通过 扑克对战 来对其他人对战,打出自己的手牌。当对方的血量小于1或者在自己回合出牌前血量>40即可获胜。
牌库一共104张牌,当牌库没有牌了就以目前血量结算,结束游戏。
先手初始点数:HP 20 SP 0 DEF 0
后手初始点数:HP 25 SP 2 DEF 0
每回合抽三张牌,打出其中的一张作为行动牌,弃掉剩余手牌。特别注意:防御牌作为行动牌是攻击
之后对方摇一个20面骰子,如果点数小于对方SP则从牌库翻出一张牌作为技能牌打出,按照技能牌点数扣除对方SP点。
花色 | 描述 | 行动牌效果 | 技能牌效果 |
---|---|---|---|
黑桃 | 防御 | 打出攻击 | 增加DEF |
红桃 | 生命 | 恢复HP | 恢复HP |
梅花 | 技能 | 主动技能 | 增加SP |
方片 | 攻击 | 打出攻击 | 打出反击 |
主动技能:摇一个20面骰子,如果点数小于自身SP则把剩余两张手牌作为技能牌全部打出,按照技能牌点数扣除自身SP点
ACE技能:摇一个6面骰子,把打出的ACE牌点替换成摇出的点数,再把三张手牌全部作为技能牌打出,按照技能牌点数扣除自身SP点
发起
猜数字 金额 at
进行
50
(1-100的数字)
规则
赌注上限为每轮1倍赌注上限每轮
通过 猜数字 来对其他人对战,轮流猜数字,猜中数字即可获胜。
每轮赌注都会增长一倍
发起
同花顺 金额 等级 at
等级1-5,默认为1,和手牌的大小相关。
进行
看牌
在加注前可以查看手牌确认自己是否要加注。手牌以私聊形式发送,看牌的玩家需要添加bot好友
认输
及时止损
加注 金额
先手决定本轮加注最小金额,后手决定本轮金额,加注默认为初始金额。
规则
赌注上限为单次加注10倍赌注上限
通过 同花顺 来对其他人对战,先手看牌加注,后手看牌跟注,直到一方认输或点数大的获胜。
组合:同花顺 > 四条 > 葫芦 > 同花 > 顺子 > 三条 > 两对 > 一对 > 散牌
花色:黑桃 > 红桃 > 梅花 > 方片
发起
21点 金额 at
对战双方需要添加bot好友
进行
抽牌
抽一张牌
停牌
停止抽牌
双倍下注
抽一张牌并停牌,赌注翻倍。
规则
赌注上限为单次5倍赌注上限
通过 21点 来对其他人对战,手牌点数大的获胜。
游戏中点数超过21会直接失败。
发起
AB牌 金额 at
对战双方需要添加bot好友
进行(私聊bot!私聊bot!私聊bot!)
A
B
1
2
3
打出手牌
规则
赌注上限为每轮1倍赌注上限
双方手牌均为AB123五张牌,每轮暗牌发牌(私聊bot),每轮结束后开牌。
双方出牌相同为平局,此外
A为必胜牌,B为必败牌。
1胜2,2胜3,3胜1
本轮胜利者+1分
打出所有手牌后结算。分数多的胜利
每轮赌注翻倍
玩法标注:因为B必败所以在对方出A的时候混出去是最优解。总之你需要打出AB123全部的牌。
发起
西部对战 金额 at
对战双方需要添加bot好友
进行(私聊bot)
装弹
开枪
闪避
闪枪
预判开枪
规则
赌注上限为5倍赌注上限
双方私聊bot本轮的行动
双方初始1发子弹,装弹上限为6发子弹(6发可以继续装弹,但是子弹数不会再增加了)。
如果双方同时开枪
,那么子弹会发生碰撞。本轮平局
装弹
在 初始位置 行动,剩余子弹数+1。会被 开枪
闪枪
击杀
闪避
去 闪避位置 ,不会消耗子弹。会被 预判开枪
击杀
开枪
在 初始位置 行动,打对方 初始位置 ,剩余子弹数-1 击杀 装弹
预判开枪
闪枪
去 闪避位置 ,打对方 初始位置 ,剩余子弹数-1 击杀 装弹
开枪
预判开枪
在 初始位置 行动,打对方 闪避位置 ,剩余子弹数-1 击杀 闪避
闪枪
注:预判开枪不会与闪枪发生子弹碰撞,因为预判开枪速度比闪避开枪速度快。
发言复刻 请不要在使用此插件时出现报错去找原作者(冲我来,发issue,我已经准备好赴死了)
赛马创建 金额
第一位玩家发起活动,金额为报名费
赛马加入 你的马儿名称
花费报名费,加入你的赛马
赛马开始
如果有足够的人加入了游戏,那么可以通过本指令开始游戏
赛马暂停
暂停本群的赛马,稍后可以用赛马开始
继续游戏
自定义事件包方式
事件包为utf-8编码(不懂的话就别瞎整了)
详细信息请参考:
写完的json文件放入events/horserace文件夹中就能跑了(除非你写错了,在加载事件时会失败,但不会影响其他事件加载也不会让你的bot崩了)
冻结资产@someone
查封at的群友的全部资产。
由于游戏市场机制过于简单导致运营时间长了以后会出现金币数量离谱的玩家
如果金币持有量过于离谱,可以使用冻结资产
查封。
查封后的用户会持有最多500个全局道具【被冻结的资产】,此道具可以在任意群使用,每个【被冻结的资产】使用后会在使用的群获得一倍赌注上限的金币。
上述机制【被冻结的资产】的数量与被冻结前相关。
@bot清理无效账户
@bot也可以换成叫bot的名字
bot不在的群,退群的用户等【无效账户】可以使用清理无效账户
删除。
现在你可以在私聊尝试签到,抽卡,查看我的道具/金币/资料卡,甚至金币排行,购买或结算股票等操作。
不过你直接去的话大概会提示关未联群聊账户
连接账户有两种方法
- 在群里发送
@bot关联账户
私聊账户就会关联到本群里 - 私聊发送
关联账户
再根据提示输入群号私聊账户就会关联到群号所指的群
-
当群内金币符合限制时,[群主,管理员,超管] 可以使用
市场注册
把此群号注册到市场。 -
大量
发行购买
某公司股票会使该公司股价上涨。同样,大量官方结算
某公司股票会使该公司股价下跌。 -
出售
指令在本群是覆盖的,比如你在本群账户上有1000股文文日报社,你连续使用如下指令出售 文文日报社 0.8 900
出售 文文日报社 3 100
最后的结果是你以每股 3 金币的价格在市场上发布了100股(之前以每股 0.8 金币的价格在市场上发布了900股的信息被覆盖了) -
不可以买自己上架的股票(跨群也不可以),如果想从交易市场下架可以使用
出售
指令。例如出售 文文日报社 3 0
(发布0股) -
若要跨群转金币可以使用
金币转移
指令。转移目的地群需要已注册公司,而且转移人在该群创建过账户(签到,收红包,玩游戏等功能会自动创建账户) -
公司股票为过低时基本上会被自动冻结,无法被购买。
具体指令如下
市场信息
:查看市场上所有公司的基本信息。
市场信息 公司名称
:查看【公司名称】的群资料卡。
群资料卡
:查看本群资料卡
发行购买 公司名称 N
:以发行价格从 【公司名称】购买N股本公司股份。
结算 公司名称 N
:以结算价格向【公司名称】卖出N股本公司股份。
市场购买 公司名称 N
:以从低到高的报价买入N股市场中的【公司名称】。
出售 公司名称 报价 N
:将自己手中的【公司名称】 以【报价】发布到市场N股。
管理员、群主、超管
市场注册 公司名称 @bot
:将本群以【公司名称】注册到市场。
公司重命名 公司名称 @bot
:将本群公司名改成【公司名称】。
更新公司简介 简介内容
:将【简介内容】添加到本群公司资料的简介中。
超管
管理员更新公司简介 公司名称 简介内容
:将【简介内容】添加到【公司名称】资料的简介中。
如有建议,bug反馈,以及讨论新玩法,新机制(或者单纯没有明白怎么用)可以来加群哦~
当然也可以发issue...
但是群里回的快!!(疯狂暗示)