Project1

标题: 怎么在升级的同时增加变量值 [打印本页]

作者: l734273398    时间: 2020-8-6 13:19
标题: 怎么在升级的同时增加变量值
本帖最后由 l734273398 于 2020-8-6 15:02 编辑

如题:比方说在1号角色升级1-5级时【增加?号变量值:5】、升级6-9级时【增加?号变量值:10】

【注:只需要1号角色在升级时增加【?】号变量的值】
作者: soulsaga    时间: 2020-8-6 14:20
本帖最后由 soulsaga 于 2020-8-6 17:34 编辑

RUBY 代码复制
  1. module LEVELUP
  2. LU = {
  3. #1至5级增加的变量值
  4. 5=>(1..5).to_a+"1#5".to_a,
  5. #6至9级增加的变量值
  6. 10=>(6..9).to_a+"99#10".to_a
  7. }
  8. end
  9. class Game_Actor < Game_Battler
  10. #--------------------------------------------------------------------------
  11.   # ● 更改 EXP
  12.   #     exp : 新的 EXP
  13.   #--------------------------------------------------------------------------
  14.   def exp=(exp)
  15.     @exp = [[exp, 9999999].min, 0].max
  16.     # 升级
  17.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  18.       @level += 1
  19.       @lv=1
  20.       # 学会特技
  21.       for j in $data_classes[@class_id].learnings
  22.         if j.level == @level
  23.           learn_skill(j.skill_id)
  24.         end
  25.       end
  26.     end
  27.     # 降级
  28.     while @exp < @exp_list[@level]
  29.       @level -= 1
  30.     end
  31.     if !@lv.nil?
  32.       for values in LEVELUP::LU.values.sort
  33.       for key in LEVELUP::LU.keys.sort
  34.       $game_variables[values.last.split(/#/)[0].to_i] += key if self.id == 1 and values.include?(@level) and key == values.last.split(/#/)[1].to_i
  35.       end
  36.     end
  37.     end
  38.     # 修正当前的 HP 与 SP 超过最大值
  39.     @hp = [@hp, self.maxhp].min
  40.     @sp = [@sp, self.maxsp].min
  41.   end
  42.   end

作者: zsc529441040    时间: 2020-8-6 23:22
如果规则比较恒定的话,可以通过当前等级计算出变量值的多少,完全不需要用到脚本




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