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 6203
921 저장 KGC_2PaneSave 15 file 키라링 2009.01.23 1869
920 기타 [자작]칼라 테이블입니다. 3 나뚜루 2009.01.24 1621
919 그래픽 [자작]Bitmap에서 줄긋기, 네모그리기 6 나뚜루 2009.01.24 1855
918 온라인 넷플레이1.7.0+abs5.5+한챗 49 쀍뛝쒧 2009.01.24 7289
917 기타 암울한스크립트? 엔딩후 캐릭터 이어서 새로운 게임시작 스크립트 5 *ps인간 2009.01.26 2533
916 기타 요리스크립트 (구) 6 *ps인간 2009.01.26 1933
915 기타 마법반사스크립트 4 *ps인간 2009.01.26 1403
914 아이템 아이템 선택하기 5 레핀 2009.01.29 2084
913 변수/스위치 셀프 스위치 조작 10 file 허걱 2009.01.30 2657
912 이동 및 탈것 최단경로 찾아가기 - (마우스 사용) 18 file 허걱 2009.02.02 3354
911 전투 GTBS 1.4 스크립트 9 아방스 2009.02.05 3028
910 이동 및 탈것 이거만드느라 똥줄탓다!(는뻥) 초간단스크립트 10 *PS인간 2009.02.10 2369
909 스킬 Skills_Consume_Hp[By: Gando] - HP를 소비하는 스킬 스크립트 4 쉴더 2009.02.21 1385
908 전투 Minkoff's Animated Battler Enhanced 11.2 by DerVVulfman 1 쉴더 2009.02.21 1483
907 전투 적 한계 HP수치 돌파 스크립트 ■ RPGモジュール 3 쉴더 2009.02.21 1784
906 이동 및 탈것 테두리 글자 & 그림자 글자 2 file 백호 2009.02.21 2015
905 기타 기본설정 강화ㄴ 1 백호 2009.02.21 1047
904 메뉴 메뉴에 얼굴 그래픽 표시 4 file 백호 2009.02.21 3113
903 기타 맵처리를 가볍게 1 백호 2009.02.21 1147
902 기타 몬스터 도감 7 file 백호 2009.02.21 1834
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