RPGXP 스크립트
2013.10.01 06:15

Initial Switches and Variables

조회 수 650 추천 수 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 여부를 지정할 수 있는 스크립트입니다
?

  1. Mog_Battle_hud(MZ버전도 있습니다)

    Date2021.03.05 CategoryRPGMV 플러그인 By스트레이보우 Views1847 Votes0
    Read More
  2. 컷신 플러그인

    Date2020.10.30 CategoryRPGMV 플러그인 By스트레이보우 Views2453 Votes0
    Read More
  3. 업적플러그인

    Date2020.09.02 CategoryRPGMV 플러그인 By스트레이보우 Views2090 Votes0
    Read More
  4. 한글조합입력기(영어가능)

    Date2019.11.10 CategoryRPGXP 스크립트 By조규진1 Views946 Votes0
    Read More
  5. 게임에서 제공해주는 노래가 아닌 외부에서 다운받고 안에 넣어쓰려면 어떻게 해야하나요?

    Date2019.07.26 CategoryRPGMV 플러그인 ByBigOrca Views1463 Votes0
    Read More
  6. Ghost Effect

    Date2019.01.20 CategoryRPGMV 플러그인 By러닝은빛 Views1156 Votes0
    Read More
  7. RPG XP Xas액알

    Date2018.10.30 CategoryRPGXP 스크립트 By심심치 Views1161 Votes0
    Read More
  8. 커스텀 숫자 입력 패드

    Date2018.10.19 CategoryRPGMV 플러그인 By러닝은빛 Views1222 Votes0
    Read More
  9. 9마리 이상의 몬스터 설정 | More Enemies

    Date2018.08.31 CategoryRPGMV 플러그인 By러닝은빛 Views974 Votes0
    Read More
  10. 동적 맵 타일 수정 플러그인

    Date2018.07.17 CategoryRPGMV 플러그인 By베지테리안카카오 Views1035 Votes0
    Read More
  11. VXA에서 XBOX360 컨트롤러 사용 여부 체크

    Date2018.07.15 CategoryRPGVX Ace 스크립트 By러닝은빛 Views891 Votes0
    Read More
  12. RMMV 옵션 창에 메시지 속도 및 글자 크기 변경 기능 추가

    Date2018.07.15 CategoryRPGMV 플러그인 By러닝은빛 Views1636 Votes0
    Read More
  13. 한글 데미지 표시

    Date2018.07.09 CategoryRPGMV 플러그인 By러닝은빛 Views1420 Votes0
    Read More
  14. [ MV ] 심장[체력표시 하트] 플러그인

    Date2018.07.01 CategoryRPGMV 플러그인 By수성의물 Views2257 Votes0
    Read More
  15. [鳥小屋] 실적 플러그인(인게임 트로피 시스템)

    Date2017.10.31 CategoryRPGMV 플러그인 By이니군 Views1747 Votes0
    Read More
  16. LuD Script Package

    Date2017.08.16 CategoryRPGVX Ace 스크립트 ByLuD Views1674 Votes0
    Read More
  17. [VXAce] 레이어 맵 <layer> 시스템

    Date2017.08.07 CategoryRPGVX Ace 스크립트 ByLuD Views1272 Votes0
    Read More
  18. [RPG MV] 퀘스트 마커 지속 표시 플러그인

    Date2017.04.09 CategoryRPGMV 플러그인 Bylklslel Views1697 Votes0
    Read More
  19. Mirror Area - RPG Maker MV

    Date2017.01.03 CategoryRPGMV 플러그인 By러닝은빛 Views5033 Votes0
    Read More
  20. Keyboard Event - RPG Maker MV

    Date2017.01.03 CategoryRPGMV 플러그인 By러닝은빛 Views2311 Votes0
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15


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

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