Project1
标题:
怎么做到状态限制等级
[打印本页]
作者:
l734273398
时间:
2020-8-7 18:48
标题:
怎么做到状态限制等级
如题:
比方说;1号状态时,【1号角色】可以升级上限为:5级,之后不增加经验
比方说;2号状态时,【1号角色】可以升级上限为:10级,之后不增加经验
比方说;3号状态时,【1号角色】可以升级上限为:15级,之后不增加经验
之后以此类推
【注:只需要限制1号角色】
作者:
enghao_lim
时间:
2020-8-7 18:48
随手写,应该可以应付普通使用,用了其他脚本直接更改等级的不在考虑范围。
注意
# 这里设置 状态编号 => 等级
这句话,设置方法脚本,可以自行增加减少。
class Game_Actor
#--------------------------------------------------------------------------
# ● 更改 EXP
# exp : 新的 EXP
#--------------------------------------------------------------------------
def exp=(exp)
@exp = [[exp, 9999999].min, 0].max
# 升级
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0 and @level < self.levelFinal()
@level += 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 @level >= self.levelFinal() and @exp > @exp_list[@level]
@exp = @exp_list[@level]
end
# 修正当前的 HP 与 SP 超过最大值
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
end
#--------------------------------------------------------------------------
# ● 更改水品
# level : 新的等级
#--------------------------------------------------------------------------
def level=(level)
# 检查上下限
level = [[level, self.levelFinal()].min, 1].max
# 更改 EXP
self.exp = @exp_list[level]
end
#--------------------------------------------------------------------------
# 最大等级
#--------------------------------------------------------------------------
def levelFinal
maxLv = $data_actors[@actor_id].final_level
if @actor_id == 1
# 这里设置 状态编号 => 等级
stateLv = {
1 => 5,
2 => 10,
3 => 15
}
stateLv.keys.each{|i|
if self.state?(i)
maxLv = stateLv[i]
break
end
}
end
return maxLv
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1