[Unsupported] Actor & Party's Self Switches VX
#1
Actor & Party's Self Switches VX
Version: 1

Introduction
This script is a tad similar to that of the built in feature: Self Switches. For those not familiar with Self Switches, Self Switches pretty much pertain to a specific event. Example: Treasure Chests.

Actor & Party Self Switches allows developers to set certain switches pertaining to a certain party member or actor.

Let's say, you set a switch to Party Member 1 (Ralph) to true. In case you ever change party members, the switch will still be turned on for that member in the party (Ralph).

Or how about if you want to set a certain switch for a specific actor instead of a member in the party. You can do that as well!

Features
  • Set party member's self switches via call script.
  • Get party member's self switches via call script.
  • Set actor's self switches via call script.
  • Get actor's self switches via call script.

Screenshots
I can't screencap this.

Demo
No demo.

Script
Code:
=begin
?????????????????????????????????????????????????????????????????????????????????
? Actor & Party Self Switches VX                                               ?
? Version 1.0                                                                  ?
? by PK8 & Kain Nobel                                                          ?
? 9/16/09                                                                      ?
? http://rmvxp.com                                                             ?
?????????????????????????????????????????????????????????????????????????????????
? ? Table of Contents                                                          ?
? ?? Author's Notes                - Line 18?22                                ?
? ?? Introduction & Description    - Line 24?37                                ?
? ?? Features                      - Line 39?43                                ?
? ?? How to Use                    - Line 45?90                                ?
? ?? This aliases the following... - Line 92,93                                ?
? ?? Thanks                        - Line 95?98                                ?
? ?? Changelog                     - Line 100,101                              ?
????????????????????????????????????????????????????????????????????????????????
? ? Author's Notes                                                             ?
? Lowell/Adalwulf mentioned creating a "Personal Variables" system which filled?
? my head in with ideas about variables and switches. One of these ideas being ?
? giving party members and actors their own self switches. I personally can't  ?
? think of any use to these but I'm sure someone can!                          ?
?????????????????????????????????????????????????????????????????????????????????
? ? Introduction & Description                                                 ?
? This script is a tad similar to that of the built in feature: Self Switches. ?
? For those not familiar with Self Switches, Self Switches pretty much pertain ?
? to a specific event. Example: Treasure Chests.                               ?
?                                                                              ?
? Actor & Party Self Switches allows developers to set certain switches        ?
? pertaining to a certain party member or actor.                               ?
?                                                                              ?
? Let's say, you set a switch to Party Member 1 (Ralph) to true. In case you   ?
? ever change party members, the switch will still be turned on for that member?
? in the party (Ralph).                                                        ?
?                                                                              ?
? Or how about if you want to set a certain switch for a specific actor instead?
? of a member in the party. You can do that as well!                           ?
?????????????????????????????????????????????????????????????????????????????????
? ? Features                                                                   ?
? ? Set party member's self switches via call script. (How to use is below)    ?
? ? Get party member's self switches via call script. (How to use is below)    ?
? ? Set actor's self switches via call script. (How to use is below)           ?
? ? Get actor's self switches via call script. (How to use is below)           ?
????????????????????????????????????????????????????????????????????????????????
? ? How to Use                                                                 ?
?                                                                              ?
? ? Setting up a party member's self switch:                                   ?
?   To set a self switch for a party member, you'll need to call this script:  ?
?     party_self_switch(member, id, bool)                                      ?
?       member: Party Member. (0, 1, 2, 3)                                     ?
?       id:     Party Member Self Switch Identification. Example: 'A', 'B'     ?
?       bool:   true or false.                                                 ?
?   Example: party_self_switch(0, 'A', true) sets whoever may be the 1st party ?
?            member's switch "A" to true.                                      ?
?                                                                              ?
? ? Getting a party member's self switch:                                      ?
?   To get a self switch of a party member, you can call this script.          ?
?     party_self_switch(member, id)                                            ?
?       member: Party Member. (0, 1, 2, 3)                                     ?
?       id:     Party Member Self Switch Identification. Example: 'A', 'B'     ?
?   Example: party_self_switch(0, 'A') gets switch "A" of whoever may be the   ?
?            1st party member.                                                 ?
?                                                                              ?
? ? Using party member's self switches in evented if conditions.               ?
?   You're probably wondering how, right? Alright. To do this, go to the       ?
?   conditional branch event command, click on the fourth tab, select Script   ?
?   and type either of these in the input form:                                ?
?       party_self_switch(member, id) == true                                  ?
?       party_self_switch(member, id) == false                                 ?
?                                                                              ?
? ? Setting up an actor's self switch:                                         ?
?   To set a self switch for an actor, you'll need to call this script:        ?
?     actor_self_switch(actor, id, bool)                                       ?
?       actor: Character ID from the database. (1, 2, 3, 4, 5, 6, 7, 8)        ?
?       id:    Party Member Self Switch Identification. Example: 'A', 'B'      ?
?       bool:  true or false.                                                  ?
?   Example: actor_self_switch(1, 'A', true) sets Actor 1's switch "A" to true.?
?                                                                              ?
? ? Getting an actor's self switch:                                            ?
?   To get a self switch of an actor, you can call this script.                ?
?     actor_self_switch(actor, id)                                             ?
?       actor: Character ID from the database. (1, 2, 3, 4, 5, 6, 7, 8)        ?
?       id:    Party Member Self Switch Identification. Example: 'A', 'B'      ?
?   Example: actor_self_switch(1, 'A') gets switch "A" of Actor 1.             ?
?                                                                              ?
? ? Using an actor's self switch in evented if conditions.                     ?
?   To do this, go to the conditional branch event command, click on the fourth?
?   tab, select Script and type either of these in the input form:             ?
?       actor_self_switch(actor, id) == true                                   ?
?       actor_self_switch(actor, id) == false                                  ?
????????????????????????????????????????????????????????????????????????????????
? ? This aliases the following...                                              ?
? initialize - Game_Party                                                      ?
????????????????????????????????????????????????????????????????????????????????
? ? Thanks                                                                     ?
? Lowell: He mentioned creating a personal variables system for his project    ?
?         which made me (PK8) catch "the scripting bug".                       ?
? Kain Nobel: He modified some of the code and made it a lot better.           ?
????????????????????????????????????????????????????????????????????????????????
? ? Changelog                                                                  ?
? Version 1.0 - 9/16/09: Initial Release                                       ?
?????????????????????????????????????????????????????????????????????????????????
=end

#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
#  This class handles the party. It includes information on amount of gold
# and items. The instance of this class is referenced by $game_party.
#==============================================================================

class Game_Party
  attr_accessor :self_switches
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias_method :partyselfswitches_gmparty_initialize, :initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(*args)
    partyselfswitches_gmparty_initialize(*args)
    @self_switches = Game_Party::SelfSwitches.new
  end
end

#==============================================================================
# ** Game_Party::SelfSwitches
#------------------------------------------------------------------------------
#  This handles self switches. It's a wrapper for the built-in class "Array."
# The instance of this class is referenced by $game_party.self_switches.
#==============================================================================

class Game_Party::SelfSwitches
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @data = {}
  end
  #--------------------------------------------------------------------------
  # * Get Self Switch of Actor
  #     key : key
  #--------------------------------------------------------------------------
  def [](key)
    return @data[key] == true ? true : false
  end
  #--------------------------------------------------------------------------
  # * Set Self Switch of Actor
  #     key   : key
  #     value : ON (true) / OFF (false)
  #--------------------------------------------------------------------------
  def []=(key, value)
    @data[key] = value
  end
end

#==============================================================================
# ** Game_Interpreter
#------------------------------------------------------------------------------
#  An interpreter for executing event commands. This class is used within the
# Game_Map, Game_Troop, and Game_Event classes.
#==============================================================================

class Game_Interpreter
  #--------------------------------------------------------------------------
  # * Control Party Self Switch
  #--------------------------------------------------------------------------
  def party_self_switch(member, id, bool = nil)
    key = [$game_party.members[member].id, id]
    if bool != nil
      $game_party.self_switches[key] = bool
    else
      return $game_party.self_switches[key]
    end
    $game_map.need_refresh = true
    return true
  end
 
  #--------------------------------------------------------------------------
  # * Control Actor Self Switch
  #--------------------------------------------------------------------------
  def actor_self_switch(actor, id, bool = nil)
    key = [$game_actors[actor].id, id]
    if bool != nil
      $game_party.self_switches[key] = bool
    else
      return $game_party.self_switches[key]
    end
    $game_map.need_refresh = true
    return true
  end
end

Instructions
How to use is in the script.

FAQ
Feel free to ask.

Compatibility
Aliases initialize of Game_Party.

Credits and Thanks
Lowell: He mentioned creating a personal variables system for his project which made me catch "the scripting bug".
Kain Nobel: He modified some of the code and made it a lot better.

Author's Notes
Lowell/Adalwulf mentioned creating a "Personal Variables" system which filled my head in with ideas about variables and switches. One of these ideas being giving party members and actors their own self switches. I personally can't think of any use to these but I'm sure someone can!

Terms and Conditions
Exclusive to RMVXP?
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
   Skip Party Command Window Sneezycat 0 125 06-27-2026, 04:51 PM
Last Post: Sneezycat
   Troop : Self-Switches Kain Nobel 0 2,131 06-10-2016, 05:58 PM
Last Post: Kain Nobel
   Actor AutoSelfSwitches [Add-on] PK8 0 2,315 11-13-2009, 06:10 PM
Last Post: PK8
   Group Switches v1.1 PK8 0 2,202 11-12-2009, 06:24 AM
Last Post: PK8
   Actor AutoSelfVariables [Add-on] PK8 0 2,211 11-09-2009, 04:39 PM
Last Post: PK8
   Actor Battler Graphics DerVVulfman 2 14,570 10-03-2009, 06:15 PM
Last Post: Yin
   Common Event Self Switches VX PK8 0 3,839 09-17-2009, 03:54 AM
Last Post: PK8
   Actor & Party's Self Variables VX PK8 0 3,614 09-17-2009, 01:43 AM
Last Post: PK8
   [Unsupported] PK8's Self Variables VX PK8 1 9,860 09-16-2009, 10:20 AM
Last Post: Kain Nobel
   [Unsupported] Game Strings (Streamline dialogue!) PK8 3 14,638 09-15-2009, 11:28 PM
Last Post: Wyatt



Users browsing this thread: 1 Guest(s)