本帖最后由 howhow1314 于 2015-2-27 16:30 编辑
我也是新手才學RM幾天,跟你分享一下自行解決的辦法
按F11打開腳本編輯器,Ctrl+Shift+F嘗試搜尋一些關鍵字,比如level/level_up/level += 1(level = level + 1的意思)等
#-------------------------------------------------------------------------- # ● 等級上升 #-------------------------------------------------------------------------- def level_up @level += 1 self.class.learnings.each do |learning| learn_skill(learning.skill_id) if learning.level == @level end end
#--------------------------------------------------------------------------
# ● 等級上升
#--------------------------------------------------------------------------
def level_up
@level += 1
self.class.learnings.each do |learning|
learn_skill(learning.skill_id) if learning.level == @level
end
end
找到這,第一行@level += 1,就是等級加一,後面的則是習得升級學會的技能,這明顯就是等級上升的函數了
只要在裡面加上恢復hp的script就可以了
不過通常做法好像是不直接在這改,下面的插件腳本插入一個,把前面的函數複製到這邊,
(名稱不一定叫SYSTEM,可以隨意改,沒影響的,這樣把自己加的系統都集合一處比較方便修改或查看)
然後再作修改,不過這要加上
class Game_Actor < Game_Battler end
class Game_Actor < Game_Battler
end
就是變成
class Game_Actor < Game_Battler def level_up @level += 1 self.class.learnings.each do |learning| learn_skill(learning.skill_id) if learning.level == @level end end end
class Game_Actor < Game_Battler
def level_up
@level += 1
self.class.learnings.each do |learning|
learn_skill(learning.skill_id) if learning.level == @level
end
end
end
這樣,因為原本的函數是在class Game_Actor < Game_Battler底下的(def level_up那邊往上拉就找到)
順便分享一下自己的經驗,如果遇到其他不確定作用的函數,可以這樣做,比如level_up
def level_up msgbox "123" #加這句 @level += 1 self.class.learnings.each do |learning| learn_skill(learning.skill_id) if learning.level == @level end end
def level_up
msgbox "123" #加這句
@level += 1
self.class.learnings.each do |learning|
learn_skill(learning.skill_id) if learning.level == @level
end
end
然後你f12進遊戲升一級,出現msgbox,那就可以大概知道函數是什麼時候被調用的 |