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
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
148 RPGXP 스크립트 메뉴에서 실제시간 보는 스크립트 4 청담 2013.09.24 607 0
147 RPGXP 스크립트 메세지에 얼굴, 이름등 다양한 기능 넣기 UMS 스크립트 1 데노제 2013.12.10 1616 0
146 RPGXP 스크립트 모든 글자에 외곽선 넣는 스크립트 청담 2013.09.20 1183 0
145 RPGXP 스크립트 모든 글자에 외곽선을 넣어주는 스크립트 3 2013.09.26 808 1
144 RPGMV 플러그인 모바일 패드 플러그인입니다! MBS - Mobile DirPad & Action Button 6 willmv 2015.11.07 2005 3
143 RPGXP 스크립트 모션 스크립트 3  운 2013.12.06 2054 0
142 RPGXP 스크립트 몬스터 도감 1 청담 2013.09.24 1422 0
141 RPGXP 스크립트 문과 상자를 쉽게 만들수 있는 스크립트 18 2013.10.21 2242 0
140 RPGXP 스크립트 물가에가면 캐릭터를 반사시켜주는 스크립트 4 file 창조도시 2007.12.02 4490 6
139 RPGXP 스크립트 물가에가면 캐릭터를 반사시켜주는 스크립트 4 file 창조도시 2007.12.02 4994 7
138 RPGXP 스크립트 미니맵 스크립트 2 청담 2013.09.20 1873 0
137 RPGXP 스크립트 미니맵 스크립트 2 2013.10.01 2177 0
136 RPGXP 스크립트 반칸이동 1 1 file A.M.S 2010.07.18 2184 0
135 RPGXP 스크립트 반칸이동 1 file A.M.S 2010.07.18 2446 0
134 RPGXP 스크립트 발소리 스크립트 6 2013.10.01 1730 0
133 RPGMV 플러그인 발소리 재생 플러그인 6 file 러닝은빛 2015.12.28 1646 0
132 RPGXP 스크립트 밤낮 설정 3 2013.10.01 994 0
131 RPGMV 플러그인 배틀미스트(전투중포그효과) 플러그인 file 파란별빛 2015.10.26 545 0
130 RPGXP 스크립트 복권 스크립트 청담 2013.09.24 925 0
129 RPGXP 스크립트 복권 스크립트 5 2013.10.01 1146 0
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 15 Next
/ 15






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

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