RPGXP 스크립트
2013.10.01 06:15

Initial Switches and Variables

조회 수 602 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
=begin

 Initial Switches and Variables (aka Autoswitcher 3)
 by PK8
 Created: 5/8/2012
 Modified: -
 ──────────────────────────────────────────────────────────────────────────────
 ■ Table of Contents
   o Author's Notes                                - Line 16-19
   o Introduction                                  - Line 21-22
   o Features                                      - Line 24-26
   o Methods Aliased                               - Line 28-30
   o Changelog                                     - Line 32-45
   o Usage                                         - Line 47-69
 ──────────────────────────────────────────────────────────────────────────────
 ■ Author's Notes
   This version's a major improvement over my last two versions as they offer
   shortcuts in an effort to streamline the process of setting up certain
   variables and switches.
 ──────────────────────────────────────────────────────────────────────────────
 ■ Introduction
   This script allows users to set the initial values of switches and variables.
 ──────────────────────────────────────────────────────────────────────────────
 ■ Features
   Set which switches can turn on / off at the start of your game.
   Set the initial values of any or all variables.
 ──────────────────────────────────────────────────────────────────────────────
 ■ Methods Aliased
   Game_Switches.initialize
   Game_Variables.initialize
 ──────────────────────────────────────────────────────────────────────────────
 ■ Changelog
   v1p  (2/28/2008): My first time making this. It involved creating a scene
                     which users had to edit in which switches and variables
                     to adjust, and a direct edit to Scene_Title. I'm not too
                     proud of it. (I didn't have much knowledge then.)
   v1z  (?/??/????): This came about when I was looking for a better way to
                     do it in SephirothSpawn's old forums. Both Seph and
                     Zeriab provided answers, but Seph's answer appeared
                     a little too complex for me at the time so I chose
                     Zeriab's. Known as "Zeriab's Autoswitcher"
   v2   (7/12/2009): Improves upon the original by adding new switch/variable
                     settings to the script.
   v3   (5/8/2012) : Improves upon v2 by adding new shortcuts to streamline the
                     process of setting up initial switches and variables.
 ──────────────────────────────────────────────────────────────────────────────
 ■ Usage
   Data[key] = value
   * Data represents Switch or Variable
   * key represents the ID of the switch or variable
   * value represents the value of the Switch/Variable ID.
   
   In this version, there are 3 shortcuts you can use besides specifying an ID
   for a variable or switch. That would mean there are 4 ways to set the
   initial values for your switches and variables.
   
     Type      Code Example         Description
     ─────────┬────────────────────────┬───────────────────────────────────────
      Integer │ Data[1] = value        │ Sets new value to a single switch or
              │                        │ variable ID. Example: 1
      Range   │ Data[1..5] = value     │ Sets new value to a range of switch
              │                        │ or variable IDs. Example: 1,2,3,4,5
      Array   │ Data[1,4..6,8] = value │ Sets new value to a group of switch
              │                        │ or variable IDs. Item can be an Integer
              │                        │ or a range. Example: 1,4,5,6,8
      Nil     │ Data[nil] = value      │ Sets new value to all switch or
              │                        │ variable IDs.
     ─────────┴────────────────────────┴───────────────────────────────────────
                                         
=end

module PK8
  class Initial
    #--------------------------------------------------------------------------
    # * Do not modify
    #--------------------------------------------------------------------------
    Switch, Variable = {}, {}
    
    #--------------------------------------------------------------------------
    # * Switch/Variable[id] = value
    # id can be an integer, a range, an array, or nil.
    #--------------------------------------------------------------------------
    Switch[1]     = true
    Variable[1]   = 50

    #--------------------------------------------------------------------------
    # * Do not modify
    #--------------------------------------------------------------------------
    file_ext = "rxdata" # It's just there to make porting easier (I'm lazy).
    
    if Switch.has_key?(nil)
      for i in 1...load_data("Data/System.#{file_ext}").switches.size
        Switch[i] = Switch[nil]
      end
      Switch.delete(nil)
    end
    Switch.each { |k, v|
      if k.is_a?(Range); for i in k; Switch[i] = v; end; Switch.delete(k)
      elsif k.is_a?(Array)
        k.each { | i |
          if i.is_a?(Integer); Switch[i] = v
          elsif i.is_a?(Range); for i2 in i; Switch[i2] = v; end
          end }
        Switch.delete(k)
      end
    }
    if Variable.has_key?(nil)
      for i in 1...load_data("Data/System.#{file_ext}").variables.size
        Variable[i] = Variable[nil]
      end
      Variable.delete(nil)
    end
    Variable.each { |k, v|
      if k.is_a?(Range); for i in k; Variable[i] = v; end; Variable.delete(k)
      elsif k.is_a?(Array)
        k.each { | i |
          if i.is_a?(Integer); Variable[i] = v
          elsif i.is_a?(Range); for i2 in i; Variable[i2] = v; end
          end }
        Variable.delete(k)
      end
    }
  end
end

#==============================================================================
# ** Game_Switches
#------------------------------------------------------------------------------
#  This class handles switches. It's a wrapper for the built-in class "Array."
#  Refer to "$game_switches" for the instance of this class.
#==============================================================================

class Game_Switches
  #--------------------------------------------------------------------------
  # * Do not modify
  #--------------------------------------------------------------------------
  unless method_defined?(:pk8_initialswitches_initialize)
    alias_method(:pk8_initialswitches_initialize, :initialize)
  end
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    pk8_initialswitches_initialize
    PK8::Initial::Switch.each { |k, v| @data[k] = v }
  end
end

#==============================================================================
# ** Game_Variables
#------------------------------------------------------------------------------
#  This class handles variables. It's a wrapper for the built-in class "Array."
#  Refer to "$game_variables" for the instance of this class.
#==============================================================================

class Game_Variables
  #--------------------------------------------------------------------------
  # * Do not modify
  #--------------------------------------------------------------------------
  unless method_defined?(:pk8_initialvariables_initialize)
    alias_method(:pk8_initialvariables_initialize, :initialize)
  end
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    pk8_initialvariables_initialize
    PK8::Initial::Variable.each { |k, v| @data[k] = v }
  end
end
 
게임 시작시 변수의 초기값과 스위치의 on/off 여부를 지정할 수 있는 스크립트입니다
?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
128 RPGMV 플러그인 윈도우 시스템 트레이로 최소화 2 file 러닝은빛 2016.01.21 2031 0
127 RPGMV 플러그인 커스텀 숫자 입력 패드 1 file 러닝은빛 2018.10.19 1019 0
126 RPGVX Ace 스크립트 LuD Script Package 1 file LuD 2017.08.16 1471 0
125 RPGMV 플러그인 YouTube Player 6 file 러닝은빛 2016.05.08 1480 0
124 RPGMV 플러그인 [plugin] YEP.58 – Item Synthesis (YEP엔진 아이템 합성 시스템) 2 plam 2016.01.21 2375 0
123 RPGXP 스크립트 대화에 얼굴이 나오는 스크립트 by: killarot(네이버 dust_mite)(수정버전) 1 부초 2016.02.22 1898 0
122 유니티 스크립트 화면에 이미지를 표시하는 스크립트(C#) 1 zerosium 2016.02.04 2373 0
121 RPGMV 플러그인 한글 이름 입력창 2.1v 2 file 맛난호빵 2016.02.12 2410 0
120 RPGVX Ace 스크립트 지속데미지 스크립트(MBS) 天下太平 2016.02.14 1519 0
119 RPGMV 플러그인 Item Stream 2 file 러닝은빛 2016.03.08 3201 0
118 RPGVX Ace 스크립트 VX Ace 용 8방향 이동 스크립트 1 도라지power 2016.03.17 1657 0
117 RPGMV 플러그인 맵상에서 캐릭터 스프라이트 이미지를 offset해주는 플러그인 file lklslel 2016.07.19 1074 0
116 RPGXP 스크립트 Font Setup file 운님 2016.07.22 1450 0
115 RPGMV 플러그인 화면 다중 분할 플러그인(Multiple Viewports) 러닝은빛 2016.08.25 1178 0
114 RPGMV 플러그인 CSS 캔버스 필터 file 러닝은빛 2016.10.06 916 0
113 RPGMV 플러그인 Keyboard Event - RPG Maker MV 1 러닝은빛 2017.01.03 2081 0
112 RPGMV 플러그인 Mirror Area - RPG Maker MV 2 file 러닝은빛 2017.01.03 4745 0
111 RPGMV 플러그인 [RPG MV] 퀘스트 마커 지속 표시 플러그인 file lklslel 2017.04.09 1416 0
110 RPGVX Ace 스크립트 [VXAce] 레이어 맵 <layer> 시스템 file LuD 2017.08.07 1045 0
109 RPGMV 플러그인 [鳥小屋] 실적 플러그인(인게임 트로피 시스템) file 이니군 2017.10.31 1552 0
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 ... 15 Next
/ 15






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)