Site hosted by Angelfire.com: Build your free website today!
HOW TO MAKE A CHARACTER SWITCHING SYSTEM
----------------------------------------
9:53 Central, July 9, 2000, -Shadowtext (shadowtext@hotmail.com)
----------------------------------------
There've been several people asking about this, so I made a tutorial.
My system's not the only system, though, so download other games and
see how they do it. Customize this however you want.
----------------------------------------
****************************************
*Note: I have written this in a style similar to the programming
 language "Visual Basic". It should be easy enough to 
*understand. Generally, though, a decimal after a word
 represents that this is a property or method of the previous word. 
*Thus "Item.Remove" Would mean to remove from the items
 (Using an Add/Remove Item Command) or
*
****************************************
----------------------------------------
Make an item (henceforth: "Warp Pendant") which summons
 the event "PartyChange." Here's what that does:
----------------------------------------
 
   EraseScreen
   Item.Remove "Warp Pendant"
   MemorizePosition (Three variables reserved for this purpose)
   RemoveFromParty (Here I just do this for every member possible
                   except the main character.[To change the main character, 
                   just add to each character later the choice
                   to be Main character.)
   Teleport to CharacterSwitch (A room I made for this Event)
   ShowScreen
   Msg.Style = Trans, Up
   Msg = "Select a party \|\|\^" (these three commands at the
                                  end make it wait a few seconds and close)
 
----------------------------------------
Now I made an event with each character,
 active only if that character's "Joined" switch is on.
 (Has that character joined?)
----------------------------------------
****************************************
----------------------------------------
Each character asks "Would you like me to come along?"
 or something appropriate. On the Yes Event
 I add that character to the party, then use a
 Move event to change the graphic to an invisible sprite.
 You can make sure that more than four don't join
 (they CAN join, just not participate) I add:
----------------------------------------
 
   Variable vPartySize = Hero.PartySize
   If vPartySize = 4
      Msg: "Too many people are already present."
      (Here you could add a RESET event. Do NOT simply
       recall the WarpPendant it WILL make the character stuck here
       eternally.)
 
----------------------------------------
Have a teleport square somewhere...
----------------------------------------
 
   If vPartySize = 4
      GotoMemorizedPlace(those variables once again.)
      AddItem WarpPendant
   Else
      Msg: "Not enough members." (This isn't necesary.
                                  You can make it teleport with
                                  fewer characters if you want.)
   End if
 
----------------------------------------
Place that event in a normal (NonConditional) EventPage.
Make one page a piece for each Character. Have its condition
 be that the "Required" switch for that character
 ("Is this character required?") on.
----------------------------------------
 
   If Hero.(place character here).IsPresent
      if vPartySize = 4
         GotoMemorizedPlace(those variables once again.)
      Else
         Msg: "Not enough members." (This isn't necesary.)
      End if
   Else
   Msg: "(Place Character Here) is required.
   (Now call a RESET event)
   End if
 
----------------------------------------
That RESET event should be:
----------------------------------------
 
   Erase Screen
   Remove (All characters)
   Teleport to CharacterSwitch
   Show Screen
 
----------------------------------------
That's pretty complex, though, so it might
 be wise to use variables instead of switches.
----------------------------------------
For an example of this system in action, download my demo:
http://members.xoom.com/Shadowtext/zrg_half.zip
 
The room should be at the bottom of the availavble
 maps (it's not a child map.) The common event should
 be easy enough to find. (It'll take some time to *get*
 the WarpPendant, though. At least until you have four
 characters. Unless you cheat by turning on the debug event.
 It's next to Castle Acar. Just turn off it's conditions in the map.)
----------------------------------------
****************************************
----------------------------------------
That should just about do it, but post to the message board,
 and I'll help if I see it there, and someone else will
 mostlikely help if I don't.
----------------------------------------