创建多个 比赛项目,每个比赛项目单独储存段位 积分 称号 首胜奖励 段位奖励 等……显示段位 比赛积分 排名防止两人刷分防止刷分XinxinBotApi 进行群内互动(比如段位提升或查询胜率)MySQL 储存插件数据(未测试)插件只在下列核心进行测试,正常使用,其它服务端核心未知,请自行测试。
1.12.2版本:CatServer
1.16.5版本:CatServer
1.20.2版本:Mohist、arclight
已测试重铸宝可梦版本 8.4.3、9.1.11、9.2.8
本插件可以使用 tab 补全命令
/xpp join [比赛名] — 加入一个比赛
/xpp quit — 退出当前匹配队列
/xpp top [比赛] — 查看某比赛的排行榜
/xpp set [比赛] — 设置当前佩戴哪个比赛的称号
/xpp me [比赛] — 查看自己某个比赛的积分
/xpp win [比赛] — 查看自己某个比赛的比赛信息
管理员指令介绍(权限:XinxinPokePvp.admin)
/xpp add [玩家] [比赛] [积分] — 增加某玩家某比赛的积分
/xpp drop [玩家] [比赛] [积分] — 减少某玩家某比赛的积分
/xpp look [玩家] [比赛] — 查看某玩家某比赛的积分
/xpp reload — 重载插件
%XinxinPokePvp_Prefix% —— 显示玩家段位称号
%XinxinPokePvp_Points_比赛% —— 显示玩家某个比赛的积分
%XinxinPokePvp_TopPoints_比赛_0-9% —— 显示某个比赛第几名玩家的积分
%XinxinPokePvp_TopPlayer_比赛_0-9% —— 显示某个比赛第几名玩家的名称
如果你要显示
排位赛中第一名的玩家积分和名字变量可以按照下方格式写
%XinxinPokePvp_TopPoints_排位赛_1% —— 排位赛第一名积分
%XinxinPokePvp_TopPlayer_排位赛_1% —— 排位赛第一名玩家名
我们将插件加入服务器并填写好key后启动会生成下列文件
默认生成的配置是1.12.2版本的,高版本默认配置可在插件下载页面下载获取
data此文件夹用于存放玩家数据(可无视)Bot.yml配置联动XinxinBotApi功能,默认未启用config.yml是插件的全局核心配置key.yml用于存放用户验证码文件lang.yml插件的语言提示文本可以在这里修改rankGroup.yml这个文件配置比赛规则以及段位奖励
本插件默认自带了三个比赛 排位赛 1v1 娱乐赛
你可以通过打开 rankGroup.yml 查看这些比赛的默认配置
如果我们要创建一个比赛的话可以复制其中的一个默认配置进行修改
例如我现在要创建一个 禁止神兽 禁止使用背包 禁止携带气势披带 禁止携带皮卡丘 的名字叫 测试赛 的比赛
首先我们先在 RankGroup 配置中写出我们的比赛名字
RankGroup:
#排位赛名称(用于储存数据和指令发起的排位匹配)
测试赛:
我们要设置比赛条款只需在比赛配置项下添加 Rules 配置即可
如何查询比赛条款我们可以查看 Xinxin插件条款设置教程
这里我使用的是1.16.5版本的规则进行设置,如果是其他版本请按照教程设置
RankGroup:
#排位赛名称(用于储存数据和指令发起的排位匹配)
测试赛:
Rules:
- "TeamSelectTime: 0"
- "NumPokemon: 6"
- "BattleType: SINGLE"
- "OldGen: World"
- "LevelCap: 100"
- "TeamPreview: false"
- "FullHeal: false"
- "TurnTime: 0"
- "Clauses: [传说中的宝可梦条款, 包包条款]"
- "RaiseToCap: false"
如果你需要禁止携带道具或者禁止使用某个精灵的话可以在比赛配置下添加 BanPoke 或 BanItem 配置
如果你不想禁止可以不写或者将这两项配置改为 BanPoke: [] BanItem: []
禁用精灵和禁用道具是写你服务器的展示翻译名(一般来说显示的是什么你写什么就可以)
如果不清楚可以打开mod中的 lang 语言文件进行查看,这里我禁用了 携带道具:气势披带 和 精灵:皮卡丘
RankGroup:
#排位赛名称(用于储存数据和指令发起的排位匹配)
测试赛:
#禁止携带的精灵
BanPoke:
- "皮卡丘"
#禁止携带的道具
BanItem:
- "气势披带"
这个没什么好讲的,每日首胜也就是每日首次胜利会触发的指令组
如果你不想有每日首胜可以将此配置修改为 DayWinReward: []
积分设置获胜获得和失败扣除积分即可
RankGroup:
#排位赛名称(用于储存数据和指令发起的排位匹配)
测试赛:
#每日首胜奖励
DayWinReward:
- "say 玩家 %player% 获得了排位赛每日首胜"
#对战胜利失败积分管理
Points:
#获胜获得多少积分
win: 10
#失败扣除多少积分
lose: 20
设置这个比赛总共拥有什么段位可以创建 Rank 配置并按照下方格式添加段位即可
如果你不想拥有段位则将此配置设置为 Rank: [] 即可
points 配置是当你此比赛达到多少积分即可晋升为这个段位,如果分数被减至此分数也会对应的掉下来
title 则是玩家使用变量会显示的内容,一般可以显示这个比赛段位的称号
command 当玩家首次达到此段位时会触发的命令,通常设置一些比赛的奖励
RankGroup:
#排位赛名称(用于储存数据和指令发起的排位匹配)
测试赛
Rank:
#段位名称
黑铁:
#达到段位所需积分
points: 0
#达到后给予的称号
title: "[排位黑铁]"
#达到此组所执行的指令
command:
- "say 玩家 %player% 排位赛达到 %rank% 段位"
青铜:
points: 100
title: "[排位青铜]"
command:
- "say 玩家 %player% 排位赛达到 %rank% 段位"
当我们设置好以上所有参数后,我们保存配置并重载插件如果后台有输出以下内容代表我们的比赛就创建好了
你就可以让你的玩家们发送 /xpp join 测试赛 进行这个比赛的排位了!
▌ 开始加载比赛 ┈━═☆
[*] 成功加载比赛 -> 测试赛
[*] 成功加载比赛 -> 排位赛
[*] 成功加载比赛 -> 1v1
[*] 成功加载比赛 -> 娱乐赛
这是本教程设置的比赛完整配置(他仅可以在1.16.5版本服务端使用)
其他版本服务端需要自己重新设置条款配置
#排位赛组管理
RankGroup:
#排位赛名称(用于储存数据和指令发起的排位匹配)
测试赛:
#比赛条款设置
Rules:
- "TeamSelectTime: 0"
- "NumPokemon: 6"
- "BattleType: SINGLE"
- "OldGen: World"
- "LevelCap: 100"
- "TeamPreview: false"
- "FullHeal: false"
- "TurnTime: 0"
- "Clauses: [传说中的宝可梦条款, 包包条款]"
- "RaiseToCap: false"
#禁止携带的精灵
BanPoke:
- "皮卡丘"
#禁止携带的道具
BanItem:
- "气势披带"
#每日首胜奖励
DayWinReward:
- "say 玩家 %player% 获得了排位赛每日首胜"
#对战胜利失败积分管理
Points:
#获胜获得多少积分
win: 10
#失败扣除多少积分
lose: 20
Rank:
#段位名称
黑铁:
#达到段位所需积分
points: 0
#达到后给予的称号
title: "[排位黑铁]"
#达到此组所执行的指令
command:
- "say 玩家 %player% 排位赛达到 %rank% 段位"
青铜:
points: 100
title: "[排位青铜]"
command:
- "say 玩家 %player% 排位赛达到 %rank% 段位"