#==============================================================================
# **'SW_EquipFinisher' by Siot Warrior
#------------------------------------------------------------------------------
# 무기 혹은 방어구의 메모란에 <필살기=id>를 적어 주시면 그 장비를 장착한 캐릭터는
# 해당하는 id의 스킬을 습득하게 됩니다. 가급적 캐릭터가 자력으로 습득하는 스킬과
# 장비를 통해 습득하는 스킬을 구분해 주세요.
# ex: <필살기=1> - 캐릭터는 연속공격을 습득!
#==============================================================================
#==============================================================================
# ■ 정규식
#==============================================================================
module SW
module Weapons2
EQUIP_FINISHER = /<필살기=(d+)s*>/
end
end
#==============================================================================
# ■ RPG::BaseItem
#==============================================================================
module RPG
class BaseItem
#--------------------------------------------------------------------------
# ● 무기의 장착 필살기를 반환
#--------------------------------------------------------------------------
def equip_finisher
return @note =~ SW::Weapons2::EQUIP_FINISHER ? $1.to_i : nil
end
end
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor
alias :sw_change_equip :change_equip
def change_equip(equip_type, item, test = false)
if !(equips[equip_type].nil?) and !(test)
array_finisher = []
for i in 0..4
next if i == equip_type
if !(equips[i].nil?)
array_finisher.push(equips[i].equip_finisher) if !(equips[i].equip_finisher.nil?)
end
end
if !(array_finisher.include?(equips[equip_type].equip_finisher))
forget_skill(equips[equip_type].equip_finisher) if !(equips[equip_type].equip_finisher.nil?)
end
end
if !(item.nil?) and !(test)
learn_skill(item.equip_finisher) if !(item.equip_finisher.nil?)
end
sw_change_equip(equip_type, item, test)
end
end
//
예제도 같이 첨부합니다.
스크립트에 관한 문제점이나 개선점에 대한 내용을 보내주시면 스크립트 질 향상에 도움이 됩니다.