| 赞 | 17 |
| VIP | |
| 好人卡 | |
| 积分 | 23 |
| 经验 | |
| 最后登录 | 2024-6-23 |
| 在线时间 | 5539 小时 |
- 梦石
- 0
- 星屑
- 2310
- 在线时间
- 5539 小时
- 注册时间
- 2011-1-10
- 回帖
- 6353
  
|
发表于 2014-11-19 12:12:41
|
显示全部楼层
本帖最后由 H·H·Y 于 2014-11-19 13:42 编辑
刚刚弄错了。
Game_Actor的458行更改exp的方法改为
[pre lang="ruby" line="1"] def exp=(exp)
@exp = [[exp, 9999999].min, 0].max
@level_remember = @level
# 升级
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
@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
# 修正当前的 HP 与 SP 超过最大值
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
if $level_switch != true
@level = @level_remember
else
$level_switch = false
end
end[/pre]
Interpreter 6的198行增减等级方法改为
[pre lang="ruby" line="1"]def command_316
$level_switch = true
# 获取操作值
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
# 处理重复
iterate_actor(@parameters[0]) do |actor|
# 更改角色的等级
actor.level += value
end
# 继续
return true
end[/pre]
这样可以做到即便经验值已经到达升级需求也不会升级的效果。
不过我这改的有点问题,使用事件增减等级需要分开增加,不能“全体成员”,否则只会给第一位角色加等级,暂时不知道解决方法。
还有要做到完全剃掉默认的exp要搞很多工作呢。
@夕仔
 |
评分
-
查看全部评分
|