The RPG Maker Resource Kit

RMRK RPG Maker Creation => VX Ace => VXA Scripts Database => Topic started by: SoulPour777 on August 22, 2014, 11:40:13 AM

Title: Party Member Saving 1.5 (With Raids!)
Post by: SoulPour777 on August 22, 2014, 11:40:13 AM
Party Member Saving
Version: 1.5
Author: Soulpour777
Date: August 24, 2014

Description


This script allows you to save all your existing party members during a cutscene or a certain event where, you can save all your existing members and remove them during the cutscene, then add them back when the cutscene is done.

Features


Instructions

Script Calls:

add_all_actors - adds all actors you specified
remove_all_actors - removes all actors you saved
reclaim_all_actors - reclaims all actors you saved
 
add_spec_raid(raid_num) - adds a specific team of members in your party removing your current party.
 
Example:
add_spec_raid(Team1) - adds Team1 which can be found on Raids module.
 
persist_spec_raid(raid_num) - adds a specific team of members in your party keeping your current party.
 
Example:
persist_spec_raid(Team2) - adds Team2 which can be found on Raids module while keeping your other party members.


Script


Code: [Select]

#==============================================================================
# ** Party Member Saving v1.5
# Author: Soulpour777
# Web URL: infinitytears.wordpress.com
# Script Requested by: Galdelonian
# August 22, 2014
#------------------------------------------------------------------------------
# Description:
# This script allows you to save all your existing party members during a
# cutscene or a certain event where, you can save all your existing members
# and remove them during the cutscene, then add them back when the cutscene
# is done.
#------------------------------------------------------------------------------
# Change Log:
# August 22, 2014 - Created Party Member Saving 1.0
# August 24, 204
#   -> Added Specific Raid Feature
#   -> Added a Persist Specific Raid Feature
#   -> Added a Module to handle raid teams
#------------------------------------------------------------------------------
# Script Calls:
# add_all_actors - adds all actors you specified
# remove_all_actors - removes all actors you saved
# reclaim_all_actors - reclaims all actors you saved
# add_spec_raid(raid_num) - adds a specific team of members in your party
# removing your current party.
# Example:
# add_spec_raid(Team1) - adds Team1 which can be found on Raids module.
# persist_spec_raid(raid_num) - adds a specific team of members in your party
# keeping your current party.
# Example:
# persist_spec_raid(Team2) - adds Team2 which can be found on Raids module
# while keeping your other party members.
#------------------------------------------------------------------------------
# Terms of Use: Free to use for Non-Commercial and Commercial use.
#==============================================================================

module Soulpour
  module Raids
   
    # --------------------------------------------------------------------- #
    # Additional Instructions for 1.5 version:
    # if you want to add party members, just add the same way how Team 1
    # and Team 2 are constructed.
    # If you want a specific formation, you can alter them. For example:
    # Team3 = [6, 3, 2, 1, 4]
    # this would bring you the formation Actor6, Actor 3, Actor 2, Actor 1
    # and Actor 4 specifically.
    # --------------------------------------------------------------------- #
   
    Team1 = [1, 2, 3, 4, 5] #=> Team 1 are Actors 1, 2, 3, 4, and 5
    Team2 = [6, 7, 8] #=> Team 2 are Actors 6, 7 and 8
   
  end
end


class Game_System
  #--------------------------------------------------------------------------
  # * List of Aliased Methods
  #--------------------------------------------------------------------------
  alias :soul_party_save_by_array_game_system_init                :initialize
  attr_accessor                                              :party_container
  #--------------------------------------------------------------------------
  # * Object Initialization(Aliased)
  #-------------------------------------------------------------------------- 
  def initialize
    @party_container = []
    soul_party_save_by_array_game_system_init
  end
  #--------------------------------------------------------------------------
  # * Add All Actors (New Method)
  #--------------------------------------------------------------------------   
  def add_all_actors
    $game_party.members.each {|member| @party_container << member}
  end
  #--------------------------------------------------------------------------
  # * Remove All Added Actors
  #--------------------------------------------------------------------------   
  def remove_all_actors
    @party_container.each{|member| $game_party.remove_actor(member.id)}
  end
  #--------------------------------------------------------------------------
  # * Remove Actors
  #--------------------------------------------------------------------------   
  def remove_actors
    $game_party.members.each {|party| $game_party.remove_actor(party.id)}
  end
  #--------------------------------------------------------------------------
  # * Reclaim Actors
  #--------------------------------------------------------------------------     
  def reclaim_all_actors
    @party_container.each{|member| $game_party.add_actor(member.id)}
  end
 
end

class Game_Interpreter
  include Soulpour::Raids
  #--------------------------------------------------------------------------
  # * Add All Actors
  #--------------------------------------------------------------------------   
  def add_all_actors
    $game_system.add_all_actors
  end
  #--------------------------------------------------------------------------
  # Remove All Actors in the Container
  #--------------------------------------------------------------------------   
  def remove_all_actors
    $game_system.remove_all_actors
  end
  #--------------------------------------------------------------------------
  # * Reclaim All Actors in the Container
  #--------------------------------------------------------------------------   
  def reclaim_all_actors
    $game_system.reclaim_all_actors
  end
  #--------------------------------------------------------------------------
  # * Add Specific Party Members Removing Current Actors
  #--------------------------------------------------------------------------   
  def add_spec_raid(raid_num)
    specific_raid = raid_num
    $game_system.remove_actors
    specific_raid.each {|raid_party| $game_party.add_actor(raid_party)}
  end
  #--------------------------------------------------------------------------
  # * Adds Specific Party Members Persisting All Current Actors
  #--------------------------------------------------------------------------   
  def persist_spec_raid(raid_num)
    persist_spec_raid = raid_num
    persist_spec_raid.each {|raid_party| $game_party.add_actor(raid_party)}
  end 
end



Credit



Thanks


Support


For support, please comment below or contact me.

Known Compatibility Issues

None.


Terms of Use


Terms of Use: Free to use for Non-Commercial and Commercial use.
Title: Re: Party Member Saving
Post by: Euphoria on August 22, 2014, 12:10:05 PM
Looks like another useful one! Man, I'm trying to keep up but I just can't xD I finish one about once every three days!
Title: Re: Party Member Saving
Post by: yuyu! on August 22, 2014, 09:37:08 PM
Ahhh, so this would save their positions in the formation, right? :D

One of my biggest qualms has always been to remove the party for whatever reason, put them back, and then annoy the player when they have to set up their formation again. ;9
Title: Re: Party Member Saving
Post by: SoulPour777 on August 22, 2014, 11:22:28 PM
Yes. Because it would be a hell of an event it would be just to check who were the characters in your party right before you were going to the cutscene and return them back after the cutscene. Not only it saves the characters but their orders when you removed them :D
Title: Re: Party Member Saving
Post by: yuyu! on August 22, 2014, 11:26:51 PM
That's awesome! Thanks for making this! :gracie:
Title: Re: Party Member Saving 1.5 (With Raids!)
Post by: SoulPour777 on August 24, 2014, 03:20:31 AM
Added a new feature called Add Specific Raids and Persist Specific Raids.

Add Specific Raids allow you to change all your party members to a Team located on the Raids module and removes your current actors.

Add Specific Raids allow you to change all your party members to a Team located on the Raids module while keeping your current actors.