查看: 2530|回复: 5

[已经过期] 请问脚本里的exp曲线在哪里,怎么重新定义。

  [复制链接]
梦石
0
星屑
50
在线时间
204 小时
注册时间
2010-8-22
回帖
29
发表于 2011-6-14 19:17:00 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 uoyllik 于 2011-6-14 19:19 编辑

1、我想知道脚本中exp的增长曲线设置在哪里,我怎么写计算公式重新定义。例如下一等级是前一等级的1.5倍
2、另外如果我需要设置exp每等级间没有函数关系数值,如何给每一等级提升到下一等级的量附上不同的数值。例如10、30、70、200、500
梦石
0
星屑
270
在线时间
227 小时
注册时间
2009-7-26
回帖
207
发表于 2011-6-16 01:52:12 | 显示全部楼层
1 exp曲线不在脚本中定义,是rmxp生成后导出成新文件
2 这个就在rxmp的人物设置里头就可以

点评

LZ明显是想要脚本操控= =  发表于 2011-6-17 11:32
不要吐槽我⋯⋯
回复

使用道具 举报

菜鸟飞呀飞 该用户已被删除
发表于 2011-6-16 02:55:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
204 小时
注册时间
2010-8-22
回帖
29
 楼主| 发表于 2011-6-17 11:21:28 | 显示全部楼层
darkscout3000 发表于 2011-6-16 01:52
1 exp曲线不在脚本中定义,是rmxp生成后导出成新文件
2 这个就在rxmp的人物设置里头就可以 ...

您能别瞎说么

点评

= = 淡定⋯⋯我也是人,也会出错⋯⋯  发表于 2011-6-17 21:51
回复

使用道具 举报

梦石
0
星屑
7045
在线时间
1666 小时
注册时间
2008-10-29
回帖
6612

贵宾

发表于 2011-6-17 13:06:08 | 显示全部楼层
本帖最后由 后知后觉 于 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
复制代码











你知道得太多了

回复

使用道具 举报

梦石
0
星屑
145
在线时间
0 小时
注册时间
2011-6-16
回帖
1
发表于 2011-6-17 15:42:47 | 显示全部楼层
在楼上提出的解决方案的基础上,应该还可以直接写@exp_list吧……
那是不是很累啊
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部