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
681 기타 능력치 무한대 스크립트 (따로 넣을필요없음) 2 백호 2009.02.21 1027
680 장비 심플액션 수정본(장비드롭, 데미지표시) 원본:비밀소년 수정:kcss 10 file 백호 2009.02.21 2721
679 전투 전투후 경험치 분배와 레벨업시 HP/SP 전회복 15 백호 2009.02.21 2377
678 스킬 Grouping and Detail (Items/Skills) 1 file 백호 2009.02.21 839
677 전투 심플액알 더더 수정(스위치, 변수) 17 file 백호 2009.02.21 3046
676 기타 Steal Script (SDK Required) file 백호 2009.02.21 1182
675 키입력 키보드 입력을 변수에 받아들이기 1 file 백호 2009.02.21 1802
674 기타 횡스크롤 스크립트 한국말 번역. 15 file 백호 2009.02.21 3311
673 메시지 한글자씩 뜨는 스크립트 6 백호 2009.02.21 3001
672 직업 직업마다 다른 성장 2 백호 2009.02.22 1724
671 스킬 스킬도감 오류 수정본 2 file 백호 2009.02.22 1340
670 스킬 스킬 업데이트 시스템 4 file 백호 2009.02.22 1644
669 전투 Single/All Target Switching by RPG Advocate 백호 2009.02.22 816
668 기타 Activation_system file 백호 2009.02.22 775
667 장비 Multi-equip script 노신버전 2 file 백호 2009.02.22 1129
666 전투 위치보정스크립트 한글화 1 백호 2009.02.22 922
665 기타 Hero Databass 4 file 백호 2009.02.22 797
664 기타 몬스터 도감 18 file 백호 2009.02.22 2667
663 전투 Star Ocean Battle System 3 file 백호 2009.02.22 1228
662 전투 펫 시스템(ABS 3.4v포함) 23 file 백호 2009.02.22 3459
Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 52 Next
/ 52