一只小予散
本帖最后由 一只小予散 于 2022-7-21 21:08 编辑

  
HiaXnLevel
  
来源
l  本插件制作用时 100小时+
l  是我目前制作过所有插件用时最长的一个插件
l  本插件可以用来制作Domcer那种等级要求进入服务器的功能
l  上述功能将在本版本发布后(2021  11月3日) 会更新一个附属,用于设置等级进入
l  分别支持MYSQL 和  本地YAML储存
l  本插件的经验值独立
l  不干扰MC的经验
l  本人测试版本  1.16.2-1.16.5准确可以开启使用
l  1.17可能支持
l  理论1.8-1.17.1
l  本插件时针对Spigot单端制作的HiaXnLevel
l  对于群组服务器来说
l  建议不同的子服务器设有不同的奖励在线时长奖励制度
l  并且将权限组全服同步 [否则等级奖励会重复领取]
l  本插件主要是练习为主
l  本人目前高一(2021 11月)[这个插件的第一个版本是在我初三(2021 7月)毕业的时候做出来的]
l  学习java也才不过几个月,有一些技术上的问题还没有解决,需要等待一定的时间
l  来等我进行技术学习自我提升
  
关于等级算法
  
等级/经验公式为
设从1级升到level级所需要的总经验值为TExp 从1级升级到2级所需要的经验值为Def则
TExp(level)  = TExp(level -1) + 5(level - 2)² + 2(level - 2)³ + Def*level
TExp(level  - 1) 则为上一级的总经验值
  
关于指令&&权限
  
  
指令
l   /hxl addexp [经验值] [玩家] 强制增加某个玩家的经验
l   /hxl addlevel [经验] [玩家] 强制升级某个玩家
l   /hxl help 查看帮助
l   /hxl info [玩家] 查看某个玩家的等级信息
l   /hxl reload 重载插件
l   /hxl save 保存玩家信息数据到数据库或本地库 ->1小时会自动保存一次 玩家退出会保存单个玩家的信息
l   /hxl setexp [经验][玩家] 设置玩家的经验值
l   /hxl setlevel [等级][玩家] 设置玩家的等级
l   /hxl receive [奖励] [玩家] 给指定玩家领取指定的奖励->达到设置要求
l   /hxl addExpDouble [加成] [玩家] 增加玩家的加成倍数
l   /hxl setExpDouble [加成] [玩家] 设置玩家的加成倍数
l   /hxl FixAll 修复所有拥有错误等级的在线玩家
  
权限
n  HiaXnLevel.cmd.reload允许使用指令hxl reload
n   HiaXnLevel.cmd.addExp允许使用指令hxl addexp
n   HiaXnLevel.cmd.addLevel允许使用指令 hxl addlevel
n   HiaXnLevel.cmd.setLevel允许使用指令 hxp setlevel
n   HiaXnLevel.cmd.setExp允许使用指令 hxp setExp
n   HiaXnLevel.cmd.info允许使用指令 hxl info
n   HiaXnLevel.cmd.receive允许使用指令 receive
n   HiaXnLevel.cmd.save允许使用指令 hxl save
n   HiaXnLevel.cmd.setExpDouble 允许使用指令 hxl setExpDouble
n   HiaXnLevel.cmd.addExpDouble 允许使用指令 hxl addExpDouble
n   HiaXnLevel.cmd.FixAll 允许使用指令 hxl Fixall
  
游戏演示
  
  

  
  
PlaceHolderAPI支持
  
  玩家等级:   %HiaXnLevel_Level%
  玩家拥有的经验值:   %HiaXnLevel_Exp%
  玩家升级下一等级所需要的经验值:   %HiaXnLevel_UpgradeNeed%
  玩家在线时长[单位 分钟]  :%HiaXnLevel_OnlineTime%
→  等级进度条: %HiaXnLevel_expline%
  经验加成: %HiaXnLevel_expdouble%
  排行经验变量: %HiaXnLevel_EXP_TOP_#%
  排行等级变量: %HiaXnLevel_Level_TOP_#%
  排行玩家变量: %HiaXnLevel_Player_TOP_#%

  
关于Rewards.yml的在线奖励和等级奖励的设置
  
[giveexpdouble]  加成 给玩家经验加成
[giveexpondouble]  经验 在加成下给予经验
[givelevel]  等级 给予玩家等级
[Message]  信息 给玩家发送信息
[Console]  指令 用控制台身份执行命令
[Player]  指令 用玩家身份执行命令
[GiveExp]  数值 给玩家指定经验值
[GivePermission]  权限 给玩家某个权限
[PermissionGroup]  权限组 设置某个玩家的权限组
[RemovePermissionGroup]  权限组 移除某个玩家的权限组
[RemovePermission]  权限 移除某个玩家的权限
  
配置文件
  
  1. # 是否使用MYSQL
  2. # 若为False则使用YAML管理
  3. UseMysql: true
  4. # 如果你选择MYSQL
  5. # 则必须填写以下内容
  6. MysqlSettings:
  7.   User: "root"
  8.   Password: "123456"
  9.   Database: "HiaXnLevel"
  10.   useSSL: false
  11.   ConnectIp: "localhost:3306"
  12. # 是否需要将原版经验条与之同步
  13. # 请在开启服务器之前设置
  14. # 开启服务器后 重载需要reload整个插件才能生效
  15. # 而不是/hxl reload
  16. Synchronize_Exp: false
  17. # 是否开启等级修复
  18. # 本功能根据玩家经验值来判断玩家的等级是否存在异常
  19. # 如,拥有高的等级但是经验值对不上
  20. # 会有一定的资源占用
  21. # 默认定时 1小时一次
  22. LevelFixer: true
  23. # 语言设置
  24. # zh_CN目前支持
  25. Language: zhCN
  26. # 等级相关设置
  27. LevelSetting:
  28.   MaxLevel: 200
  29.   # 每次升级一次需要的经验次数
  30.   # 由于等级算法更新 这个LevelAddExp在1.5.0后的版本弃用
  31.   LevelAddExp: 1.1
  32.   # 从1级升级到2级需要的经验值
  33.   FirstUpgradeExp: 10
复制代码
  
下载
  
  
HiaXnLevel-1.6.0.jar (102.23 KB, 下载次数: 697)

附属
限制等级加入
HiaXnLevelJoin-1.0-SNAPSHOT.jar (7.17 KB, 下载次数: 77)
若玩家等级未达到设定值 则无法进入服务器
  
  
更新
  

  
更新规划
  
-  更合理的等级算法[√]
-  等级排行榜[√]
-  经验加成[√]
-  新的排版[√]
-  GUI领取奖励
-  GUI设置奖励
-  API文档
最后
  
-  如果您也想要学习写插件
-  如果您有一些写插件上的一些问题
-  欢迎来到我们的交流群
-  QQ群: 617509285
-  有建议的话欢迎提出呀!
-  喜欢本插件的话不要忘记留下一个评分噢~
   [评分人气是不会消耗自己的人气的!]
-  [是我更新的动力!]


laobai000
这个不错诶....

Witherw
整个挺实用的,不错

苏子峰

这个不错 ,是独立的经验值吗

一只小予散
苏子峰 发表于 2021-7-12 21:26
这个不错 ,是独立的经验值吗

是的
因为我之前是生存服想搞这个东西
但是会和MC的经验值冲突就感觉有点难搞
所以我做了这玩意

huanyingxichao
很好的插件,一直在找,不过建议作者在config里弄一个选项来决定用户是否启用将MC经验条和插件经验同步,毕竟像这种插件大多都是小游戏服务器需要的,感谢了

zqh2761671146
方便了很多,可以发奖励,支持LZ

TGone1
建议给他弄一个前缀

汉斯-比尔
好耶,又是一款好插件

一只小予散
TGone1 发表于 2021-7-13 17:42
建议给他弄一个前缀

比如?
在哪里弄前缀?

bilibiliGAOSM
好耶!希望作者出个GUI

一只小予散
bilibiliGAOSM 发表于 2021-7-14 12:48
好耶!希望作者出个GUI

好耶! Gui为什么不用菜单呢

鋭雯
完成任务完成任务完成任务完成任务完成任务完成任务完成任务

一只小予散
没想到一个Junit的依赖能占用300多K

swdddp

很好用的插件.赞

1575442826
不错,先保存支持一下,服务器会用到的

一只小予散
修复了3个BUG

Xshu_c
更方便服务器发福利了

一只小予散
Xshu_c 发表于 2021-7-18 13:02
更方便服务器发福利了

建议收藏,因为马上就要更新了

J8964149
十分感谢楼主的一波福利,写得非常详细,受益匪浅!

一只小予散
2021 7.17 V1.13
修复了升级提示原来的等级的BUG
修复了等级计算错误的BUG
增加了原版等级同步[可开关]
需要重新生成配置文件 或者复制本贴中的标准文件
新增了定时等级修复,防止修改等级算法时错误的等级产生[1小时一次]
现在等级算法倍数必须大于1倍

一只小予散
huanyingxichao 发表于 2021-7-13 12:06
很好的插件,一直在找,不过建议作者在config里弄一个选项来决定用户是否启用将MC经验条和插件经验同步,毕 ...

已经实现

Xshu_c
一只小予散 发表于 2021-7-18 13:24
建议收藏,因为马上就要更新了

好的

zdlzhm
mcbbs有你们会更好

小豪豪都
还可以就是没gui

AAAxiaoxin
6666666666666666666666

n2951096305
期待楼主下次更新

wrnxrbz
很好用的插件,支持一下

一只小予散

GUI建议使用菜单直接编写

qq875846842
大佬牛皮!!!!!!

koudjme
很棒的插件

啥意不是
作者很棒,这种插件很符合一些生存服的口味,作者继续加油!希望能出更多好的插件!

Prati
终于找到了,一直再找这个插件

传说中的涛涛
很厉害的插件!支持一下

一只小予散
2021 7.21 V1.23
修复了长久无人上线时玩家上线无法获取等级的BUG
修复了使用多服务器连接的服务器玩家在切换服务器时在线时长会重置的BUG
修复了经验小数点过多的问题【精确到2位】
修改了在线时长的储存方法
增加了新的变量 %HiaXnLevel_OnlineTime% 查询在线时长[单位 分钟]
修改了数据表结构
若您采用了MYSQL作为数据储存且使用过V1.23以下的版本
请执行SQL语句:
ALTER TABLE database ADD COLUMN ONLINETIME int(9) DEFAULT 0 AFTER LEVEL;
否则只能删除整个数据表
本插件不提供自动修复程序
请修改以上SQL语句中的database将其改为Config.yml中的Database内容


d874084721
感谢  谢谢分享!!!!!!

一只小予散
2021 7.26 V1.31
修复了领取等级礼包出现空指针异常的BUG
新增一个变量 %HiaXnLevel_expline%
进度条 来防止所需经验和下一级经验过长导致计分板不好看
和无法同步原版进度条玩家无法得知等级进度的问题


cyxzbd
强啊强啊,终于找到1.17的在线奖励了

一只小予散
cyxzbd 发表于 2021-7-26 13:37
强啊强啊,终于找到1.17的在线奖励了

草,原来你给他当成在线奖励用了www

一只小予散
新增变量
等级加成 %HiaXnLevel_expdouble%
新增三种等级奖励模块
[giveexpdouble] 加成 给玩家经验加成

[giveexpondouble] 经验 在加成下给予经验

[givelevel] 等级 给予玩家等级

新增功能 [等级加成

修改指令 hxl addexp 经验 id 的用法

现在使用办法/hxl addexp 经验 id true[采用经验加成添加玩家经验]

false 为不采用

新增指令

hxl addExpDouble 加成 玩家 增加玩家的加成倍数

hxl setExpDouble 加成 玩家 设置玩家的加成倍数

hxl FixAll 修复所有拥有错误等级的在线玩家

若您采用了MYSQL作为数据储存且使用过V1.23以下的版本
请执行SQL语句:
ALTER TABLE database ADD COLUMN ONLINETIME int(9) DEFAULT 0 AFTER LEVEL;

若您采用了MYSQL作为数据储存且使用过V1.4.3以下的版本
请执行SQL语句:
ALTER TABLE database ADD COLUMN EXPDOUBLE DOUBLE(9.00) DEFAULT 1.00 AFTER ONLINETIME;
请刷新语言文件


南边の黄熙
感谢分享!支持原创

南边の黄熙
感谢分享

welcome4176
这插件也太好用了,感谢分享

涛涛qwe
更新分享

DKCJ丶_fEe7Y
很棒的插件,感谢分享

2899144997
感谢楼主分享

MC_ziteng
挺不错的插件

UsonTong
很好的插件啊 为什么bstats数据显示这么少的人= =

一只小予散
Uson_Tong 发表于 2021-7-30 20:53
很好的插件啊 为什么bstats数据显示这么少的人= =

我也不知道
反正我自己的服务器是一直在用我的插件
有不足可以直接现改

d_dzx
感觉服务器会用得上

第一页 上一页 下一页 最后一页