查看: 1389|回复: 6

[有事请教] 请问有没有能控制经验曲线的插件

[复制链接]
梦石
0
星屑
503
在线时间
148 小时
注册时间
2020-7-18
回帖
57
发表于 2024-1-4 23:46:14 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
如题,想做出那种能自定义经验增长的效果,比如1到2要50点,2到3要100点,3到4要150点这种简单的增长。如果能通过改源码实现也好。
梦石
0
星屑
22573
在线时间
2604 小时
注册时间
2015-7-4
回帖
917
发表于 2024-1-5 09:54:40 | 显示全部楼层
数据库里职业设定不就可以这样设置吗?
回复

使用道具 举报

梦石
0
星屑
503
在线时间
148 小时
注册时间
2020-7-18
回帖
57
 楼主| 发表于 2024-1-5 17:02:52 | 显示全部楼层
Fan723 发表于 2024-1-5 09:54
数据库里职业设定不就可以这样设置吗?

很遗憾不行,哪怕拉到底,都不是简单的递进关系
QQ图片20240105170212.png
回复

使用道具 举报

梦石
0
星屑
1864
在线时间
255 小时
注册时间
2018-7-5
回帖
62
发表于 2024-1-5 20:47:51 | 显示全部楼层
你可以设置两个相同的职业,但是成长曲线不同
回复

使用道具 举报

梦石
0
星屑
729
在线时间
98 小时
注册时间
2023-9-13
回帖
12
发表于 2024-1-6 03:06:43 | 显示全部楼层
https://himeworks.com/2015/12/exp-tables-mv/
要的是这个吗?MV插件,MZ可用
回复

使用道具 举报

梦石
0
星屑
2018
在线时间
96 小时
注册时间
2023-3-12
回帖
68
发表于 2024-1-6 09:00:48 | 显示全部楼层
本帖最后由 千寒-YuukakeID 于 2024-1-6 09:45 编辑

可以找到这个,把他改了
return Math.round(
        (basis * Math.pow(level - 1, 0.9 + acc_a / 250) * level * (level + 1)) /
            (6 + Math.pow(level, 2) / 50 / acc_b) +
            (level - 1) * extra
    );
基础 basis、增加度 1acc_a、增加度2 acc_b的范围是10到50,补正extra 是0到40

假设我只要基础值来做增长:
return Math.round(basis / 10 * (level - 1) * 50);
basis 范围是10到50,假设这里取 10
1级到10级总经验值就是:0,50,100,150,200……这样每级50点经验
假设取50,1-10的总经验:0,250,500,750,1000……这样每级250点经验

搞点曲度?
return Math.round(basis / 10 * (level - 1) * (level - 1) * 50);
basis 范围是10到50,假设这里取 10
1级到10级总经验值就是:0,200,600,1200,2000,3000,4200……
假设取50,1-10的总经验:0,1000,3000,6000,10000,15000,21000……

嫌不够曲线的话,可以加入小数次幂运算,就像原本的公式里的
Math.pow(level - 1, 0.9 + acc_a / 250)
等级 - 1 的 0.9 + 增加度1 ÷ 250 次幂

对应关系

对应关系

额,稍微有点出入呀……

额,稍微有点出入呀……
云书3群:522125372
欢迎加群学习~
回复

使用道具 举报

梦石
0
星屑
2018
在线时间
96 小时
注册时间
2023-3-12
回帖
68
发表于 2024-1-6 10:06:45 | 显示全部楼层

效果示例

效果示例

basis和extre相等,basis / Math.max(extra, 1) = 1

也就是说经验曲线是等级的3次方(类似于宝可梦)
云书3群:522125372
欢迎加群学习~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部