Project1
标题:
请问脚本里的exp曲线在哪里,怎么重新定义。
[打印本页]
作者:
uoyllik
时间:
2011-6-14 19:17
标题:
请问脚本里的exp曲线在哪里,怎么重新定义。
本帖最后由 uoyllik 于 2011-6-14 19:19 编辑
1、我想知道脚本中exp的增长曲线设置在哪里,我怎么写计算公式重新定义。例如下一等级是前一等级的1.5倍
2、另外如果我需要设置exp每等级间没有函数关系数值,如何给每一等级提升到下一等级的量附上不同的数值。例如10、30、70、200、500
dsu_plus_rewardpost_czw
作者:
darkscout3000
时间:
2011-6-16 01:52
1 exp曲线不在脚本中定义,是rmxp生成后导出成新文件
2 这个就在rxmp的人物设置里头就可以
作者:
菜鸟飞呀飞
时间:
2011-6-16 02:55
提示:
作者被禁止或删除 内容自动屏蔽
作者:
uoyllik
时间:
2011-6-17 11:21
darkscout3000 发表于 2011-6-16 01:52
1 exp曲线不在脚本中定义,是rmxp生成后导出成新文件
2 这个就在rxmp的人物设置里头就可以 ...
您能别瞎说么
作者:
后知后觉
时间:
2011-6-17 13:06
本帖最后由 后知后觉 于 2011-6-17 13:10 编辑
在 Game_Actor 的第 94 行左右有如下内容:
#--------------------------------------------------------------------------
# ● 计算 EXP
#--------------------------------------------------------------------------
def make_exp_list
actor = $data_actors[@actor_id]
@exp_list[1] = 0
pow_i = 2.4 + actor.exp_inflation / 100.0
for i in 2..100
if i > actor.final_level
@exp_list[i] = 0
else
n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
@exp_list[i] = @exp_list[i-1] + Integer(n)
end
end
end
复制代码
改成【下一等级是前一等级的1.5倍】示例:
#--------------------------------------------------------------------------
# ● 计算 EXP
#--------------------------------------------------------------------------
def make_exp_list
actor = $data_actors[@actor_id]
# 设置第一级经验为 0
@exp_list[1] = 0
# 设置第二级经验为 数据库设置的 exp曲线的 基本值 + 增长值
@exp_list[2] = actor.exp_basis + actor.exp_inflation
for i in 3..100
# 如果 i 大于 角色的最大等级
if i > actor.final_level
# 设置第 i 级需要经验为 0
@exp_list[i] = 0
else
# 获取上一等级与上上等级需要经验的差值
# 这个差值才是角色升级时需要的实际经验数量
# 而记录在数组里的数据是需要的总经验值
n = @exp_list[i - 1] - @exp_list[i - 2]
# 设置第 i 级需要的总经验值
@exp_list[i] = @exp_list[i-1] + Integer(n * 1.5)
end
end
end
复制代码
作者:
chouyao
时间:
2011-6-17 15:42
在楼上提出的解决方案的基础上,应该还可以直接写@exp_list吧……
那是不是很累啊
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1