Project1

标题: 技能遗忘问题 [打印本页]

作者: 2463711233    时间: 2015-4-26 15:00
标题: 技能遗忘问题
升到某一等级习得新技能, 如何设定将一个旧技能遗忘
作者: 墨凌羽    时间: 2015-4-26 16:00
本帖最后由 墨凌羽 于 2015-4-26 18:01 编辑



修改了下 支持同时遗忘多个技能


把 Game_Actor里的level_up(在421~429行)和learn_skill(473~484)这两个方法用我下面的替换掉
只要你没使用其他什么占用职业里面技能栏的每个技能后面的备注的脚本 就应该不会出什么问题。
用法:
技能备注后面填上需要遗忘的技能的编号。如果是同时遗忘多个,可以用“,”分割。例如: 80,12 这样(逗号不要打全角!!!)

如上图 设定后会在学习横扫后将强击遗忘(强击的技能编号是80)。

  1.   def level_up
  2.     @level += 1
  3.     self.class.learnings.each do |learning|
  4.       learn_skill(learning.skill_id,learning.note) if learning.level == @level
  5.     end
  6.   end
  7.   def learn_skill(skill_id,note)
  8.     unless skill_learn?($data_skills[skill_id])
  9.       @skills.push(skill_id)
  10.       if note !="" then
  11.         note = note.split(",")
  12.         note.each_index do |i|
  13.           forget_skill(note[i].to_i)
  14.         end
  15.       end
  16.       @skil
  17.       @skills.sort!
  18.     end
  19.   end
复制代码

作者: chd114    时间: 2015-4-26 17:28
墨凌羽 发表于 2015-4-25 23:00
把 Game_Actor里的level_up(在421~429行)和learn_skill(473~484)这两个方法用我下面的替换掉
只要你没 ...

遗忘不止一个技能呢?
作者: 2463711233    时间: 2015-4-27 22:15
墨凌羽 发表于 2015-4-26 16:00


修改了下 支持同时遗忘多个技能


还是不太懂....i指什么,而且,原有的遗忘那段要直接删还是怎么,不懂。。
作者: 墨凌羽    时间: 2015-4-27 22:44
2463711233 发表于 2015-4-27 22:15
还是不太懂....i指什么,而且,原有的遗忘那段要直接删还是怎么,不懂。。 ...

还是直接替换掉旧的方法 那个i。。。x想搞明白可以去看一下数组的迭代器 这个事把之前的那个变量note给换成了数组  note.each_index do |i|  ...  end 这段相当于 for i in 0..note.size do ... end  
作者: 2463711233    时间: 2015-4-28 12:23
2463711233 发表于 2015-4-27 22:15
还是不太懂....i指什么,而且,原有的遗忘那段要直接删还是怎么,不懂。。 ...

运行提示NameError...求解
作者: 2463711233    时间: 2015-4-28 12:25
墨凌羽 发表于 2015-4-27 22:44
还是直接替换掉旧的方法 那个i。。。x想搞明白可以去看一下数组的迭代器 这个事把之前的那个变量note给换 ...

点错地方了运行提示NameError...求解




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