XP 스크립트

특정 액터나 에너미가 방어시에 속성유효도,스테이트무시 등을 설정할 수 있습니다.

예를들어 파이터캐릭터가 방어할때는 불속성 데미지는 무효
스턴상태는 걸리지않는다.
이런식으로 지정할 수 있고요
에너미도 마찬가지로 가능합니다..

#-----------------여기서부터
# ?방어?속성 유효도·스테이트 방어
# by Tetra-Z
#
# ?방어?안에만 유효한 속성 유효도·스테이트 방어를 설정합니다.

#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
  def guard_element_rate
    case self.id
    #==========================================================================
    # □ 커스터마이즈 포인트
    #==========================================================================
    when 1                # 액터의 방어시에 속성 유효도를 설정하는곳입니다
      return {1=>200}    # ,이뜻은 1번 캐릭터가 방어할때 1번속성 데미지를 200%로 받는다 입니다
    when 2
      return {2=>200}                      # -로 설정 하실 수 도 있습니다.  예) return {1=>-500}
    # when 액터ID      아래 주석 설명과 마찬가지로 계속 지정 하실 수도 있습니다.
    #  return {속성ID=>레이트, 속성ID=>레이트, ……} 예) return {1=>200, 2=>-500, 5=>1000}
    # 레이트는100하지만 기준. ←뭔말인지;;
    #==========================================================================
    end
    return {}
  end
  def guard_state_guard
    case self.id
    #==========================================================================
    # □ 커스터마이즈 포인트
    #==========================================================================
    when 1          #이거는 액터 방어시에 아무리 써도 무효인 스테이트
      return []      #쉬워서 설명은 필요없겠네요 
  # 액터ID    예를하나 들자면.. when 3 return [5, 2, 7] ←3번 액터 방어시에 5,2,7 번 스테이트무효
  #  return [무효 스테이트ID배열]
  #==========================================================================
    end
    return []
  end
end
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
  def guard_element_rate
    case self.id
    #==========================================================================
    # □ 커스터마이즈 포인트
    #==========================================================================
    when 1                      # 에너미설정 하는곳
      return {}                    # 액터랑 같습니다
    # when 에너지?-ID
    #  return {속성ID=>레이트, 속성ID=>레이트, ……}
    # 레이트는100하지만 기준.
    #==========================================================================
    end
    return {}
  end
  def guard_state_guard
    case self.id
    #==========================================================================
    # □ 커스터마이즈 포인트
    #==========================================================================
    when 1                  # 이것도 같습니다
      return []             
    # 에너지?-ID
    #  return [무효 스테이트ID배열]
    #==========================================================================
    end
    return []
  end
end
#------------------------사용자 지정끝
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
  #--------------------------------------------------------------------------
  # ● 속성 보정치의 취득
  #    element_id : 속성 ID
  #--------------------------------------------------------------------------
  def guard_element_correct(element_id)
    array = self.guard_element_rate
    return (array[element_id].nil? ? 100 : array[element_id])
  end
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 속성 보정치의 취득
  #    element_id : 속성 ID
  #--------------------------------------------------------------------------
  alias tetraz90_element_rate element_rate
  def element_rate(element_id)
    result = tetraz90_element_rate(element_id)
    if self.guarding?
      result *= guard_element_correct(element_id)
      result /= 100
    end
    # 메소드 종료
    return result
  end
  #--------------------------------------------------------------------------
  # ● 스테이트 방어 판정
  #    state_id : 스테이트 ID
  #--------------------------------------------------------------------------
  alias tetraz90_state_guard? state_guard?
  def state_guard?(state_id)
    if self.guarding?
      array = self.guard_state_guard
      return true if array.include?(state_id)
    end
    return tetraz90_state_guard?(state_id)
  end
end
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ● 속성 보정치의 취득
  #    element_id : 속성 ID
  #--------------------------------------------------------------------------
  alias tetraz90_element_rate element_rate
  def element_rate(element_id)
    result = tetraz90_element_rate(element_id)
    if self.guarding?
      result *= guard_element_correct(element_id)
      result /= 100
    end
    # 메소드 종료
    return result
  end
  #--------------------------------------------------------------------------
  # ● 스테이트 방어 판정
  #    state_id : 스테이트 ID
  #--------------------------------------------------------------------------
  alias tetraz90_state_guard? state_guard?
  def state_guard?(state_id)
    if self.guarding?
      array = self.guard_state_guard
      return true if array.include?(state_id)
    end
    return tetraz90_state_guard?(state_id)
  end
end
#--------------------끝

사용법 입니다

이건 말로 쓰기는 좀 어려워서; 13~69줄까지가 사용자가 설정하는곳인데 주석으로 설명을 적었습니다.


출처는 수수께끼의 정사면체

Who's 백호

?

이상혁입니다.

http://elab.kr


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6153
921 메뉴 SG_Artifact Colors by sandgolem (SDK 호환) 1 백호 2009.02.22 1003
920 그래픽 Drago - Custom Resolution II 1 Alkaid 2014.09.10 1004
919 기타 프레임 적용 스크립트 1 file 백호 2009.02.21 1007
918 스킬 Equipment Skills 2.0 by SephirothSpawn file 백호 2009.02.22 1007
917 전투 랜덤 전투음악 by Fomar0153@rmxp.org 1 백호 2009.02.22 1008
916 기타 분류 별로 윈도우 스킨 다르게 사용하기 file 백호 2009.02.21 1015
915 기타 강제 종료시키기 1 file 백호 2009.02.22 1015
» 전투 방어시에 속성 저항,스테이트무시 스크립트 1 백호 2009.02.22 1017
913 기타 제련시스템 수정본입니다. 3 file 백호 2009.02.21 1020
912 기타 능력치 무한대 스크립트 (따로 넣을필요없음) 2 백호 2009.02.21 1027
911 전투 SG_Auto battle by sandgolem (SDK호환) 백호 2009.02.22 1031
910 아이템 아이템을 사용하여 기술 습득하기 (기술문서 아이템) 2 file 백호 2009.02.21 1033
909 기타 Random Character Generator by SephirothSpawn (SDK호환) 1 백호 2009.02.22 1040
908 타이틀/게임오버 타이틀과 타이틀 BGM 랜덤으로 변경하는 스크립트 2 file 백호 2009.02.21 1045
907 파티 파티원 포션 나눠먹기 스크립트 1 file 백호 2009.02.22 1046
906 기타 기본설정 강화ㄴ 1 백호 2009.02.21 1047
905 이동 및 탈것 이동루트에 애니메이션커맨드 추가 1 file 백호 2009.02.21 1047
904 기타 [KGC] 개요 스크립트 2 백호 2009.02.21 1048
903 메뉴 링메뉴+음악도입스크립트 백호 2009.02.21 1051
902 저장 [KGC] 스크립트 저장된 리셋 불어오기 [스샷첨부] 1 file 백호 2009.02.22 1052
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 52 Next
/ 52