네이버 번역기로 번역된 것입니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆스킬 습득 아이템 - KGC_ItemLearnSkill◆
#_/----------------------------------------------------------------------------
#_/ 사용하면 스킬을 습득하는 아이템을 작성합니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
$imported = {} if $imported == nil
$imported["ItemLearnSkill"] = true
if $game_special_elements == nil
$game_special_elements = {}
$data_system = load_data("Data/System.rxdata")
end
# 스킬 습득 아이템 속성
$game_special_elements["item_learn_skill"] = $data_system.elements.index("스킬 습득 아이템")
if $game_special_elements["item_learn_skill"] == nil
$game_special_elements["item_learn_skill"] = $data_system.elements.index("스킬 습득 아이템")
end
#==============================================================================
# ■ Game_Battler (분할 정의 3)
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 아이템의 효과 적용
# item : 아이템
#--------------------------------------------------------------------------
alias item_effect_KGC_ItemLearnSkill item_effect
def item_effect(item)
# 스킬 습득 속성을 가지고 있지 않은, 또는 대상이 에너미의 경우
if !item.element_set.include?($game_special_elements["item_learn_skill"]) ||
self.is_a?(Game_Enemy)
# 원래의 처리를 실행
return item_effect_KGC_ItemLearnSkill(item)
end
# 습득 끝난 경우는 돌아온다
return false if self.skill_learn?(item.recover_hp)
# 위기 플래그를 클리어
self.critical = false
# 아이템의 효과 범위가 HP 1 이상의 아군으로, 자신의 HP 하지만 0,
# 또는 아이템의 효과 범위가 HP 0 의 아군으로, 자신의 HP 하지만 1 이상의 경우
if ((item.scope == 3 || item.scope == 4) && self.hp == 0) ||
((item.scope == 5 || item.scope == 6) && self.hp >= 1)
# 메소드 종료
return false
end
# 유효 플래그를 클리어
effective = false
# 코먼 이벤트 ID 하지만 유효의 경우는 유효 플래그를 세트
effective |= item.common_event_id > 0
# 명중 판정
hit_result = (rand(100) < item.hit)
# 불확실한 스킬의 경우는 유효 플래그를 세트
effective |= item.hit < 100
# 명중의 경우
if hit_result == true
self.damage = nil
# "HP회복량"의 스킬을 습득
self.learn_skill(item.recover_hp)
return true
end
return false
end
end
-----------------
사용법입니다.
고대로 배낀..
도입 후, 속성[스킬 습득 아이템](을)를 작성합니다.(「습득」 「습득」은 어디라도OK)
이것을 아이템으로 설정해,[HP회복량]에 사용시에 습득하는 스킬ID(을)를 입력합니다.
잘 쓰세요! (전 아직 안해봐서 오류 나는지 안나는지는.. 잘 모르겠네요;)
[출처] RPGXP - 스킬북 스크립트|작성자 물방울