Avangs

  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임new
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입
Avangs
  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임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 단편 심리공포 어드벤처 newfile 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 7243
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 31220
217 그래픽 셰이크 강화 스크립트 file 시낵스 2023.12.13 689
216 오디오 볼륨변경 스크립트 레기우스州 2020.08.09 721
215 전투 LNX11 전투 RPGXP 전투처럼 만들기 큔. 2018.11.23 1731
214 온라인 브라우저 열기 스크립트 1 큔. 2018.09.09 903
213 타이틀/게임오버 GG침 스크립트 file 큔. 2018.07.18 1056
212 메뉴 파티 개별 인벤토리 스크립트 안나카레리나 2018.06.25 971
211 전투 기본전투의 커스텀 명중률 제작 안나카레리나 2018.06.10 756
210 기타 LUD Script Package file LuD 2017.08.15 1280
209 맵/타일 레이어 맵 <layer> 기능 2 file LuD 2017.08.03 1729
208 HUD 아이템 레어리티 스크립트 (번역기 돌림) 2 file 부초 2017.07.21 1702
207 기타 (링크)RPG VX ACE 블랙잭 스크립트 게임애호가 2017.06.18 1230
206 전투 SPRG 컨버터 NEXT 1 file 게임애호가 2016.06.09 2136
205 전투 Tomoaky's RGSS3_SRPG ver.0.15a 한국어번역 3 file 초코빙수 2016.06.05 2310
204 맵/타일 Map Zoom Ace by MGC 습작 2016.02.28 1231
203 메시지 Item Choice Help Window for Ace 2 file 습작 2016.02.15 1596
202 기타 '결정 키로 이벤트 시작' 조건분기 추가 file Bunny_Boy 2016.01.16 1387
201 그래픽 커스텀 아이콘 적용하기 2 file 간로 2015.09.28 3033
200 버그픽스 RGSS3 Unofficial Bug Fix Snippets Alkaid 2015.09.09 862
199 이동 및 탈것 Khas Pathfinder(길찾기 스크립트) 15 찬잎 2015.07.10 2234
198 메시지 아이템 정보 메세지가 뜨는 아이템 획득 1 폴라 2015.05.21 2840
쓰기
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11
AVANGS

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

  • 개인정보 취급방침

Copyright © 2026 Avangs