查看: 3248|回复: 15

[已经解决] 怎么在升级的同时增加变量值

[复制链接]
梦石
0
星屑
6412
在线时间
1700 小时
注册时间
2018-1-16
回帖
364
发表于 2020-8-6 13:19:05 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 l734273398 于 2020-8-6 15:02 编辑

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

【注:只需要1号角色在升级时增加【?】号变量的值】
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2020-8-6 14:20:06 | 显示全部楼层
本帖最后由 soulsaga 于 2020-8-6 17:34 编辑

[pre lang="ruby"]module LEVELUP
LU = {
#1至5级增加的变量值
5=>(1..5).to_a+"1#5".to_a,
#6至9级增加的变量值
10=>(6..9).to_a+"99#10".to_a
}
end
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
  # ● 更改 EXP
  #     exp : 新的 EXP
  #--------------------------------------------------------------------------
  def exp=(exp)
    @exp = [[exp, 9999999].min, 0].max
    # 升级
    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
      @level += 1
      @lv=1
      # 学会特技
      for j in $data_classes[@class_id].learnings
        if j.level == @level
          learn_skill(j.skill_id)
        end
      end
    end
    # 降级
    while @exp < @exp_list[@level]
      @level -= 1
    end
    if !@lv.nil?
      for values in LEVELUP::LU.values.sort
      for key in LEVELUP::LU.keys.sort
      $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
      end
    end
    end
    # 修正当前的 HP 与 SP 超过最大值
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
  end
  end[/pre]

点评

改好了..更新一下  发表于 2020-8-6 17:34
还在研究..  发表于 2020-8-6 16:55
大佬,一直还是28行错误  发表于 2020-8-6 15:55
升级时,脚本28行显示错误  发表于 2020-8-6 15:33
说起来好像忘了什么..更新一下脚本  发表于 2020-8-6 15:28

评分

参与人数 1星屑 +20 收起 理由
RyanBern + 20 精品文章

查看全部评分

回复 1 0

使用道具 举报

梦石
1
星屑
736
在线时间
78 小时
注册时间
2020-5-10
回帖
33
发表于 2020-8-6 23:22:28 | 显示全部楼层
如果规则比较恒定的话,可以通过当前等级计算出变量值的多少,完全不需要用到脚本

点评

认可答案  发表于 2020-8-7 09:56
谢谢  发表于 2020-8-7 06:37

评分

参与人数 1星屑 +20 收起 理由
RyanBern + 20 我很赞同

查看全部评分

回复 1 0

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部