Using CPSL script and and Multiple Starting Points script.

Started by rgangsta, April 13, 2009, 12:37:14 pm

Previous topic - Next topic

rgangsta

Recently, I wanted to use both those scripts in my game. There was one poblem: the Multiple Starting Points script wouldn't load my saved games. So, I came up iwth a solution.

1) Comment lines 103-108 in the Multiple Starting Points script. Just put "#" in front of the lines without the quotes.
2) Use this code from the CPSL (Chaos Project Save Layout) script and place it in line 109 of the Multiple Starting Points script.
@continue_enabled = (0...CPSL::Save_number).any? {|i|
          FileTest.exist?(CPSL.make_savename(i))
      }

3) Now, when you play the game, the continue button will be highlighted even though there's no saved game.
So, simply put this code in line 112 in Multiple Starting Points script.
      if @continue_enabled
      @command_window.index = 1
    else
      @command_window.disable_item(1)
    end


Everything should be working fine now. And remember: Place the Multiple Starting Points script above the CPSL script.
;)

G_G

Wierd because umm in the script topic it says to do that already xD

Its all good. But I guess this would be for anyone who has a Custom Title Screen.

rgangsta

It says to put the code in Scene_Title. But I modified it and put it in Multiple Starting Points and in Scene_Title.  :xP: :xD:

G_G

Multiple Starting Points has Scene_Title in it I do believe

#============================================================================
# ** Multiple Starting Points
#----------------------------------------------------------------------------
# by Fantasist
# Version 1.0
# 4-Jan-2008
#----------------------------------------------------------------------------
#Version History:
#
# 1.0 - The first release
#----------------------------------------------------------------------------
#Description:
#           When 'New Game' option is selected, a new sub-menu is
# opened, where the player can chose from different modes. Each
# mode starts in a different map.
#----------------------------------------------------------------------------
#Compatibility:
#           There might be issues with other scripts which tamper
# Scene_Title. This script should be placed ABOVE any other
# custom scripts if used.
#----------------------------------------------------------------------------
#Instructions:
#           Place this script above 'Main'. If you're using any other
# scripts, all of them should come BELOW this script.
#----------------------------------------------------------------------------
# Configuration:
# You should include all the required modes in the array GameModes.
# For example, if you want 2 modes, it would look like this:
#          GameModes = ['Mode1', 'Mode2']
# where Mode1 and Mode2 are the names of the modes.
#
# For each mode, you should specify the IDs of the maps in which
# they start. For the above example,
#          MapIDs = [2, 3]
# would start Mode1 in map 2 and Mode2 in map 3.
#
# For each mode, you should set the starting point on the map.
# This is similar to 'Set Start Position' command. To know the
# coordinates, go to the required map and use the event command
# 'Teleport'. After chosing the start position on the required map,
# two numbers will be displayed on the top-right corner of the
# window. These numbers are your starting positions. In our
# example, if the starting position of Mode1 is 6, 7 and starting
# position for Mode2 is 0, 1, it would be like this:
#         MapPos = [ [6, 7], [0, 1] ]
#
GameModes = ['Mode1', 'Mode2']
MapIDs = [1, 1]
MapPos = [ [6, 7], [0, 1] ]
#----------------------------------------------------------------------------
#Issues:
# - DO NOT leave the above three arrays empty (none should be []).
#   Just don't use this script if you want to disable it, this won't work
#   with 0 modes.
# - Number of allowed modes is unlimited, but the commamd
#   window will extend beyond the screen, so the player can't see
#   some modes. This will be corrected in the next version
#----------------------------------------------------------------------------
#Credits and Thanks:
#  Credit me (Fantasist) for making this, IF you want to. Credit is
#  not a cumpulsion.
#----------------------------------------------------------------------------
#Notes:
#    If you have a problem or suggestion, you can find me at
#    www.chaosproject.co.nr
#    Enjoy ^_^
#============================================================================

#==============================================================================
# ** Scene_Title
#==============================================================================

class Scene_Title

def main
   if $BTEST
     battle_test
     return
   end
   $data_actors        = load_data('Data/Actors.rxdata')
   $data_classes       = load_data('Data/Classes.rxdata')
   $data_skills        = load_data('Data/Skills.rxdata')
   $data_items         = load_data('Data/Items.rxdata')
   $data_weapons       = load_data('Data/Weapons.rxdata')
   $data_armors        = load_data('Data/Armors.rxdata')
   $data_enemies       = load_data('Data/Enemies.rxdata')
   $data_troops        = load_data('Data/Troops.rxdata')
   $data_states        = load_data('Data/States.rxdata')
   $data_animations    = load_data('Data/Animations.rxdata')
   $data_tilesets      = load_data('Data/Tilesets.rxdata')
   $data_common_events = load_data('Data/CommonEvents.rxdata')
   $data_system        = load_data('Data/System.rxdata')
   $game_system = Game_System.new
   @sprite = Sprite.new
   @sprite.bitmap = RPG::Cache.title($data_system.title_name)
   s1 = 'New Game'
   s2 = 'Continue'
   s3 = 'Shutdown'
   @command_window = Window_Command.new(192, [s1, s2, s3])
   @command_window.back_opacity = 160
   @command_window.x = 320 - @command_window.width / 2
   @command_window.y = 288
   @continue_enabled = (0..3).any? {|i| FileTest.exist?("Save#{i + 1}.rxdata")}
   if @continue_enabled
     @command_window.index = 1
   else
     @command_window.disable_item(1)
   end
   @mode_win = Window_Command.new(192, GameModes)
   @mode_win.back_opacity = 160
   @mode_win.x, @mode_win.y = 320 - @mode_win.width / 2, 288
   @mode_win.active = @mode_win.visible = false
   $game_system.bgm_play($data_system.title_bgm)
   Audio.me_stop
   Audio.bgs_stop
   Graphics.transition
   loop {
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   }
   Graphics.freeze
   @command_window.dispose
   @mode_win.dispose
   @sprite.bitmap.dispose
   @sprite.dispose
end

def update
   if @command_window.active
     update_command
     return
   end
   if @mode_win.active
     update_mode
     return
   end
end

def update_command
   @command_window.update
   if Input.trigger?(Input::C)
     case @command_window.index
     when 0
       Graphics.freeze
       @command_window.visible = @command_window.active = false
       @mode_win.active = @mode_win.visible = true
       Graphics.transition(5)
     when 1
       command_continue
     when 2
       command_shutdown
     end
   end
end

def update_mode
   @mode_win.update
   if Input.trigger?(Input::C)
     i = @mode_win.index
     start(MapIDs[i], MapPos[i][0], MapPos[i][1])
   elsif Input.trigger?(Input::B)
     Graphics.freeze
     @mode_win.visible = @mode_win.active = false
     @command_window.active = @command_window.visible = true
     Graphics.transition(5)
   end
end

def start(id, x, y)
   $game_system.se_play($data_system.decision_se)
   Audio.bgm_stop
   Graphics.frame_count = 0
   $game_temp          = Game_Temp.new
   $game_system        = Game_System.new
   $game_switches      = Game_Switches.new
   $game_variables     = Game_Variables.new
   $game_self_switches = Game_SelfSwitches.new
   $game_screen        = Game_Screen.new
   $game_actors        = Game_Actors.new
   $game_party         = Game_Party.new
   $game_troop         = Game_Troop.new
   $game_map           = Game_Map.new
   $game_player        = Game_Player.new
   $game_party.setup_starting_members
   $game_map.setup(id)
   $game_player.moveto(x, y)
   $game_player.refresh
   $game_map.autoplay
   $game_map.update
   $scene = Scene_Map.new
end

end


It is a Title. So yea this thread wasnt really neccessary.

rgangsta


G_G

Its ok. I'n not trying to be mean or anything. We're a good community and help each other out! So don't worry :D

rgangsta


Fantasist

Nice to see my scripts being used :)

Well, I instructed to modify Scene_Title, but I forgot to mention that you need to modify Scene_Title#main method of the script which is actually used in-game. Or did I mention it...? Doesn't matter, nice job :) *powers up*

Maybe I should check on those topics once.
Do you like ambient/electronic music? Then you should promote a talented artist! Help out here. (I'm serious. Just listen to his work at least!)


The best of freeware reviews: Gizmo's Freeware Reviews




rgangsta