设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3935|回复: 2

[已经解决] 怎么做到状态限制等级

[复制链接]

Lv4.逐梦者

梦石
0
星屑
5237
在线时间
1260 小时
注册时间
2018-1-16
帖子
366
发表于 2020-8-7 18:48:02 | 显示全部楼层 |阅读模式
50星屑
如题:
比方说;1号状态时,【1号角色】可以升级上限为:5级,之后不增加经验
比方说;2号状态时,【1号角色】可以升级上限为:10级,之后不增加经验
比方说;3号状态时,【1号角色】可以升级上限为:15级,之后不增加经验
之后以此类推
【注:只需要限制1号角色】

最佳答案

查看完整内容

随手写,应该可以应付普通使用,用了其他脚本直接更改等级的不在考虑范围。 注意# 这里设置 状态编号 => 等级这句话,设置方法脚本,可以自行增加减少。

Lv4.逐梦者

梦石
0
星屑
7941
在线时间
1182 小时
注册时间
2007-7-29
帖子
2055
发表于 2020-8-7 18:48:03 | 显示全部楼层
随手写,应该可以应付普通使用,用了其他脚本直接更改等级的不在考虑范围。
注意# 这里设置 状态编号 => 等级这句话,设置方法脚本,可以自行增加减少。

  1. class Game_Actor
  2.   #--------------------------------------------------------------------------
  3.   # ● 更改 EXP
  4.   #     exp : 新的 EXP
  5.   #--------------------------------------------------------------------------
  6.   def exp=(exp)
  7.     @exp = [[exp, 9999999].min, 0].max
  8.     # 升级
  9.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0 and @level < self.levelFinal()
  10.       @level += 1
  11.       # 学会特技
  12.       for j in $data_classes[@class_id].learnings
  13.         if j.level == @level
  14.           learn_skill(j.skill_id)
  15.         end
  16.       end
  17.     end
  18.     # 降级
  19.     while @exp < @exp_list[@level]
  20.       @level -= 1
  21.     end
  22.     # 修正经验
  23.     if @level >= self.levelFinal() and @exp > @exp_list[@level]
  24.       @exp = @exp_list[@level]
  25.     end
  26.     # 修正当前的 HP 与 SP 超过最大值
  27.     @hp = [@hp, self.maxhp].min
  28.     @sp = [@sp, self.maxsp].min
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 更改水品
  32.   #     level : 新的等级
  33.   #--------------------------------------------------------------------------
  34.   def level=(level)
  35.     # 检查上下限
  36.     level = [[level, self.levelFinal()].min, 1].max
  37.     # 更改 EXP
  38.     self.exp = @exp_list[level]
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # 最大等级
  42.   #--------------------------------------------------------------------------
  43.   def levelFinal
  44.     maxLv = $data_actors[@actor_id].final_level
  45.     if @actor_id == 1
  46.       # 这里设置 状态编号 => 等级
  47.       stateLv = {
  48.         1 => 5,
  49.         2 => 10,
  50.         3 => 15
  51.       }
  52.       stateLv.keys.each{|i|
  53.         if self.state?(i)
  54.           maxLv = stateLv[i]
  55.           break
  56.         end
  57.       }
  58.     end
  59.     return maxLv
  60.   end
  61. end
复制代码

点评

感谢大佬  发表于 2020-8-11 08:20
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-18 11:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表