조회 수 300 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    ◆마법 반사 - KGC_SkillReflection◆
#_/----------------------------------------------------------------------------
#_/  마법 반사 기능을 추가합니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ 커스터마이즈 항목 ★
#==============================================================================

module KGC
  # ◆반사시 애니메이션 ID
  REFLECTION_ANIM_ID = 101
  # ◆반사 스테이트명
  REFLECTION_STATE_NAME = "리후레크"
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$imported = {} if $imported == nil
$imported["SkillReflection"] = true

if $game_special_states == nil
  $game_special_states = {}
  $data_states = load_data("Data/States.rxdata")
end
# 마법 반사용 스테이트 ID취득
state = $data_states.compact.find { |s| s.name == KGC::REFLECTION_STATE_NAME }
$game_special_states["reflection"] = (state != nil ? state.id : 0)

#==============================================================================
# ■ Game_Battler (분할 정의 2)
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # ● 반사 스테이트 판정
  #     skill : 처리 대상의 스킬
  #--------------------------------------------------------------------------
  def reflection?(skill)
    # 반사 스테이트 부가, 한편 스킬이 마법의 경우
    if @states.include?($game_special_states["reflection"]) &&
        skill.atk_f == 0 && skill.int_f > 0
      return true
    end
    return false
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Battler (분할 정의 3)
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # ● 스킬의 효과 적용
  #     user  : 스킬의 사용자 (버틀러)
  #     skill : 스킬
  #--------------------------------------------------------------------------
  alias skill_effect_KGC_SkillReflection skill_effect
  def skill_effect(user, skill)
    # 반사할 수 있는 경우는 돌아온다
    return false if user != self && self.reflection?(skill)

    # 원래의 처리를 실행
    return skill_effect_KGC_SkillReflection(user, skill)
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Battle (분할 정의 4)
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 스킬 액션 결과 작성
  #--------------------------------------------------------------------------
  alias make_skill_action_result_KGC_SkillReflection make_skill_action_result
  def make_skill_action_result
    # 원래의 처리를 실행
    make_skill_action_result_KGC_SkillReflection

    # 리후레크 발동 플래그를 오프
    @skill_reflected = false
    # 원래의 발동자 데미지를 초기화
    user_damage = 0
    for target in @target_battlers
      # 리후레크 발동 판정
      if @skill != nil && target != @active_battler && target.reflection?(@skill)
        # 리후레크 발동 플래그를 온
        @skill_reflected = true
        # 발동자에게 뒤집는다
        @active_battler.skill_effect(@active_battler, @skill)
        # 데미지가 양쪽 모두 수치의 경우
        if user_damage.is_a?(Numeric) && @active_battler.damage.is_a?(Numeric)
          # 데미지를 가산
          user_damage += @active_battler.damage
        else
          # 그대로 설정
          user_damage = @active_battler.damage
        end
      end
    end
    # 최종적인 데미지를 적용
    @active_battler.damage = user_damage if @skill_reflected
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신 (메인 국면 스텝 4 : 대상측 애니메이션)
  #--------------------------------------------------------------------------
  alias update_phase4_step4_KGC_SkillReflection update_phase4_step4
  def update_phase4_step4
    # 원래의 처리를 실행
    update_phase4_step4_KGC_SkillReflection

    # 리후레크가 발동했을 경우
    if @active_battler.current_action.kind == 1 && @skill_reflected
      # 대상측 애니메이션
      for target in @target_battlers
        # 대상의 리후레크가 발동했을 경우
        if target.reflection?(@skill)
          # 발동자에게 애니메이션을 돌려준다
          @active_battler.animation_id = @animation2_id
          @active_battler.animation_hit = (target.damage != "Miss")
          # 타겟트궸후레크 발동 애니메이션을 설정
          target.animation_id = KGC::REFLECTION_ANIM_ID
          target.animation_hit = true
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신 (메인 국면 스텝 5 : 데미지 표시)
  #--------------------------------------------------------------------------
  alias update_phase4_step5_KGC_SkillReflection update_phase4_step5
  def update_phase4_step5
    # 원래의 처리를 실행
    update_phase4_step5_KGC_SkillReflection

    # 리후레크가 발동했을 경우
    if @skill_reflected
      # 발동자도 데미지 표시
      if @active_battler.damage != nil
        @active_battler.damage_pop = true
      end
      @skill_reflected = false
    end
  end
end


이 스크립트가 실행이 안되더군요.

이 스크립트를 어느 부위에 찔러 넣어야 실행 되고

리후레크를 마법의 거울로 바꾸려고 하는데
'타겟트궸후레크 발동 애니메이션을 설정'

라는 걸 어떻게 바꿔야 하는지도

알려주세요
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
2927 rpg2003]안녕하세요. 2003을 이용하는 초보입니당.. 시즈크 2006.02.08 473
2926 알피지2003몬스터가 공격을 잘 안합니다 gpr창조중 2006.02.08 220
2925 rpgxp...몹에 관해서.. 머리아퍼~ 2006.02.08 337
2924 rpgxp...몹에 관해서.. file 어둠의그림자 2006.02.08 319
2923 rpgxp 대화명령어.. RPGgood 2006.02.08 436
2922 알피지만들기 XP 공격력상승에 관한질문 크로스바게트 2006.02.08 553
2921 [RPG2000]캐릭터를맵위에놓는방법좀 ㅠㅠ 『덩키동크』 2006.02.08 324
2920 [RPG2000]캐릭터를맵위에놓는방법좀 ㅠㅠ 샤기한내겨털 2006.02.08 320
2919 xp 왜이러죠? 피슈 2006.02.08 126
2918 RPGXP 명령어에 관해서.. 황기철 2006.02.07 452
2917 알피지만들기 XP 공격력상승에 관한질문 준돌 2006.02.07 109
2916 스킬관련질문 마카미루 2006.02.07 144
2915 연속공격 스크립트 질문요.. 제발 알려주십쇼 ㅠ_ㅠ 세온 2006.02.07 328
2914 글시가 안보입니다! 빛과 어둠 2006.02.07 320
» 다시한번 마법반사 스크립트 질문 거녕_짱 2006.02.07 300
2912 RPG-XP건물 제작 비법좀 가르쳐 주실분?!? file Ress 2006.02.07 261
2911 RPG-XP건물 제작 비법좀 가르쳐 주실분?!? [破天劉星煥] 2006.02.07 229
2910 [rpg2003] 질문 피슈 2006.02.07 382
2909 [rpg2003] 질문 출v항 2006.02.07 398
2908 키가 안먹히게 할수는 없나요? 메카니션 2006.02.07 186
Board Pagination Prev 1 ... 291 292 293 294 295 296 297 298 299 300 ... 442 Next
/ 442


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)