Welcome to the first of many tutorials on making advanced cutscnes.
This brief tutorial will discuss the best method for having 2 PCs discuss the situation by utilizing the LEAST amount of event commands posssible. However, the wrench is thrown in when Crono is in different positions in the party. Therefore, I have included a simple formulae for making sure your dialoug lines are said in the smoothest manner possible.
Think of this as an "advanced" follow-up of Chrono'99's post here:
http://www.chronocompendium.com/Forums/index.php/topic,2060.msg59848.html#msg59848For instance, here's an snippit of the event editor:
Above is location {0C5} Giant's Claw Last Tyrano
(which is Event number "085")
You can see in the highlighted spaces in image #1 where they would link to the PC's Arbitrary code, which calls that PC's Object to say display dialog.
Now take a look at image #2, which is Crono's Object code. You can see that the highlighted spaces will make another PC say their line instead. This isn't very effective because, if say, you have Magus in your party, EVERYONE else has speech priority over Magus. So, the best way we can rectify this, is to call another CallObjFunction within Crono's command. In doing this, EVERYONE who gets a chance to speak depending on which position they are in the party.
Check out my modification here:
As you can see, this is MUCH simpler and saves alot of commands and precious space (and we all know that space in a Chrono Trigger ROM is precious... we need all the commands we can get!)
The highlighted parts represent the parts we will be dealing with in this tutorial. So, how do we know the best way to call other PCs from Crono without accidently calling Crono again (crashing the game due to infinite loop) OR calling the same PC three times?
The formulae below is to be followed if, for instance, you don't want any problems.
Notes:
PC1, Arbit3 (would be CallObjFunction "PC1", Arbitrary3)
CallObjFunction would obviously lead to the set Arbitrary in which there would be various commands such as text boxes, character animations and such.
Here's the commands order according to the above screenshot:
PC1, Arbit3
PC0, Arbit4
Normal Circumstance: Crono points away!:
PC1, Arbit3 PC0, Arbit3
PC0, Arbit4 PC0, Arbit4
Case0 (Crono is PC0)
PC1 - says text
PC0 - pointed to PC2, Arbit4
Case1 (Crono PC1)
PC1 - pointed to PC2, Arbit3
PC0 - says text
Case2 (Crono PC2)
PC1 - says text
PC0 - says text
Now let's break down the pattern here. In Cases 1 & 2, Crono isn't leading the the party and the characters have smooth dialog without problems.
In Case 0, Crono is the leader of the party so we need to point to another party member. As such, we point to PC2 (who is not going to cause conflict) with the sequence.
Here's a VERY BAD formulae so you can see what I mean:
BAD formulae
Normal Circumstance: Crono points away?:
PC1, Arbit3 PC2, Arbit3
PC0, Arbit4 PC1, Arbit4
Case0 (Crono is PC0)
PC1 - says text
PC0 - pointed to PC1, Arbit4
Case1 (Crono PC1)
PC1 - pointed to PC2, Arbit3
PC0 - says text
Case2 (Crono PC2)
PC1 - says text
PC0 - says text
/BAD formulae
See the flaw in the pattern? Cases 1 & 2 would still work perfecly, but if the player has Crono as PC0 (1st PC/Party leader), Case 0 would then cause whomever is PC1 (2nd party member) to say two things in a row! They would be interacting/talking to themselves! Whoops!
I hope this removes some confusion in dealing with such patterns so you don't lose you sanity in trying to get the best party dialougs with Crono in various slots. This we use less commands which equals more workable space available in the ROM. (which of course is very precious!) ...AND it allows all players an event chance to speak. Groovy!
HAPPY HACKING!
Mwa ha ha ha ha ha!
Stay tuned for my next tutorial, which will cover advanced cutscenes with 5+ party members!!