赞 | 0 |
VIP | 10 |
好人卡 | 49 |
积分 | 13 |
经验 | 22958 |
最后登录 | 2020-8-1 |
在线时间 | 2161 小时 |
Lv3.寻梦者 酱油的
- 梦石
- 0
- 星屑
- 1265
- 在线时间
- 2161 小时
- 注册时间
- 2007-12-22
- 帖子
- 3271

|
那就這樣吧:
module State_Skill
#--------------------------------------------------------------------------
# ● 參考數組取得
#--------------------------------------------------------------------------
Data = {}
$data_skills ||= load_data("Data/Skills.rxdata")
$data_states ||= load_data("Data/States.rxdata")
# 查找「基本同名」的「狀態」與「技能」
for i in 1...$data_states.size
next unless $data_states.name =~ /^skill(\D*)from(\D*)/
Data=[nil,nil]
for i2 in 1...$data_skills.size
Data[0] = i2 if ($data_skills[i2].name == $1)
Data[1] = i2 if ($data_skills[i2].name == $2)
end
end
end
#----------------------------------------------------------------------------
# ● 召喚原方法
#----------------------------------------------------------------------------
class Game_Battler
alias oxox_add_state add_state
alias oxox_remove_state remove_state
#--------------------------------------------------------------------------
# ● 附加状态
# state_id : 状态 ID
# force : 强制附加标志 (处理自动状态时使用)
#--------------------------------------------------------------------------
def add_state(state_id, force = false)
oxox_add_state(state_id, force)
State_Skill::Data.each{|i,s|
if i == state_id
learn_skill(s[0]) if s[0] != nil
forget_skill(s[1]) if s[1] != nil
end}
end
#--------------------------------------------------------------------------
# ● ステートの解除
# state_id : ステート ID
# force : 強制解除フラグ (オートステートの処理で使用)
#--------------------------------------------------------------------------
def remove_state(state_id, force = false)
oxox_remove_state(state_id, force)
State_Skill::Data.each{|i,s|
if i == state_id
forget_skill(s[0]) if s[0] != nil
learn_skill(s[1]) if s[1] != nil
end}
end
end
用法修改了一點
光 <--- 技能名字
skill光from召喚光 <--- 狀態名字(一定要寫skill from 的格式,如果其中一個爲空,請隨便塞個字上去)
沒有測試,有問題就回帖吧 |
|