HELP WITH MAKING AN FFVI-STYLE PARTY SWITCH SYSTEM

Posts

Pages: 1
LockeZ
I'd really like to get rid of LockeZ. His play style is way too unpredictable. He's always like this too. If he ran a country, he'd just kill and imprison people at random until crime stopped.
6003
We'll assume you have the characters you want on each team stored in some variables. We'll assume those variables are named "Team 1 Char 1", "Team 1 Char 2", and so forth up through "Team 3 Char 4".

When you begin the event, store the starting map IDs and coordinates of each of the three teams in some variables. We'll assume those variables are called "Team 1 Map ID", "Team 1 X-Coor", "Team 1 Y-Coor", "Team 2 Map ID", etc.

This goes in a common event, parallel process. Make the parallel process require a trigger switch that is only on during the time when you want the player to be able to set up teams.

Key Input Processing: Check for cancel key, set to variable "Menu Key"

Branch if variable "Menu Key" is 6:
Show Choices: Enter Menu / Switch Teams
[Enter Menu] Handler:
Open Main Menu
[Change Teams] Handler:
Branch if variable "Current Team" is 1
Memorize Location in variables: "Team 1 Map ID", "Team 1 X-Coor", "Team 1 Y-Coor"
(Put some code here to revive everyone who's dead on all three teams; this can be done with some HP checks and conditional branches. Otherwise you will get game overs when removing and adding members.)
Change party members: Remove character stored in variable "Team 1 Char 1"
Change party members: Remove character stored in variable "Team 1 Char 2"
Change party members: Remove character stored in variable "Team 1 Char 3"
Change party members: Remove character stored in variable "Team 1 Char 4"
Change party members: Add character stored in variable "Team 2 Char 1"
Change party members: Add character stored in variable "Team 2 Char 2"
Change party members: Add character stored in variable "Team 2 Char 3"
Change party members: Add character stored in variable "Team 2 Char 4"
Recall to memorized position: "Team 2 Map ID", "Team 2 X-Coor", "Team 2 Y-Coor"
Set variable "Current Team" to 2
Else
Branch if variable "Current Team" is 2
Memorize Location in variables: "Team 2 Map ID", "Team 2 X-Coor", "Team 2 Y-Coor"
(Put some code here to revive everyone who's dead on all three teams; this can be done with some HP checks and conditional branches. Otherwise you will get game overs when removing and adding members.)
Change party members: Remove character stored in variable "Team 2 Char 1"
Change party members: Remove character stored in variable "Team 2 Char 2"
Change party members: Remove character stored in variable "Team 2 Char 3"
Change party members: Remove character stored in variable "Team 2 Char 4"
Change party members: Add character stored in variable "Team 3 Char 1"
Change party members: Add character stored in variable "Team 3 Char 2"
Change party members: Add character stored in variable "Team 3 Char 3"
Change party members: Add character stored in variable "Team 3 Char 4"
Recall to memorized position: "Team 3 Map ID", "Team 3 X-Coor", "Team 3 Y-Coor"
Set variable "Current Team" to 3
Else
Branch if variable "Current Team" is 3
Memorize Location in variables: "Team 3 Map ID", "Team 3 X-Coor", "Team 3 Y-Coor"
(Put some code here to revive everyone who's dead on all three teams; this can be done with some HP checks and conditional branches. Otherwise you will get game overs when removing and adding members.)
Change party members: Remove character stored in variable "Team 3 Char 1"
Change party members: Remove character stored in variable "Team 3 Char 2"
Change party members: Remove character stored in variable "Team 3 Char 3"
Change party members: Remove character stored in variable "Team 3 Char 4"
Change party members: Add character stored in variable "Team 1 Char 1"
Change party members: Add character stored in variable "Team 1 Char 2"
Change party members: Add character stored in variable "Team 1 Char 3"
Change party members: Add character stored in variable "Team 1 Char 4"
Recall to memorized position: "Team 1 Map ID", "Team 1 X-Coor", "Team 1 Y-Coor"
Set variable "Current Team" to 1
End
End
End
[Cancel] Handler:
End
End



Then on each map involved in the dungeon, you need three events. The first one looks like this:

Branch if Variable "Current Team" is not equal to 1
Branch if Variable "Team 1 Map ID" is <this map's ID>
Move Event: This Event, Change Graphic (to the graphic of the hero stored in "Team 1 Char 1"; requires some conditional branches)
Change Event Location: This Event, Location stored in variables: "Team 1 X-Coor", "Team 1 Y-Coor"
End
End


The second one looks like this:

Branch if Variable "Current Team" is not equal to 2
Branch if Variable "Team 2 Map ID" is <this map's ID>
Move Event: This Event, Change Graphic (to the graphic of the hero stored in "Team 2 Char 1"; requires some conditional branches)
Change Event Location: This Event, Location stored in variables: "Team 2 X-Coor", "Team 2 Y-Coor"
End
End


The third one looks like this:

Branch if Variable "Current Team" is not equal to 3
Branch if Variable "Team 3 Map ID" is <this map's ID>
Move Event: This Event, Change Graphic (to the graphic of the hero stored in "Team 3 Char 1"; requires some conditional branches)
Change Event Location: This Event, Location stored in variables: "Team 3 X-Coor", "Team 3 Y-Coor"
End
End



That should do it. Making the interface to choose the party members is up to you.
Pages: 1