Project1

标题: 请问如何让人物不会因事件以外的方式升级 [打印本页]

作者: jianyulei    时间: 2016-6-3 16:05
标题: 请问如何让人物不会因事件以外的方式升级
也就是类似黑魂那种效果,累计的经验一直保存,直到手动消耗经验提高等级,请问如何修改原始脚本来达到这个目的?
我修改过next_level_exp,让其等级需要的经验+9999999,这样虽然可以让人物不升级,但是事件的升级指令也会失效。还有就是只要使用了事件的升级指令之后,人物的经验也会被重置。
作者: 喵呜喵5    时间: 2016-6-3 17:27
战斗结束后不获取经验值而是将经验值保存到 99 号变量中
  1. class << BattleManager
  2.   def gain_exp
  3.     $game_variables[99] += $game_troop.exp_total
  4.   end
  5. end
复制代码

作者: howhow1314    时间: 2016-6-4 10:35
本帖最后由 howhow1314 于 2016-6-4 11:06 编辑

RUBY 代码复制
  1. class Game_Actor
  2.   def change_exp(exp, show)
  3.     @exp[@class_id] = [exp, 0].max
  4.   end
  5.   def change_level(level, show)
  6.     last_level = @level
  7.     last_skills = skills
  8.     (level - @level).times {|i| level_up if !max_level?}
  9.     display_level_up(skills - last_skills) if show && @level > last_level
  10.   end
  11.   def py_level_up(show = true)
  12.     last_level = @level
  13.     last_skills = skills
  14.     temp = next_level_exp - current_level_exp
  15.     if @exp[@class_id] >= temp && !max_level?
  16.       @exp[@class_id] -= temp
  17.       level_up
  18.     end
  19.     display_level_up(skills - last_skills) if show && @level > last_level
  20.   end
  21. end


用事件指令增加等級的話經驗不會變動, 用py_level_up升級=消耗經驗+升級




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