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 行左右有如下内容:
  1.   #--------------------------------------------------------------------------
  2.   # ● 计算 EXP
  3.   #--------------------------------------------------------------------------
  4.   def make_exp_list
  5.     actor = $data_actors[@actor_id]
  6.     @exp_list[1] = 0
  7.     pow_i = 2.4 + actor.exp_inflation / 100.0
  8.     for i in 2..100
  9.       if i > actor.final_level
  10.         @exp_list[i] = 0
  11.       else
  12.         n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
  13.         @exp_list[i] = @exp_list[i-1] + Integer(n)
  14.       end
  15.     end
  16.   end
复制代码
改成【下一等级是前一等级的1.5倍】示例:
  1.   #--------------------------------------------------------------------------
  2.   # ● 计算 EXP
  3.   #--------------------------------------------------------------------------
  4.   def make_exp_list
  5.     actor = $data_actors[@actor_id]
  6.     # 设置第一级经验为 0
  7.     @exp_list[1] = 0
  8.     # 设置第二级经验为 数据库设置的 exp曲线的 基本值 + 增长值
  9.     @exp_list[2] = actor.exp_basis + actor.exp_inflation
  10.     for i in 3..100
  11.       # 如果 i 大于 角色的最大等级
  12.       if i > actor.final_level
  13.         # 设置第 i 级需要经验为 0
  14.         @exp_list[i] = 0
  15.       else
  16.         # 获取上一等级与上上等级需要经验的差值
  17.         # 这个差值才是角色升级时需要的实际经验数量
  18.         # 而记录在数组里的数据是需要的总经验值
  19.         n = @exp_list[i - 1] - @exp_list[i - 2]
  20.         # 设置第 i 级需要的总经验值
  21.         @exp_list[i] = @exp_list[i-1] + Integer(n * 1.5)
  22.       end
  23.     end
  24.   end
复制代码

作者: chouyao    时间: 2011-6-17 15:42
在楼上提出的解决方案的基础上,应该还可以直接写@exp_list吧……
那是不是很累啊




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1