Project1

标题: 请教关于自定义人物升级经验值的问题 [打印本页]

作者: 雁北羽    时间: 2012-4-6 23:18
标题: 请教关于自定义人物升级经验值的问题
我在66的搜索上找到了有人问了同样的问题,回答的是把脚本里Game_Actor的94-106行:
  1. def make_exp_list
  2.     actor = $data_actors[@actor_id]
  3.     @exp_list[1] = 0
  4.     pow_i = 2.4 + actor.exp_inflation / 100.0
  5.     for i in 2..100
  6.       if i > actor.final_level
  7.         @exp_list = 0
  8.       else
  9.         n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i) #这行就是下一级exp的计算公式,你可以改成自己需要的公式
  10.         @exp_list = @exp_list[i-1] + Integer(n)
  11.       end
  12.     end
  13.   end
复制代码
把那个计算公式改下就行了
于是我改成这样了:
  1. def make_exp_list
  2.     actor = $data_actors[@actor_id]
  3.     @exp_list[1] = 0
  4.     pow_i = 2.4 + actor.exp_inflation / 100.0
  5.     for i in 2..100
  6.       if i > actor.final_level
  7.         @exp_list[i] = 0
  8.       else        
  9.          if i < 11
  10.            n = (n-1)*10
  11.            @exp_list[i] = Integer(n)
  12.          else
  13.            if i < 21
  14.              n = (n-1)*100
  15.              @exp_list[i] = Integer(n)
  16.            else
  17.              if i < 31
  18.                n = (n-1)*1000
  19.                @exp_list[i] = Integer(n)
  20.              else
  21.                if i < 41
  22.                  n = (n-1)*10000
  23.                  @exp_list[i] = Integer(n)
  24.                else
  25.                  if i <51
  26.                    n = (n-1)*100000
  27.                    @exp_list[i] = Integer(n)
  28.                  else
  29.                    @exp_list[i] = 0
  30.                  end
  31.                end
  32.              end
  33.            end
  34.          end
  35.       end
  36.     end
  37.   end
复制代码
我本来是想调成每十级就有一个经验坎。
但游戏运行开始就弹出错误,我是脚本新手,请问谁能帮忙看看是哪里错了吗?dsu_plus_rewardpost_czw
作者: 黑色的笔    时间: 2012-4-6 23:48
脚本我不懂、但是我知道在游戏设置(脚本按钮旁边)那里、角色是可以绘制经验增长曲线的、为什么不直接用那个呢?直观又不会出错。
作者: kangxi0109    时间: 2012-4-7 00:23
本帖最后由 kangxi0109 于 2012-4-7 00:24 编辑

在RGSS里面,没有else if 的说法(那是C++,在F1帮助里面有讲到),应该改为 elsif :
  1. def make_exp_list
  2.     actor = $data_actors[@actor_id]
  3.     @exp_list[1] = 0
  4.     pow_i = 2.4 + actor.exp_inflation / 100.0
  5.     for i in 2..100
  6.       if i > actor.final_level
  7.         @exp_list[i] = 0
  8.       elsif i < 11
  9.          n = (n-1)*10
  10.          @exp_list[i] = Integer(n)
  11.       elsif i < 21
  12.          n = (n-1)*100
  13.          @exp_list[i] = Integer(n)
  14.       elsif i < 31
  15.          n = (n-1)*1000
  16.          @exp_list[i] = Integer(n)
  17.       elsif i < 41
  18.          n = (n-1)*10000
  19.          @exp_list[i] = Integer(n)
  20.       elsif i <51
  21.          n = (n-1)*100000
  22.          @exp_list[i] = Integer(n)
  23.       else
  24.          @exp_list[i] = 0
  25.       end
  26.     end
  27.   end
复制代码

作者: 雁北羽    时间: 2012-4-7 15:57
黑色的笔 发表于 2012-4-6 23:48
脚本我不懂、但是我知道在游戏设置(脚本按钮旁边)那里、角色是可以绘制经验增长曲线的、为什么不直接用那 ...

我找了一下,只有力量等属性能自己绘制,EXP不行啊


‘‘──雁北羽于2012-4-7 16:04补充以下内容

十分感谢{:2_275:},我把你的脚本复制进去,结果提示脚本第9行出错,请问是为什么呢
’’


‘‘──雁北羽于2012-4-7 16:05补充以下内容

十分感谢{:2_275:},我把你的脚本复制进去,结果提示脚本第9行出错,请问是为什么呢

’’
作者: kangxi0109    时间: 2012-4-8 01:39
本帖最后由 kangxi0109 于 2012-4-8 01:41 编辑
雁北羽 发表于 2012-4-7 15:57
我找了一下,只有力量等属性能自己绘制,EXP不行啊

的确,n没定义。
  1. def make_exp_list
  2.     actor = $data_actors[@actor_id]
  3.     @exp_list[1] = 0
  4.     pow_i = 2.4 + actor.exp_inflation / 100.0
  5.     n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)#这里
  6.     for i in 2..100
  7.       if i > actor.final_level
  8.         @exp_list[i] = 0
  9.       elsif i < 11
  10.          n = (n-1)*10
  11.          @exp_list[i] = Integer(n)
  12.       elsif i < 21
  13.          n = (n-1)*100
  14.          @exp_list[i] = Integer(n)
  15.       elsif i < 31
  16.          n = (n-1)*1000
  17.          @exp_list[i] = Integer(n)
  18.       elsif i < 41
  19.          n = (n-1)*10000
  20.          @exp_list[i] = Integer(n)
  21.       elsif i <51
  22.          n = (n-1)*100000
  23.          @exp_list[i] = Integer(n)
  24.       else
  25.          @exp_list[i] = 0
  26.       end
  27.     end
  28.   end
复制代码





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