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