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
174 전투 흠.. 아직도 이 스크립트가 없군요 ㅋㅋ(제가올림..) 1 file 백호 2009.02.21 3335
173 전투 횡스크롤형식의 스크립트 7 백호 2009.02.21 2973
172 전투 펫 시스템(ABS 3.4v포함) 23 file 백호 2009.02.22 3461
171 전투 턴제 전투메시지 스크립트 10 file 백호 2009.02.21 2199
170 전투 쿼터뷰 전투 스크립트 3 file 백호 2009.02.21 2871
169 전투 캐릭터고르기스크립트? ps인간 2009.01.23 3263
168 전투 캐릭터가 착용한 무기에 따라 배틀러 무기도 바꿔주는 스크립트 6 file 백호 2009.02.21 2518
167 전투 추적 공격 스크립트 백호 2009.02.21 1459
166 전투 중복일지도 모르는 ATB 전투 11 file 백호 2009.02.22 4057
165 전투 전투후 경험치 분배와 레벨업시 HP/SP 전회복 15 백호 2009.02.21 2377
164 전투 전투중의 윈도우 전부 투명화 3 file 백호 2009.02.21 1879
163 전투 전투중에 장비들 교체하기 file 레이스89 2017.08.19 594
162 전투 전투의 커맨드에 따라 능력치를 상승 백호 2009.02.22 904
161 전투 전투의 승리마다 행동에 따라서 능력치가 상승한다! 1 백호 2009.02.22 1238
160 전투 전투위치 보정 스크립트 1 file 백호 2009.02.21 1234
159 전투 전투에서도 맵 BGM 연결하는 스크립트 2 file 백호 2009.02.21 1130
158 전투 전투시 아이콘 윈도우 2 file 백호 2009.02.21 1650
157 전투 전투시 미묘한 효과 스크립트 file 백호 2009.02.21 1468
156 전투 전투불능 케릭터 강제삭제 7 독도2005 2008.10.05 1918
155 전투 전투배경확장 한글 3 백호 2009.02.22 1472
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9