Avangs

  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입
Avangs
  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입

NOTICE

공지사항
더보기
  • 서버 안정성 및 보안 강화 조치 04.20

Recently Added Games

최근 등록 게임
  • 어드벤쳐 고철에 파묻힌 데모나 (屑鉄まとうデモナ) newfile 08.19
  • 어드벤쳐 비올레 저택의 시온 : 꽃눈의 저택|RPG Maker MZ 단편 심리공포 어드벤처 file 08.17
  • 기타 (똥 주의)그저 똥을 누러 가는 게임 Re:Boot updatefile 08.16
  • 롤플레잉 SACCHARINE SYNC (DEMO) 배포 file 08.12
  • 기타 (완성작) 야구장에 가자4 file 2 07.07
장비
2012.09.01 03:02

Ace 장비 착용의 제한 스크립트

아이미르
조회 수 2938 추천 수 2 댓글 11
크게 작게 위로 아래로 댓글로 가기 인쇄
크게 작게 위로 아래로 댓글로 가기 인쇄

음.. 공부가 잘 안되면 여기 접속하는 아이미르입니다 ㅇㅅㅇ/

 

이번 작품은 장비 착용에 제한점을 설정하는 스크립트 입니다.

 

------------------------------------------------------------------------------------

 

예제 :  http://db.tt/2pCPUAQc

 

-------------------------------------------------------------------------------------

 

사용법

 

무기나 방어구의 메모란에

 

<장착제한>

문구 +n

문구 m +n

</장착제한>

을 기입합니다.

 

문구 타입 1) 문구 +n

 

 LV|레벨 
 MHP|최대HP
 MMP|최대MP
 ATK|공격력
 DEF|방어력
 MAT|마법력
 MDF|마법방어
 AGI|민첩성
 LUK|운
 GOLD|골드

 

문구는 좌우 하나만 쓰면 됩니다. +n은 n이상을 의미하고, -n은 n이하를 의미합니다.

 

exa)

 

<장착제한>
LV +2
</장착제한>

 

위 장비는 레벨이 2 이상일때 장착 가능합니다.

 

<장착제한>
MHP -1000
</장착제한>

 

위 장비는 최대체력이 1000 이하일 때 장착 가능합니다.

 

!!주의!! 뒤의 n이 양수일지라도 앞에 +를 생략해서는 안됩니다. 음수면 당연히 -를 붙여야겠지요

 

문구 타입 2) 문구 m +n

 

 SWITCH|스위치
 VARIABLE|변수
  ITEM|아이템

 

역시 문구는 좌우 하나만 쓰면 됩니다. 앞의 m은 id입니다. 스위치의 경우 m번 스위치가 대상이 되며

변수의 경우는 m번 변수, 아이템의 경우 아이템 id가 m인 아이템이 판별의 대상이 됩니다.

 

+n은 해당 조건입니다. 스위치의 경우 n의 값에 상관없이 스위치가 on이 조건이 됩니다.

변수의 경우 절대값을 판별 조건으로 삼습니다. 문구 타입 1과 마찬가지로 양수일 경우는 n값 이상일 때

음수일 경우는 n값 이하일 때를 판별합니다.

아이템의 경우는 n값의 양, 음에 상관없이 절대값으로 판별합니다. n개이상 소지할 경우만을 판별의

대상으로 삼습니다.

 

P.S 의외로 간단해보이는 구조라서 일찍 하고 자려고 했는 데 어느새 4시간이나 지나갔네요...

아무리 설렁설렁했다고 해도 그렇지 ...;;;

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

module IMIR_Limited
 
  # 합성 레시피 인식용
  LIMIT = {
    :level   => "LV|레벨",
    :mhp     => "MHP|최대HP",
    :mmp     => "MMP|최대MP",
    :atk     => "ATK|공격력",
    :def     => "DEF|방어력",
    :mat     => "MAT|마법력",
    :mdf     => "MDF|마법방어",
    :agi     => "AGI|민첩성",
    :luk     => "LUK|운",
    :gold    => "GOLD|골드",
  }
 
  LIMIT_OPTION = {
    :switch  => "SWITCH|스위치",
    :variable=> "VARIABLE|변수",
    :item    => "ITEM|아이템",
  }
 
  # 정규 표현
  module Regexp
    module Limited
      # 제한문 개시
      BEGIN_LIMITED = /<(?:LIMITED|장착제한)>/i
      # 제한문 종료
      END_LIMITED = /<\/(?:LIMITED|장착제한)>/i
      # 제한문 옵션     'Str Dec +Dec'형태   exa) ITEM 1 3 등
      LIMITED_OPTION = /^\s*([^:\+\-\d\s]+)\s*(\d+)\s*([\+\-]\d+)\s*$/
      # 제한문 수치     'Str +Dec' 형태      exa) GOLD 200 등
      LIMITED = /^\s*([^:\+\-\d\s]+)\s*([\+\-]\d+)\s*$/
    end
  end
 
end

#==============================================================================
# ■ RPG::Weapon
#==============================================================================
class RPG::Weapon < RPG::EquipItem
  #--------------------------------------------------------------------------
  # ○ 장착제한의 캐쉬를 생성
  #--------------------------------------------------------------------------
  def create_limited_cache
    @_limited = false
    @_limited_level = 0
    @_limited_mhp = 0
    @_limited_mmp = 0
    @_limited_atk = 0
    @_limited_def = 0
    @_limited_mat = 0
    @_limited_mdf = 0
    @_limited_agi = 0
    @_limited_luk = 0
    @_limited_gold = 0
    @_limited_switch = []
    @_limited_variable = []
    @_limited_item = []
   
    reset_limited_cache   
    set_limited_cache
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한의 캐쉬 초기화
  #--------------------------------------------------------------------------
  def reset_limited_cache
    @_limited_level = 0
    @_limited_mhp = 0
    @_limited_mmp = 0
    @_limited_atk = 0
    @_limited_def = 0
    @_limited_mat = 0
    @_limited_mdf = 0
    @_limited_agi = 0
    @_limited_luk = 0
    @_limited_gold = 0
    @_limited_switch = []
    @_limited_variable = []
    @_limited_item = []

  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한의 캐쉬를 셋팅
  #--------------------------------------------------------------------------
  def set_limited_cache
    limited_flag = false
    self.note.each_line { |line|
      case line
      when IMIR_Limited::Regexp::Limited::BEGIN_LIMITED
        # 장착제한 정의 개시
        limited_flag = true
        @_limited = true
      when IMIR_Limited::Regexp::Limited::END_LIMITED
        # 장착제한 정의 종료
        limited_flag = false
      when IMIR_Limited::Regexp::Limited::LIMITED_OPTION
        if limited_flag
          apply_limited_option($1, $2.to_i, $3.to_i)
        end
      when IMIR_Limited::Regexp::Limited::LIMITED
        if limited_flag
          apply_limited($1, $2.to_i)
        end
      else
        break
      end
    }
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한의 옵션을 입수
  #--------------------------------------------------------------------------
  def apply_limited_option(kind, id, value)
    IMIR_Limited::LIMIT_OPTION.each { |k, v|
      if kind =~ /(?:#{v})/i
        case k
        when :switch
          reset_limited_cache if @_limited_switch == nil
          @_limited_switch.push(id)
        when :variable
          reset_limited_cache if @_limited_variable == nil
          @_limited_variable.push([id, value])
        when :item
          reset_limited_cache if @_limited_item[id] == nil
          @_limited_item.push([id, value.abs])
        end
        break
      end
    }
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한의 기본옵션을 입수
  #--------------------------------------------------------------------------
  def apply_limited(aim, value)
    IMIR_Limited::LIMIT.each { |k, v|
      if aim =~ /(?:#{v})/i
        case k
        when :level
          reset_limited_cache if @_limited_level == nil
          @_limited_level += value
        when :mhp
          reset_limited_cache if @_limited_mhp == nil
          @_limited_mhp += value
        when :mmp
          reset_limited_cache if @_limited_mmp == nil
          @_limited_mmp += value
        when :atk
          reset_limited_cache if @_limited_atk == nil
          @_limited_atk += value
        when :def
          reset_limited_cache if @_limited_def == nil
          @_limited_def += value
        when :mat
          reset_limited_cache if @_limited_mat == nil
          @_limited_mat += value
        when :mdf
          reset_limited_cache if @_limited_mdf == nil
          @_limited_mdf += value
        when :agi
          reset_limited_cache if @_limited_agi == nil
          @_limited_agi += value
        when :luk
          reset_limited_cache if @_limited_luk == nil
          @_limited_luk += value
        when :gold
          reset_limited_cache if @_limited_gold == nil
          @_limited_gold += value
        end
        break
      end
    }
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 장비일까?
  #--------------------------------------------------------------------------
  def limited
    create_limited_cache if @_limited == nil
    return @_limited
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 레벨
  #--------------------------------------------------------------------------
  def limited_level
    create_limited_cache if @_limited_level == nil
    return @_limited_level
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 최대체력
  #--------------------------------------------------------------------------
  def limited_mhp
    create_limited_cache if @_limited_mhp == nil
    return @_limited_mhp
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 최대마력
  #--------------------------------------------------------------------------
  def limited_mmp
    create_limited_cache if @_limited_mmp == nil
    return @_limited_mmp
  end

  #--------------------------------------------------------------------------
  # ○ 장착제한 - 공격력
  #--------------------------------------------------------------------------
  def limited_atk
    create_limited_cache if @_limited_atk == nil
    return @_limited_atk
  end

  #--------------------------------------------------------------------------
  # ○ 장착제한 - 방어력
  #--------------------------------------------------------------------------
  def limited_def
    create_limited_cache if @_limited_def == nil
    return @_limited_def
  end

  #--------------------------------------------------------------------------
  # ○ 장착제한 - 마법공격력
  #--------------------------------------------------------------------------
  def limited_mat
    create_limited_cache if @_limited_mat == nil
    return @_limited_mat
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 마법방어력
  #--------------------------------------------------------------------------
  def limited_mdf
    create_limited_cache if @_limited_mdf == nil
    return @_limited_mdf
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 민첩성
  #--------------------------------------------------------------------------
  def limited_agi
    create_limited_cache if @_limited_agi == nil
    return @_limited_agi
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 운
  #--------------------------------------------------------------------------
  def limited_luk
    create_limited_cache if @_limited_luk == nil
    return @_limited_luk
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 골드
  #--------------------------------------------------------------------------
  def limited_gold
    create_limited_cache if @_limited_gold == nil
    return @_limited_gold
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 스위치
  #--------------------------------------------------------------------------
  def limited_switch
    create_limited_cache if @_limited_switch == nil
    return @_limited_switch
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 변수
  #--------------------------------------------------------------------------
  def limited_variable
    create_limited_cache if @_limited_variable == nil
    return @_limited_variable
  end

  #--------------------------------------------------------------------------
  # ○ 장착제한 - 아이템
  #--------------------------------------------------------------------------
  def limited_item
    create_limited_cache if @_limited_item == nil
    return @_limited_item
  end
 
end

#==============================================================================
# ■ RPG::Armor
#==============================================================================
class RPG::Armor < RPG::EquipItem
  #--------------------------------------------------------------------------
  # ○ 장착제한의 캐쉬를 생성
  #--------------------------------------------------------------------------
  def create_limited_cache
    @_limited = false
    @_limited_level = 0
    @_limited_mhp = 0
    @_limited_mmp = 0
    @_limited_atk = 0
    @_limited_def = 0
    @_limited_mat = 0
    @_limited_mdf = 0
    @_limited_agi = 0
    @_limited_luk = 0
    @_limited_gold = 0
    @_limited_switch = []
    @_limited_variable = []
    @_limited_item = []
   
    reset_limited_cache   
    set_limited_cache
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한의 캐쉬 초기화
  #--------------------------------------------------------------------------
  def reset_limited_cache
    @_limited_level = 0
    @_limited_mhp = 0
    @_limited_mmp = 0
    @_limited_atk = 0
    @_limited_def = 0
    @_limited_mat = 0
    @_limited_mdf = 0
    @_limited_agi = 0
    @_limited_luk = 0
    @_limited_gold = 0
    @_limited_switch = []
    @_limited_variable = []
    @_limited_item = []

  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한의 캐쉬를 셋팅
  #--------------------------------------------------------------------------
  def set_limited_cache
    limited_flag = false
    self.note.each_line { |line|
      case line
      when IMIR_Limited::Regexp::Limited::BEGIN_LIMITED
        # 장착제한 정의 개시
        limited_flag = true
        @_limited = true
      when IMIR_Limited::Regexp::Limited::END_LIMITED
        # 장착제한 정의 종료
        limited_flag = false
      when IMIR_Limited::Regexp::Limited::LIMITED_OPTION
        if limited_flag
          apply_limited_option($1, $2.to_i, $3.to_i)
        end
      when IMIR_Limited::Regexp::Limited::LIMITED
        if limited_flag
          apply_limited($1, $2.to_i)
        end
      else
        break
      end
    }
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한의 옵션을 입수
  #--------------------------------------------------------------------------
  def apply_limited_option(kind, id, value)
    IMIR_Limited::LIMIT_OPTION.each { |k, v|
      if kind =~ /(?:#{v})/i
        case k
        when :switch
          reset_limited_cache if @_limited_switch == nil
          @_limited_switch.push(id)
        when :variable
          reset_limited_cache if @_limited_variable == nil
          @_limited_variable.push([id, value])
        when :item
          reset_limited_cache if @_limited_item[id] == nil
          @_limited_item.push([id, value.abs])
        end
        break
      end
    }
  end 
  #--------------------------------------------------------------------------
  # ○ 장착제한의 기본옵션을 입수
  #--------------------------------------------------------------------------
  def apply_limited(aim, value)
    IMIR_Limited::LIMIT.each { |k, v|
      if aim =~ /(?:#{v})/i
        case k
        when :level
          reset_limited_cache if @_limited_level == nil
          @_limited_level += value
        when :mhp
          reset_limited_cache if @_limited_mhp == nil
          @_limited_mhp += value
        when :mmp
          reset_limited_cache if @_limited_mmp == nil
          @_limited_mmp += value
        when :atk
          reset_limited_cache if @_limited_atk == nil
          @_limited_atk += value
        when :def
          reset_limited_cache if @_limited_def == nil
          @_limited_def += value
        when :mat
          reset_limited_cache if @_limited_mat == nil
          @_limited_mat += value
        when :mdf
          reset_limited_cache if @_limited_mdf == nil
          @_limited_mdf += value
        when :agi
          reset_limited_cache if @_limited_agi == nil
          @_limited_agi += value
        when :luk
          reset_limited_cache if @_limited_luk == nil
          @_limited_luk += value
        when :gold
          reset_limited_cache if @_limited_gold == nil
          @_limited_gold += value
        end
        break
      end
    }
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 장비일까?
  #--------------------------------------------------------------------------
  def limited
    create_limited_cache if @_limited == nil
    return @_limited
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 레벨
  #--------------------------------------------------------------------------
  def limited_level
    create_limited_cache if @_limited_level == nil
    return @_limited_level
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 최대체력
  #--------------------------------------------------------------------------
  def limited_mhp
    create_limited_cache if @_limited_mhp == nil
    return @_limited_mhp
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 최대마력
  #--------------------------------------------------------------------------
  def limited_mmp
    create_limited_cache if @_limited_mmp == nil
    return @_limited_mmp
  end

  #--------------------------------------------------------------------------
  # ○ 장착제한 - 공격력
  #--------------------------------------------------------------------------
  def limited_atk
    create_limited_cache if @_limited_atk == nil
    return @_limited_atk
  end

  #--------------------------------------------------------------------------
  # ○ 장착제한 - 방어력
  #--------------------------------------------------------------------------
  def limited_def
    create_limited_cache if @_limited_def == nil
    return @_limited_def
  end

  #--------------------------------------------------------------------------
  # ○ 장착제한 - 마법공격력
  #--------------------------------------------------------------------------
  def limited_mat
    create_limited_cache if @_limited_mat == nil
    return @_limited_mat
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 마법방어력
  #--------------------------------------------------------------------------
  def limited_mdf
    create_limited_cache if @_limited_mdf == nil
    return @_limited_mdf
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 민첩성
  #--------------------------------------------------------------------------
  def limited_agi
    create_limited_cache if @_limited_agi == nil
    return @_limited_agi
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 운
  #--------------------------------------------------------------------------
  def limited_luk
    create_limited_cache if @_limited_luk == nil
    return @_limited_luk
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 골드
  #--------------------------------------------------------------------------
  def limited_gold
    create_limited_cache if @_limited_gold == nil
    return @_limited_gold
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 스위치
  #--------------------------------------------------------------------------
  def limited_switch
    create_limited_cache if @_limited_switch == nil
    return @_limited_switch
  end
 
  #--------------------------------------------------------------------------
  # ○ 장착제한 - 변수
  #--------------------------------------------------------------------------
  def limited_variable
    create_limited_cache if @_limited_variable == nil
    return @_limited_variable
  end

  #--------------------------------------------------------------------------
  # ○ 장착제한 - 아이템
  #--------------------------------------------------------------------------
  def limited_item
    create_limited_cache if @_limited_item == nil
    return @_limited_item
  end
 
end

#==============================================================================
# ■ Game_BattlerBase
#------------------------------------------------------------------------------
#  버틀러를 취급하는 기본의 클래스입니다.주로 능력치 계산의 메소드를 포함하고 있습니다.와
# 의 클래스는 Game_Battler 클래스의 슈퍼 클래스로서 사용됩니다.
#==============================================================================

class Game_BattlerBase 
  #--------------------------------------------------------------------------
  # ● 장비 제한 판정
  #--------------------------------------------------------------------------
  def limited?(item)
    ans = 0
    ans += 1 if item.limited_level > 0 && @level < item.limited_level
    ans += 1 if item.limited_mhp > 0 && mhp < item.limited_mhp
    ans += 1 if item.limited_mmp > 0 && mmp < item.limited_mmp
    ans += 1 if item.limited_atk > 0 && atk < item.limited_atk
    ans += 1 if item.limited_def > 0 && @def < item.limited_def
    ans += 1 if item.limited_mat > 0 && mat < item.limited_mat
    ans += 1 if item.limited_mdf > 0 && mdf < item.limited_mdf
    ans += 1 if item.limited_agi > 0 && agi < item.limited_agi
    ans += 1 if item.limited_luk > 0 && luk < item.limited_luk
    ans += 1 if item.limited_gold > 0 && $game_party.gold < item.limited_gold
   
    ans += 1 if item.limited_level < 0 && @level > item.limited_level.abs
    ans += 1 if item.limited_mhp < 0 && mhp > item.limited_mhp.abs
    ans += 1 if item.limited_mmp < 0 && mmp > item.limited_mmp.abs
    ans += 1 if item.limited_atk < 0 && atk >item.limited_atk.abs
    ans += 1 if item.limited_def < 0 && @def > item.limited_def.abs
    ans += 1 if item.limited_mat < 0 && mat > item.limited_mat.abs
    ans += 1 if item.limited_mdf < 0 && mdf > item.limited_mdf.abs
    ans += 1 if item.limited_agi < 0 && agi > item.limited_agi.abs
    ans += 1 if item.limited_luk < 0 && luk > item.limited_luk.abs
    ans += 1 if item.limited_gold < 0 && $game_party.gold > item.limited_gold.abs
   
    item.limited_switch.each{ |id|
      ans += 1 if $game_switches[id] == false
    }
   
    item.limited_variable.each{ |id, var|
      ans += 1 if var > 0 && $game_variables[id] < var.abs
      ans += 1 if var < 0 && $game_variables[id] > var.abs
    }
   
    item.limited_item.each{ |id, var|
      obj = $data_items[id]
      ans += 1 if var > $game_party.item_number(obj)
    }
   
    return false if ans > 0
    return true if ans == 0
  end
 
end

#==============================================================================
# ■ Window_EquipItem
#------------------------------------------------------------------------------
#  장비 화면에서, 장비 변경의 후보가 되는 아이템의 일람을 표시하는 윈도우입니다.
#==============================================================================

class Window_EquipItem < Window_ItemList
  #--------------------------------------------------------------------------
  # ● 아이템을 허가 상태로 표시할지
  #--------------------------------------------------------------------------
  def enable?(item)
    return true if item == nil
    return @actor.limited?(item) if item.limited
    return true
  end
end

#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
#  액터를 취급하는 클래스입니다.이 클래스는 Game_Actors 클래스($game_actors)
# 의 내부에서 사용되어 Game_Party 클래스($game_party)로부터도 참조됩니다.
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 최강 장비
  #--------------------------------------------------------------------------
  def optimize_equipments
    clear_equipments
    equip_slots.size.times do |i|
      next if !equip_change_ok?(i)
      items = $game_party.equip_items.select do |item|
        item.etype_id == equip_slots[i] &&
        equippable?(item) && item.performance >= 0 &&
        limited?(item)
      end
      change_equip(i, items.max_by {|item| item.performance })
    end
  end
end

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Who's 아이미르

?

허루쿠... 임용고시 공부해야되는데 이러고 있다....

 

알만툴의 중독성은 쩔어준다는;;;

2 추천 0 비추천
Facebook Twitter Google Pinterest KakaoStory Band
위로 아래로 댓글로 가기 인쇄
에디터 선택하기
✔ 텍스트 모드 ✔ 에디터 모드
?
댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Comments '11'
  • ?
    거북이뒤집기 2012.09.04 11:39
    우왓 감사합니다 ㅋㅋ
    그런데 혹시 능력치제한을 한개말고 여러개로 설정 할 수 있나요??
    레벨 10이상 힘 30이상 일 경우 장착가능 .. 이런식으로요 ㅎㅎ
    댓글
  • ?
    아이미르 2012.09.04 14:41
    여러개 해도 적용됩니다만 같은 종류를 사용하면 꼬일 수 있습니다

    예를 들어 레벨 2 이상 5 이하로 하고 싶다고
    LV +2
    LV -5
    이렇게 넣으면 -3이 되서 3이하일때로 적용됩니다. 이런 조건은 설정되어있지 않으니까 주의해주세요
    댓글
  • ?
    시옷청룡 2012.12.30 22:21
    좋은 자료 감사합니다~
    댓글
  • ?
    닉네임이없다능 2013.01.15 09:42
    에러났어요!!!
    댓글
  • ?
    빼리쏭 2013.07.22 17:19
    잘되네요~ 감사합니다ㅎㅎ
    댓글
  • ?
    DaySchool 2013.11.20 23:06

    648번째줄에서 오류가 나네요..

    댓글
  • ?
    아방님 2013.11.28 18:01 Files첨부 (1)
    • • 에러.png

    00a726f76b55fc3c627bdcafcd3437bd.png

    에러났어요! 해결좀요!

    댓글
  • ?
    디트리히 2014.12.26 22:47
    맨마지막줄 ------------------ 앞에 # 붙이세요
    ex) #-------------------------------
    아마 625번줄이던가...
    댓글
  • ?
    AltusZeon 2014.12.26 23:24
    오류내용을 봤을 때는 그 문제가 아니라,
    스크립트 상단의 IMIR_Limited 모듈을 복사 안 하신 것 같군요.
    댓글
  • ?
    LK 2013.12.17 16:05
    감사합니다~
    댓글
  • ?
    TiTle 2015.04.20 18:46
    이제와서 죄송하지만... 혹시 직업 제한도 넣을 수 있나요?
    댓글

Category
  • 그래픽(7)
  • 맵/타일(10)
  • 메뉴(14)
  • 메시지(13)
  • 미니맵(2)
  • 버그픽스(7)
  • 변수/스위치(6)
  • 상점(3)
  • 상태/속성(3)
  • 스킬(10)
  • 아이템(14)
  • 액터(2)
  • 원경(0)
  • 영상(1)
  • 오디오(3)
  • 온라인(1)
  • 이동 및 탈것(8)
  • 이름입력(2)
  • 장비(5)
  • 저장(3)
  • 전투(39)
  • 제작도구(1)
  • 직업(1)
  • 퀘스트(2)
  • 키입력(7)
  • 타이틀/게임오버(9)
  • 파티(1)
  • HUD(7)
  • 기타(39)
List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 7248
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 31220
217 전투 [VX Ace] Damage Popup by Dargor 7 Alkaid 2011.12.04 5575
216 기타 Yanfly Engine Ace Alkaid 2011.12.10 4519
215 전투 콤보 카운팅 시스템 4 아르피쥐 2011.12.18 4746
214 스킬 스킬 스틸 시스템 5 아르피쥐 2011.12.18 4030
213 기타 Victor Engine 1 Alkaid 2011.12.21 4192
212 변수/스위치 TYPE74RX-T: 셀프 스위치를 실시간으로 조작 Alkaid 2011.12.23 3482
211 기타 Picture Gallery Ace by MogHunter 1 Alkaid 2011.12.28 3596
210 타이틀/게임오버 코아 코스튬씨의 랜덤 타이틀 출력 스크립트를 VX Ace용으로 변환 (테스트용) 1 Alkaid 2011.12.29 3323
209 전투 RPG VX Ace 전투 대사 한글화 37 재규어 2012.01.04 20455
208 아이템 물품 이름 컬러 변경 14 까까까 2012.01.04 5795
207 메시지 ATS: Special Message Codes 1.0 by Modern Algebra 1 file Alkaid 2012.01.15 4877
206 전투 XAS Hero Edition Ace Experimental 0.5 6 Alkaid 2012.01.15 6259
205 미니맵 미니맵 표시 스크립트 21 file 아방스 2012.01.16 6666
204 이름입력 한글 이름입력창 23 file 에틴 2012.01.23 12179
203 전투 Sideview08 Ace 테스트 버전 (인 듯 합니다) 5 재규어 2012.01.24 4533
202 이동 및 탈것 RPG VX ACE ( RGSS3_8direction_move_v1.01 ) 8방향 스크립트 17 file 쿠쿠밥솥 2012.01.24 5635
201 타이틀/게임오버 코아 코스튬씨의 랜덤 타이틀 스크립트를 VX Ace용으로 변환 (완성판) 2 Alkaid 2012.01.25 4175
200 아이템 양손무기 작착 스크립트 [Dual Wield -> Free Hands Version 1.0] 7 file 아방스 2012.01.31 4790
199 장비 사용자 장비 슬롯 1.1 27 file 아방스 2012.01.31 6788
198 전투 레벨업시 HP/MP 전체회복 9 쿠쿠밥솥 2012.02.05 5181
쓰기
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11
AVANGS

게임 제작, 창작, 자료, 강좌를 연결하는 커뮤니티

  • 개인정보 취급방침

Copyright © 2026 Avangs