캐릭터가 어떤 특정한 상태일때에만 스킬을 사용할수있게 만들수가 있습니다.
예를 들어서 손오공이 초사이어인 상태일때만 어떤 새로운 스킬을 사용할수 있게 할수 있는거죠.
출처는 KGC에서 새로 나온 스크립트입니다.
우선 아래에 있는 스크립트를 붙여넣으시면 됩니다.
그리고 사용방법을 알려드리겠습니다.
그냥 스크립트를 붙여넣기만 해서는 사용이 되지않습니다.
데이터베이스의 상태창에 보시면 메모란이 있습니다.
이곳 메모에다가 <스킬습득 스킬번호>를 추가하셔야합니다.
예를 들어서 초사이어인상태일때 3번스킬을 사용가능하게 만들고 싶다면
<스킬습득 3> 이라고 메모에 추가해주시면 됩니다.
#이제 이곳 아래부터는 스크립트입니다
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆ スキル習得ステート - KGC_StateLearnSkill ◆ VX ◆
#_/ ◇ Last update : 2009/03/21 ◇
#_/----------------------------------------------------------------------------
#_/ 付加時に特定のスキルが使用可能になるステートを作成します。
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
$imported = {} if $imported == nil
$imported["StateLearnSkill"] = true
module KGC
module StateLearnSkill
module Regexp
module State
# 習得スキル
LEARN_SKILL = /<(?:LEARN_SKILL|스킬습득)s*(d+(?:s*,s*d+)*)>/i
end
end
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ RPG::State
#==============================================================================
class RPG::State
#--------------------------------------------------------------------------
# ○ スキル習得ステートのキャッシュ生成
#--------------------------------------------------------------------------
def create_state_learn_skill_cache
@__learn_skills = []
self.note.each_line { |line|
case line
when KGC::StateLearnSkill::Regexp::State::LEARN_SKILL # スキル習得
$1.scan(/d+/).each { |num|
skill_id = num.to_i
# 存在するスキルならリストに加える
@__learn_skills << skill_id if $data_skills[skill_id] != nil
}
end
}
end
#--------------------------------------------------------------------------
# ○ 習得ステート
#--------------------------------------------------------------------------
def learn_skills
create_state_learn_skill_cache if @__learn_skills == nil
return @__learn_skills
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● スキルオブジェクトの配列取得
#--------------------------------------------------------------------------
alias skills_KGC_StateLearnSkill skills
def skills
result = skills_KGC_StateLearnSkill
return (result | state_learn_skills).sort_by { |v| v.id }
end
#--------------------------------------------------------------------------
# ○ ステートによる追加スキル習得
#--------------------------------------------------------------------------
def state_learn_skills
result = []
self.states.each { |state|
state.learn_skills.each { |i|
skill = $data_skills[i]
result |= [skill] if skill != nil
}
}
# パッシブスキルに反映
if $imported["PassiveSkill"] && @__last_state_learn_skills != result
@__last_state_learn_skills = result
restore_passive_rev
end
return result
end
end
#---------------------------------------------------------------------------------------------------------------------------------------------------------------------------