• Welcome to Final Fantasy Hacktics. Please login or sign up.
 

ArkthePieKing's Events

Started by ArkthePieKing, September 01, 2013, 04:25:45 pm

ArkthePieKing

September 01, 2013, 04:25:45 pm Last Edit: September 08, 2013, 03:15:39 pm by Elric
So like the topic said, I made my first cutscene. I think I've got a vagueish grasp on event editing, though I didn't really mess with the camera controls at all. One thing I'm not exactly sure how to do though would be changing other cutscenes to other maps. For instance, if I wanted to use a map other than the tutorial map for the first scene, how would I do that? And if I were to change the map used for the first battle and scene, what would go into that? I'm also not sure on how to use different music. I'm really anxious to start digging my teeth into this project, but I still have such an elementary grasp on all the various tools, rules, and processes that my progress is slow because I'm not getting anything actually done. Anyway, here's the fruits of my labor. Not much to look at, but I'm proud of it.


3lric

Concerning your event:
Nice job so far, I like it. Though if you change Algus's dialogue to be x12 instead of x11 then it'll appear underneath him instead of appearing over him.
Really no other complaints beyond that, you seem to be getting the hang of this, which will make getting that proposal the way you want it about 1,000,000 times easier. Well done bud.

Concerning your questions:
In the attack.out GUI you can change the map and music, that's how it was set when doing my tutorial.

In Attack.out you need to make it jump to the next event as well. And since every event has a setup event it would look like this.

//This is an example of a Cutscene Event. (This is what you made)
Event 1 - Setup Offset(x00002000) - in attack.out #000 After event do "00"
Event 2 - Event Offset(x00004000) - in attack.out #001 After event do "Go to next Scenario" Next Scene 003

//This is an example of a Battle Event (You can link this to come after your scene)
Event 3 - Setup Offset(x00006000) - in attack.out #002 After event do "00"
Event 4 - Battle Offset(x00008000) - in attack.out #003 After event do "00"
Event 5 - Victory Offset(x0000A000) - in attack.out #004 After event do "Go to next Scenario" Next Scene 006

etc, etc, etc.


I Hope this makes sense, I know it takes a bit of time to grasp how it all works, but I'll try to answer your questions the best that I can
  • Modding version: PSX

Lijj

Keep it up Ark! It made me laugh and it's good to see you begin learning this stuff.
  • Modding version: PSX

ArkthePieKing

September 02, 2013, 04:11:27 am #3 Last Edit: September 02, 2013, 05:10:59 am by ArkthePieKing
Thanks for all the encouragement guys! I just took a crack at doing something a tad more complex. It...didn't turn out as well. It wasn't a disaster, but it's a work in progress. I'm having this odd issue with all of the units on blue team rotating instead of just Ramza, and the text looks really weird. Plus hyphens don't show in the text. And again, petrified of camera controls, but this time I did tell it to focus on Ramza at the beginning!

Oh, and Ramza and Agrias are just placeholders until I get further into production.

[youtube]4C2cNiAWKko[youtube]

So things I need to change to make this work:

-Ramza and Agrias need to start in the dead animation
-I need to learn how to make Skeletons run into the fight like in many fights
-The Cuar should teleport directly before Agrias starts talking about how familiar it looks.
-That weird rotating thing needs to be fixed.
-Camera could be more dynamic and interesting.
-Text needs cleaning up something fierce.

Help getting those things taken care of would be fantastic. Also as for the bigger picture, such as editing the world map, getting custom sprites, etc. Where would be a good place to post about the overall progress of the project?

Pride

{D11D} is for hyphens, so you're text would be like mother{D11D}in{D11D}law. Also your text page is three lines, which is why some of your boxes look very strange.
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

3lric

Quote from: ArkthePieKing on September 02, 2013, 04:11:27 am
-Ramza and Agrias need to start in the dead animation


Put Ramza and Agrias into the dead animation BEFORE the camera commands,
Put a Wait(00025) after these but before the Camera.

Quote from: ArkthePieKing on September 02, 2013, 04:11:27 am
-I need to learn how to make Skeletons run into the fight like in many fights


To make the skeletons come in from off screen, you will need to do a couple things, since you will potentially
have them all starting on the same spot. In your case being 01,11. Change all 3 Skeletons in this event to THOSE
starting coordinated in the ENTD (01,11) starting/initial). Also change 2 of them to NOT PRESENT.

This is a modified version of the Vanilla event command to make them walk in from off the map.
First off, about spritemove. It moves the image of the character, but not the data itself. So you always
want to reset the spritemove back to +00000,+00000,+00000 BEFORE you use a walkto command, or start a battle.

In this instance, we are going to move the Skeletons all back off of the map about 1/2 of a panel, make them dark,
then draw them in and lighten them up slowly as they walk onto the map.

FIRST, you need to put a Erase(xID,x00) BEFORE the camera, (put it with the group of Dead Anims for Ramza and Agrias)

Then you will put in this command:
(Note, you need to replace ID with the Unit's ID for this to work.)

SpriteMove(xID,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(xID,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(xID,x00)
ColorUnit(xID,x00,x08,+000,+000,+000,004)
SpriteMove(xID,x00,+00000,+00000,+00000,x00,x01,+00024)
WaitSpriteMove(xID,x00)
UnitAnim(xID,x00,x02,x00,x00)
Wait(00010)

After the Unit walks in, you will need to give them a walk to (since we reset the spritemove to 00000,00000,00000 which is the original
position of 01,11)

You may need to mess with this a tad to make the foot movement not look wonky when it switches from spritemove to walkto, but that
not usually a huge issue.

NOW once you've moved that first skeleton out of the way we will call in the 2nd one. This is a bit different since we need to set him to
Present first, so we use this command set:

AddUnitPrep()
UnitPresent(xID,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()

Put this after the 1st skeleton is done walking, and then after this command, you can repeat this command from earlier

SpriteMove(xID,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(xID,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(xID,x00)
ColorUnit(xID,x00,x08,+000,+000,+000,004)
SpriteMove(xID,x00,+00000,+00000,+00000,x00,x01,+00024)
WaitSpriteMove(xID,x00)
UnitAnim(xID,x00,x02,x00,x00)
Wait(00010)

Again replacing all ID's with the proper ID for that skeleton (this includes the UnitPresent Command)

This should have your skeletons walking in a much more proper manner.
Place a UnitAnim with animation 02 after the walk cycles are over as so:

WalkTo(xID,x00,XXX,YYY,x00,x00,+008,x01)
WaitWalk(xID,x00)
UnitAnim(xID,x00,x02,x00,x00)

And that should fix that issue.

Quote from: ArkthePieKing on September 02, 2013, 04:11:27 am
-The Cuar should teleport directly before Agrias starts talking about how familiar it looks.


To make the Cuar teleport in, in the ENTD, set him to the location you want him to teleport in at.
Also in the ENTD set him to Always Present.

Like with the Skeleton that was present before, you will need to put a Erase(xID,x00) for the Cuar
BEFORE the Camera command.

Now you can import this command set whenever you want him to teleport into that location, just make
sure no one is standing there :P

UnitAnim(xID,x00,x02,x00,x00)
ColorUnit(xID,x00,x04,+027,+031,+031,000)
Wait(00002)
Sound(x006A)
TeleportIn(xID,x00)
Draw(xID,x00)
ColorUnit(xID,x00,x08,+000,+000,+000,004)
Wait(00033)

This will give him a standing still animation, and a white fade in color with the teleporting in sound and graphic.

Quote from: ArkthePieKing on September 02, 2013, 04:11:27 am
-That weird rotating thing needs to be fixed.


Yeah, I'm not sure what you are doing here to make this happen. the ONLY things you should be using at that instance,
(besides maybe some Anims for Agrias to get up (I'll tell you how to make these transitions looks smoother later.))
are basic dialogue commands, which look like:

DisplayMessage(x10,x12,xMSG#,xID,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

x12 is for below the person
x11 is for above them.

It looks like you are putting a RotateUnit command in there that doesn't belong there.

Quote from: ArkthePieKing on September 02, 2013, 04:11:27 am
-Camera could be more dynamic and interesting.
-Text needs cleaning up something fierce.


For the camera I'd have to see your event script to help you.

For the text though, keep in mind that there is 3 lines per page. You essentially get 2 lines on the first page due to the
name and 3 on every following page.

Lines are broken up by {br} so ever 3 {br} you have is one page.


Help this was all of some help to you.
  • Modding version: PSX

ArkthePieKing

Elric, you're ridiculous. Of course all of that was helpful. You too Pride. I'm so glad the text looks better now (Except I forgot to fix the typo with the word 'Make'. Oops!)

Anyway, the scene looks quite a bit smoother now. I'm still having trouble with rotateunit rotating everyone on blue team instead of just Ramza, and I don't know how to fix it. As a result, I haven't bothered realigning the skeletons to actually face the party, but I'm not super worried about that. I also tried adding a 4th skeleton, but apparently did something wrong, so I'll have to check what went wrong there. Probably going to give them special names so I can at least keep track of them when I'm on my own.

Oh, and I went ahead and included some of the changes I'll be making to the actual gameplay, in case anyone was interested. It's all very rough, no text has been changed, but the animations and effects are in at least. I just need to toy with the numbers to get everything in order, but the basics are there.



Offset(x00008000)

Erase(x84,x00)
Erase(x03,x00)
Erase(x85,x00)
Erase(x86,x00)
Erase(x87,x00)
UnitAnim(x01,x00,x1A,x00,x00)

UnitAnim(x02,x00,x1A,x00,x00)
Wait(00025)

{63}(rC9)
Camera(+01000,+00000,+00615,+00302,+02560,+00000,+04096,+00001)
Camera(+01000,+00000,+00615,+00302,+02560,+00000,+04096,+00001)
{4D}(r78)
Camera(+01000,+00000,+00615,+00302,+02560,+00000,+04096,+00128)
WaitForInstruction(x04,x00)


{63}(rAA)
Focus(x01,x00,x01,x00,x00)
Camera(+00001,+01253,+04352,+00302,+00512,+00000,+04096,+00032)
WaitForInstruction(x04,x00)

UnitAnim(x01,x00,x24,x00,x00)

DisplayMessage(x10,x11,x0001,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

WalkTo(x01,x00,004,005,x00,x00,+008,x01)
WaitWalk(x01,x00)

RotateUnit(x01,x01,x03,x00,x00,000)

UnitAnim(x01,x00,x02,x00,x00)

DisplayMessage(x10,x11,x0002,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x02,x00,x24,x00,x00)

DisplayMessage(x10,x11,x0003,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x02,x00,x01,x00,x00)

RotateUnit(x01,x01,x0B,x00,x00,000)

DisplayMessage(x10,x11,x0004,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

DisplayMessage(x10,x11,x0005,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

RotateUnit(x01,x01,x03,x00,x00,000)

DisplayMessage(x10,x11,x0006,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

SpriteMove(x84,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x84,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x84,x00)
ColorUnit(x84,x00,x08,+000,+000,+000,004)
SpriteMove(x84,x00,+00000,+00000,+00000,x00,x01,+00024)
WaitSpriteMove(x84,x00)
UnitAnim(x84,x00,x02,x00,x00)
Wait(00010)

WalkTo(x84,x00,001,009,x00,x00,+008,x01)
WaitWalk(x84,x00)
UnitAnim(x84,x00,x02,x00,x00)

AddUnitPrep()
UnitPresent(x85,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()

SpriteMove(x85,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x85,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x85,x00)
ColorUnit(x85,x00,x08,+000,+000,+000,004)
SpriteMove(x85,x00,+00000,+00000,+00000,x00,x01,+00024)
WaitSpriteMove(x85,x00)
UnitAnim(x85,x00,x02,x00,x00)
Wait(00010)

WalkTo(x85,x00,004,010,x00,x00,+016,x01)
WaitWalk(x85,x00)*
UnitAnim(x85,x00,x02,x00,x00)

AddUnitPrep()
UnitPresent(x86,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()


SpriteMove(x86,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x86,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x86,x00)
ColorUnit(x86,x00,x08,+000,+000,+000,004)
SpriteMove(x86,x00,+00000,+00000,+00000,x00,x01,+00024)
WaitSpriteMove(x86,x00)
UnitAnim(x86,x00,x02,x00,x00)
Wait(00010)

WalkTo(x86,x00,002,010,x00,x00,+016,x01)
WaitWalk(x86,x00)
UnitAnim(x86,x00,x02,x00,x00)

AddUnitPrep()
UnitPresent(x87,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()

SpriteMove(x87,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x87,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x87,x00)
ColorUnit(x87,x00,x08,+000,+000,+000,004)
SpriteMove(x87,x00,+00000,+00000,+00000,x00,x01,+00024)
WaitSpriteMove(x87,x00)
UnitAnim(x87,x00,x02,x00,x00)
Wait(00010)

WalkTo(x87,x00,002,011,x00,x00,+008,x01)
WaitWalk(x87,x00)
UnitAnim(x87,x00,x02,x00,x00)

DisplayMessage(x10,x11,x0007,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x03,x00,x3C,x00,x00)

UnitAnim(x03,x00,x2A,x00,x00)

UnitAnim(x03,x00,x02,x00,x00)
ColorUnit(x03,x00,x04,+027,+031,+031,000)
Wait(00002)
Sound(x006A)
TeleportIn(x03,x00)
Draw(x03,x00)
ColorUnit(x03,x00,x08,+000,+000,+000,004)
Wait(00033)

DisplayMessage(x10,x11,x0008,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

DisplayMessage(x10,x11,x0009,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)





EventEnd()

//INSTRUCTION SECTION END -  TEXT START
//Message x01
{font:08}{Ramza}{br}
{font:00}Ugh{br}
Where...where are we?{br}
This...this isn't Athas.{br}
There's life here.{br}
Abundantly so.{br}
And where's...great.{br}
We get seperated and{br}
I get stuck with her.{br}
*Sigh* Okay. Time to{br}
Make the most of it.{br}
{end}

//Message x02
{font:08}{Ramza}{br}
{font:00}You. Get up.{br}
{end}

//Message x03
{font:08}Zaida{br}
{font:00}Huh? W{D11D}where are we?{br}
My head...I{D11D}I can't remember...{end}

//Message x04
{font:08}{Ramza}{br}
{font:00}Yeah, yeah, I can't{br}
remember either. We're{br}
seperated from Run and{br}
Malone. As far as I know{br}
Tak'tha is still doing{br}
research on the rune gate,{br}
but we{D11D}
{end}

//Message x05
{font:08}Zaida{br}
{font:00}Seperated? Run, {br}
Malone, who are they?{br}
And you for that matter?{br}
And...who am I...?{end}

//Message x06
{font:08}{Ramza}{br}
{font:00}You're joking. Great.{br}
Just great. Listen up.{br}
We've been travelling{br}
Athas trying to undermine{br}
the power of the{br}
Sorcerer{D11D}Kings and{br}
the Templars. {br}
After Tak'tha {br}
miscalibrated the{br}
runes on that gate{br}
we got catapaulted{br}
here...wherever{br}
here is. At any{br}
rate we need to{D11D}{end}

//Message x07
{font:08}{Ramza}{br}
{font:00}Fantastic.{br}
Just my luck. Stop{br}
gawking and get{br}
ready. Your name{br}
is Zaida, and you're{br}
the last servant of the{br}
old Gods, so start{br}
acting like it. I'm not{br}
going to be able to do{br}
this alone.{end}

//Message x08
{font:08}Zaida{br}
{font:00}This creature...{br}
It seems familiar...{end}

//Message x09
{font:08}{Ramza}{br}
{font:00}That's because{br}
it's a part of your spirit.{br}
He'll obey your every{br}
thought. Now get ready!{end}



3lric

Try this

Offset(x00008000)

Erase(x84,x00)
Erase(x03,x00)
Erase(x85,x00)
Erase(x86,x00)
Erase(x87,x00)
UnitAnim(x01,x00,x1A,x00,x00)

UnitAnim(x02,x00,x1A,x00,x00)
Wait(00025)

{63}(rC9)
Camera(+00700,+00000,+00650,+00302,+02560,+00000,+04096,+00001)
Camera(+00700,+00000,+00650,+00302,+02560,+00000,+04096,+00001)
{4D}(r78)
Camera(+00700,+00000,+00650,+00302,+02560,+00000,+04096,+00128)
WaitForInstruction(x04,x00)

Wait(00060)

UnitAnim(x01,x00,x24,x00,x00)

DisplayMessage(x10,x11,x0001,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

WalkTo(x01,x00,004,005,x00,x00,+008,x01)
WaitWalk(x01,x00)

RotateUnit(x01,x00,x03,x00,x00,000)

UnitAnim(x01,x00,x02,x00,x00)

DisplayMessage(x10,x11,x0002,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x02,x00,x24,x00,x00)

DisplayMessage(x10,x11,x0003,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x02,x00,x01,x00,x00)

RotateUnit(x01,x00,x0B,x00,x00,000)

DisplayMessage(x10,x11,x0004,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

DisplayMessage(x10,x11,x0005,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

RotateUnit(x01,x00,x03,x00,x00,000)

DisplayMessage(x10,x11,x0006,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

SpriteMove(x84,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x84,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x84,x00)
ColorUnit(x84,x00,x08,+000,+000,+000,004)
SpriteMove(x84,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x84,x00)
UnitAnim(x84,x00,x02,x00,x00)
Wait(00010)

WalkTo(x84,x00,001,009,x00,x00,+008,x01)
WaitWalk(x84,x00)
UnitAnim(x84,x00,x02,x00,x00)

AddUnitPrep()
UnitPresent(x85,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()

SpriteMove(x85,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x85,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x85,x00)
ColorUnit(x85,x00,x08,+000,+000,+000,004)
SpriteMove(x85,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x85,x00)
UnitAnim(x85,x00,x02,x00,x00)
Wait(00010)

WalkTo(x85,x00,004,010,x00,x00,+016,x01)
WaitWalk(x85,x00)*
UnitAnim(x85,x00,x02,x00,x00)

AddUnitPrep()
UnitPresent(x86,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()


SpriteMove(x86,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x86,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x86,x00)
ColorUnit(x86,x00,x08,+000,+000,+000,004)
SpriteMove(x86,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x86,x00)
UnitAnim(x86,x00,x02,x00,x00)
Wait(00010)

WalkTo(x86,x00,002,010,x00,x00,+016,x01)
WaitWalk(x86,x00)
UnitAnim(x86,x00,x02,x00,x00)

AddUnitPrep()
UnitPresent(x87,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()

SpriteMove(x87,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x87,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x87,x00)
ColorUnit(x87,x00,x08,+000,+000,+000,004)
SpriteMove(x87,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x87,x00)
UnitAnim(x87,x00,x02,x00,x00)
Wait(00010)

WalkTo(x87,x00,002,011,x00,x00,+008,x01)
WaitWalk(x87,x00)
UnitAnim(x87,x00,x02,x00,x00)

DisplayMessage(x10,x11,x0007,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x03,x00,x3C,x00,x00)

UnitAnim(x03,x00,x2A,x00,x00)

UnitAnim(x03,x00,x02,x00,x00)
ColorUnit(x03,x00,x04,+027,+031,+031,000)
Wait(00002)
Sound(x006A)
TeleportIn(x03,x00)
Draw(x03,x00)
ColorUnit(x03,x00,x08,+000,+000,+000,004)
Wait(00033)

DisplayMessage(x10,x11,x0008,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

DisplayMessage(x10,x11,x0009,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)





EventEnd()

//INSTRUCTION SECTION END -  TEXT START
//Message x01
{font:08}{Ramza}{br}
{font:00}Ugh{br}
Where...where are we?{br}
This...this isn't Athas.{br}
There's life here.{br}
Abundantly so.{br}
And where's...great.{br}
We get seperated and{br}
I get stuck with her.{br}
*Sigh* Okay. Time to{br}
Make the most of it.{br}
{end}

//Message x02
{font:08}{Ramza}{br}
{font:00}You. Get up.{br}
{end}

//Message x03
{font:08}Zaida{br}
{font:00}Huh? W{D11D}where are we?{br}
My head...I{D11D}I can't remember...{end}

//Message x04
{font:08}{Ramza}{br}
{font:00}Yeah, yeah, I can't{br}
remember either. We're{br}
seperated from Run and{br}
Malone. As far as I know{br}
Tak'tha is still doing{br}
research on the rune gate,{br}
but we{D11D}
{end}

//Message x05
{font:08}Zaida{br}
{font:00}Seperated? Run, {br}
Malone, who are they?{br}
And you for that matter?{br}
And...who am I...?{end}

//Message x06
{font:08}{Ramza}{br}
{font:00}You're joking. Great.{br}
Just great. Listen up.{br}
We've been travelling{br}
Athas trying to undermine{br}
the power of the{br}
Sorcerer{D11D}Kings and{br}
the Templars. {br}
After Tak'tha {br}
miscalibrated the{br}
runes on that gate{br}
we got catapaulted{br}
here...wherever{br}
here is. At any{br}
rate we need to{D11D}{end}

//Message x07
{font:08}{Ramza}{br}
{font:00}Fantastic.{br}
Just my luck. Stop{br}
gawking and get{br}
ready. Your name{br}
is Zaida, and you're{br}
the last servant of the{br}
old Gods, so start{br}
acting like it. I'm not{br}
going to be able to do{br}
this alone.{end}

//Message x08
{font:08}Zaida{br}
{font:00}This creature...{br}
It seems familiar...{end}

//Message x09
{font:08}{Ramza}{br}
{font:00}That's because{br}
it's a part of your spirit.{br}
He'll obey your every{br}
thought. Now get ready!{end}


Forgot to fix the spritemove time to 14 from 24, thats was my fault

Also, you had ,01 as the second byte in your rotate which actually effects all the people on your team.

Try this out, i also changed the camera, and took out the focus, just edit those initial cameras until you get the desired result
camer goes X,Z,Y so only worry bout the first and third set of numbers

Also added a wait after the initial camera to let it fade in a bit more before stuff starts to happen
  • Modding version: PSX

ArkthePieKing

Yeah, it's coming together really smoothly. I honestly don't see much of a need to change the camera from where it's set now, so that's fine. I may change it in the future to get something more interesting and dynamic. The animations are all pretty okay now. The skeletons look a bit funny, but I think I'll leave it that way. Sort of makes them look decrepit. Next on the agenda is the battle conditions and victory screens! Unfortunately, I have 0 idea how to do those. Also since I'm almost done with this scene aside from some polishing aspects, I'm not sure how to get the rest of the project in order.

Changing the world map (just minor things), getting this to go to the world map after the battle instead of to the military acadamy, etc. Once I get those down it should be really smooth sailing afterwards.

3lric

The other stuff I can try to help you with later, for now.

Remove your EventEnd()

And put this in it's place:

{1C}(r02)
{1D}()
{1E}()
DarkScreen(x00,x01,012,064,x00,004)
WaitForInstruction(x36,x00)
DisplayConditions(x08,090)
WaitForInstruction(x38,x00)
Camera(+01144,-00460,+00504,+00302,+03584,+00000,+04096,+00001)
WaitForInstruction(x04,x00)
DisplayConditions(x00,060)
WaitForInstruction(x38,x00)
RemoveDarkScreen()
WaitForInstruction(x36,x00)
{1C}(r01)
March(x00,x00,000)
{63}(rA8)
EventEnd()
  • Modding version: PSX

ArkthePieKing

September 02, 2013, 08:53:53 pm #10 Last Edit: September 02, 2013, 10:53:37 pm by ArkthePieKing
Made the changes you said Elric. Didn't notice a change at the end of the battle. It should probably be noted that I'm altering the Orbonne Battle at the beginning of the game, so it tries to play the kidnapping scene afterwards. I haven't made any changes to that or or it's ATTACK.OUT file, so I probably just need to change the go to next scene selection, or something. Not super familiar with any of that.

However, I did finish the names and descriptions of the jobs, skillsets, and skills! :D

Offset(x00008000)

Erase(x84,x00)
Erase(x03,x00)
Erase(x85,x00)
Erase(x86,x00)
Erase(x87,x00)
UnitAnim(x01,x00,x1A,x00,x00)

UnitAnim(x02,x00,x1A,x00,x00)
Wait(00025)

{63}(rC9)
Camera(+00700,+00000,+00650,+00302,+02560,+00000,+04096,+00001)
Camera(+00700,+00000,+00650,+00302,+02560,+00000,+04096,+00001)
{4D}(r78)
Camera(+00700,+00000,+00650,+00302,+02560,+00000,+04096,+00128)
WaitForInstruction(x04,x00)

Wait(00060)

UnitAnim(x01,x00,x24,x00,x00)

DisplayMessage(x10,x11,x0001,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

WalkTo(x01,x00,004,005,x00,x00,+008,x01)
WaitWalk(x01,x00)

RotateUnit(x01,x00,x03,x00,x00,000)

UnitAnim(x01,x00,x02,x00,x00)

DisplayMessage(x10,x11,x0002,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x02,x00,x24,x00,x00)

DisplayMessage(x10,x11,x0003,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x02,x00,x01,x00,x00)

RotateUnit(x01,x00,x0B,x00,x00,000)

DisplayMessage(x10,x11,x0004,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

DisplayMessage(x10,x11,x0005,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

RotateUnit(x01,x00,x03,x00,x00,000)

DisplayMessage(x10,x11,x0006,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

SpriteMove(x84,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x84,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x84,x00)
ColorUnit(x84,x00,x08,+000,+000,+000,004)
SpriteMove(x84,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x84,x00)
UnitAnim(x84,x00,x02,x00,x00)
Wait(00010)

WalkTo(x84,x00,001,009,x00,x00,+008,x01)
WaitWalk(x84,x00)
UnitAnim(x84,x00,x02,x00,x00)

AddUnitPrep()
UnitPresent(x85,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()

SpriteMove(x85,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x85,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x85,x00)
ColorUnit(x85,x00,x08,+000,+000,+000,004)
SpriteMove(x85,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x85,x00)
UnitAnim(x85,x00,x02,x00,x00)
Wait(00010)

WalkTo(x85,x00,004,010,x00,x00,+016,x01)
WaitWalk(x85,x00)*
UnitAnim(x85,x00,x02,x00,x00)

RotateUnit(x85,x00,x0F,x00,x00,000)
WaitRotateUnit(x85,x00)

AddUnitPrep()
UnitPresent(x86,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()


SpriteMove(x86,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x86,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x86,x00)
ColorUnit(x86,x00,x08,+000,+000,+000,004)
SpriteMove(x86,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x86,x00)
UnitAnim(x86,x00,x02,x00,x00)
Wait(00010)

WalkTo(x86,x00,002,010,x00,x00,+016,x01)
WaitWalk(x86,x00)
UnitAnim(x86,x00,x02,x00,x00)

RotateUnit(x86,x00,x0F,x00,x00,000)
WaitRotateUnit(x86,x00)

AddUnitPrep()
UnitPresent(x87,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()

SpriteMove(x87,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x87,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x87,x00)
ColorUnit(x87,x00,x08,+000,+000,+000,004)
SpriteMove(x87,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x87,x00)
UnitAnim(x87,x00,x02,x00,x00)
Wait(00010)

WalkTo(x87,x00,002,011,x00,x00,+008,x01)
WaitWalk(x87,x00)
UnitAnim(x87,x00,x02,x00,x00)

RotateUnit(x87,x00,x0F,x00,x00,000)
WaitRotateUnit(x87,x00)

RotateUnit(x01,x00,x07,x00,x00,000)
WaitRotateUnit(x01,x00)

RotateUnit(x02,x00,x07,x00,x00,000)
WaitRotateUnit(x02,x00)

RotateUnit(x03,x00,x07,x00,x00,000)
WaitRotateUnit(x03,x00)
DisplayMessage(x10,x11,x0007,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x03,x00,x3C,x00,x00)

UnitAnim(x03,x00,x2A,x00,x00)

UnitAnim(x03,x00,x02,x00,x00)
ColorUnit(x03,x00,x04,+027,+031,+031,000)
Wait(00002)
Sound(x006A)
TeleportIn(x03,x00)
Draw(x03,x00)
ColorUnit(x03,x00,x08,+000,+000,+000,004)
Wait(00033)

DisplayMessage(x10,x11,x0008,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

DisplayMessage(x10,x11,x0009,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

{1C}(r02)
{1D}()
{1E}()
DarkScreen(x00,x01,012,064,x00,004)
WaitForInstruction(x36,x00)
DisplayConditions(x08,090)
WaitForInstruction(x38,x00)
Camera(+01144,-00460,+00504,+00302,+03584,+00000,+04096,+00001)
WaitForInstruction(x04,x00)
DisplayConditions(x00,060)
WaitForInstruction(x38,x00)
RemoveDarkScreen()
WaitForInstruction(x36,x00)
{1C}(r01)
March(x00,x00,000)
{63}(rA8)
EventEnd()

//INSTRUCTION SECTION END -  TEXT START
//Message x01
{font:08}{Ramza}{br}
{font:00}Ugh{br}
Where...where are we?{br}
This...this isn't Athas.{br}
There's life here.{br}
Abundantly so.{br}
And where's...great.{br}
We get seperated and{br}
I get stuck with her.{br}
*Sigh* Okay. Time to{br}
make the most of it.{br}
{end}

//Message x02
{font:08}{Ramza}{br}
{font:00}You. Get up.{br}
{end}

//Message x03
{font:08}Zaida{br}
{font:00}Huh? W{D11D}where are we?{br}
My head...I{D11D}I can't remember...{end}

//Message x04
{font:08}{Ramza}{br}
{font:00}Yeah, yeah, I can't{br}
remember either. We're{br}
seperated from Run and{br}
Malone. As far as I know{br}
Tak'tha is still doing{br}
research on the rune gate,{br}
but we{D11D}
{end}

//Message x05
{font:08}Zaida{br}
{font:00}Seperated? Run, {br}
Malone, who are they?{br}
And you for that matter?{br}
And...who am I...?{end}

//Message x06
{font:08}{Ramza}{br}
{font:00}You're joking. Great.{br}
Just great. Listen up.{br}
We've been travelling{br}
Athas trying to undermine{br}
the power of the{br}
Sorcerer{D11D}Kings and{br}
the Templars. {br}
After Tak'tha {br}
miscalibrated the{br}
runes on that gate{br}
we got catapaulted{br}
here...wherever{br}
here is. At any{br}
rate we need to{D11D}{end}

//Message x07
{font:08}{Ramza}{br}
{font:00}Fantastic.{br}
Just my luck. Stop{br}
gawking and get{br}
ready. Your name{br}
is Zaida, and you're{br}
the last servant of the{br}
old Gods, so start{br}
acting like it. I'm not{br}
going to be able to do{br}
this alone.{end}

//Message x08
{font:08}Zaida{br}
{font:00}This creature...{br}
It seems familiar...{end}

//Message x09
{font:08}{Ramza}{br}
{font:00}That's because{br}
it's a part of your spirit.{br}
He'll obey your every{br}
thought. Now get ready!{end}

3lric

You will need to setup a 3rd event, as I mentioned above

1. Setup
2. Battle
3. Victory

What i gave you was the battle conditions, you will need to have another event that plays when the victory is triggered
  • Modding version: PSX

ArkthePieKing

September 03, 2013, 12:13:45 am #12 Last Edit: September 03, 2013, 03:13:44 am by ArkthePieKing
Derp. I'm an idiot. It's working perfectly, Juzma helped me set up the victory screen as well. I'll post a video when the lady isn't home with both changes, and the changes to job/skillset/ability names and descriptions too. :D



Edit: Went ahead and made that video. Some of the descriptions need to be fixed (Furious Growth's range/effect and the Divine Strike being a copy of Furious Growth for some reason. Spacing is also weird, and Jago's abilities are missing information I need to add.) But progress is being made steadily and happily. And as you guys can see, I successfully(?) made it to the world map! H-hooray! Yeah I'll be needing some help on that one. Also to get the party into the party screen. I tried checking the join after battle flag in FFTPatcher, but it didn't work. Oh, and suffice to say Braze Story is having all kinds of weird errors. It kind of makes me giggle.

ArkthePieKing



Sorry. Saw that and it summed up exactly how I feel, ha ha.

Managed to get the world map working with Jumza's help. I also tried fiddling around with the order of things and making the game skip over Orbonne and the Military Acadamy and jump straight into the Garland fight, but that's causing it's own complications. It goes to a formation screen before the event, and there's a lone Ramza dancing in the corner in addition to the one used in the scene. I flagged save formation/load formation in FFTPatcher, but it didn't seem to have any effect. And even when flagged to join after, Agrias and the Cuar still don't join. So...Tons of little things that probably just need minor tweaks. Honestly I think it was less broken before I went over changed everything to Garland Magic City. Not sure what direction to take things now.

3lric

I know why some of this is happening. However i wont be able to type it out until after work. In about 8 hours.

EDIT: You derped something in the ENTD, Ramza should NOT be in the ENTD for the actual battle, since he is called by formation, you don't need to set Save or Load formation
since he is already REQUIRED for the battle :P  (thats mostly just for Guests, like Delita. OR if you have a battle without a formation screen)

Also, you will need to post your event, it all depends where you got the event from, or the end battle coding, since certain commands are necessary for there to be a unit join screen after the event/battle. Units also join differently if done via battle or event.

So lets start with fixing these things first.
  • Modding version: PSX

ArkthePieKing

Well I definitely don't want there to be a formation screen, but Jumza just sent me a PM showing me how to get rid of that through ATTACK.OUT, so I should be able to leave Ramza in the ENTD right? After I removed the formation screen it fixed the double Ramza thing anyway, though it's still using starting Ramza rather than the one I set in the ENTD. Can that be fixed by messing around with the save/load formation in the ENTD?

Offset(x00014000)

Erase(x84,x00)
Erase(x03,x00)
Erase(x85,x00)
Erase(x86,x00)
Erase(x87,x00)
UnitAnim(x01,x00,x1A,x00,x00)

UnitAnim(x02,x00,x1A,x00,x00)
Wait(00025)

{63}(rC9)
Camera(+00700,+00000,+00650,+00302,+02560,+00000,+04096,+00001)
Camera(+00700,+00000,+00650,+00302,+02560,+00000,+04096,+00001)
{4D}(r78)
Camera(+00700,+00000,+00650,+00302,+02560,+00000,+04096,+00128)
WaitForInstruction(x04,x00)

Wait(00060)

UnitAnim(x01,x00,x24,x00,x00)

DisplayMessage(x10,x11,x0001,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

WalkTo(x01,x00,004,005,x00,x00,+008,x01)
WaitWalk(x01,x00)

RotateUnit(x01,x00,x03,x00,x00,000)

UnitAnim(x01,x00,x02,x00,x00)

DisplayMessage(x10,x11,x0002,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x02,x00,x24,x00,x00)

DisplayMessage(x10,x11,x0003,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x02,x00,x01,x00,x00)

RotateUnit(x01,x00,x0B,x00,x00,000)

DisplayMessage(x10,x11,x0004,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

DisplayMessage(x10,x11,x0005,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

RotateUnit(x01,x00,x03,x00,x00,000)

DisplayMessage(x10,x11,x0006,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

SpriteMove(x84,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x84,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x84,x00)
ColorUnit(x84,x00,x08,+000,+000,+000,004)
SpriteMove(x84,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x84,x00)
UnitAnim(x84,x00,x02,x00,x00)
Wait(00010)

WalkTo(x84,x00,001,009,x00,x00,+008,x01)
WaitWalk(x84,x00)
UnitAnim(x84,x00,x02,x00,x00)

AddUnitPrep()
UnitPresent(x85,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()

SpriteMove(x85,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x85,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x85,x00)
ColorUnit(x85,x00,x08,+000,+000,+000,004)
SpriteMove(x85,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x85,x00)
UnitAnim(x85,x00,x02,x00,x00)
Wait(00010)

WalkTo(x85,x00,004,010,x00,x00,+016,x01)
WaitWalk(x85,x00)*
UnitAnim(x85,x00,x02,x00,x00)

RotateUnit(x85,x00,x0F,x00,x00,000)
WaitRotateUnit(x85,x00)

AddUnitPrep()
UnitPresent(x86,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()


SpriteMove(x86,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x86,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x86,x00)
ColorUnit(x86,x00,x08,+000,+000,+000,004)
SpriteMove(x86,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x86,x00)
UnitAnim(x86,x00,x02,x00,x00)
Wait(00010)

WalkTo(x86,x00,002,010,x00,x00,+016,x01)
WaitWalk(x86,x00)
UnitAnim(x86,x00,x02,x00,x00)

RotateUnit(x86,x00,x0F,x00,x00,000)
WaitRotateUnit(x86,x00)

AddUnitPrep()
UnitPresent(x87,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()

SpriteMove(x87,x00,+00000,+00000,+00014,x00,x01,+00000)
ColorUnit(x87,x00,x01,-006,-004,-002,000)
Wait(00002)
Draw(x87,x00)
ColorUnit(x87,x00,x08,+000,+000,+000,004)
SpriteMove(x87,x00,+00000,+00000,+00000,x00,x01,+00014)
WaitSpriteMove(x87,x00)
UnitAnim(x87,x00,x02,x00,x00)
Wait(00010)

WalkTo(x87,x00,002,011,x00,x00,+008,x01)
WaitWalk(x87,x00)
UnitAnim(x87,x00,x02,x00,x00)

RotateUnit(x87,x00,x0F,x00,x00,000)
WaitRotateUnit(x87,x00)

RotateUnit(x01,x00,x07,x00,x00,000)
WaitRotateUnit(x01,x00)

RotateUnit(x02,x00,x07,x00,x00,000)
WaitRotateUnit(x02,x00)

RotateUnit(x03,x00,x07,x00,x00,000)
WaitRotateUnit(x03,x00)
DisplayMessage(x10,x11,x0007,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x03,x00,x3C,x00,x00)

UnitAnim(x03,x00,x2A,x00,x00)

UnitAnim(x03,x00,x02,x00,x00)
ColorUnit(x03,x00,x04,+027,+031,+031,000)
Wait(00002)
Sound(x006A)
TeleportIn(x03,x00)
Draw(x03,x00)
ColorUnit(x03,x00,x08,+000,+000,+000,004)
Wait(00033)

DisplayMessage(x10,x11,x0008,x02,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

DisplayMessage(x10,x11,x0009,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

{1C}(r02)
{1D}()
{1E}()
DarkScreen(x00,x01,012,064,x00,004)
WaitForInstruction(x36,x00)
DisplayConditions(x08,090)
WaitForInstruction(x38,x00)
Camera(+01144,-00460,+00504,+00302,+03584,+00000,+04096,+00001)
WaitForInstruction(x04,x00)
DisplayConditions(x00,060)
WaitForInstruction(x38,x00)
RemoveDarkScreen()
WaitForInstruction(x36,x00)
{1C}(r01)
March(x00,x00,000)
{63}(rA8)
EventEnd()

//INSTRUCTION SECTION END -  TEXT START
//Message x01
{font:08}{Ramza}{br}
{font:00}Ugh{br}
Where...where are we?{br}
This...this isn't Athas.{br}
There's life here.{br}
Abundantly so.{br}
And where's...great.{br}
We get seperated and{br}
I get stuck with her.{br}
*Sigh* Okay. Time to{br}
make the most of it.{br}
{end}

//Message x02
{font:08}{Ramza}{br}
{font:00}You. Get up.{br}
{end}

//Message x03
{font:08}Zaida{br}
{font:00}Huh? W{D11D}where are we?{br}
My head...I{D11D}I can't remember...{end}

//Message x04
{font:08}{Ramza}{br}
{font:00}Yeah, yeah, I can't{br}
remember either. We're{br}
seperated from Run and{br}
Malone. As far as I know{br}
Tak'tha is still doing{br}
research on the rune gate,{br}
but we{D11D}
{end}

//Message x05
{font:08}Zaida{br}
{font:00}Seperated? Run, {br}
Malone, who are they?{br}
And you for that matter?{br}
And...who am I...?{end}

//Message x06
{font:08}{Ramza}{br}
{font:00}You're joking. Great.{br}
Just great. Listen up.{br}
We've been travelling{br}
Athas trying to undermine{br}
the power of the{br}
Sorcerer{D11D}Kings and{br}
the Templars. {br}
After Tak'tha {br}
miscalibrated the{br}
runes on that gate{br}
we got catapaulted{br}
here...wherever{br}
here is. At any{br}
rate we need to{D11D}{end}

//Message x07
{font:08}{Ramza}{br}
{font:00}Fantastic.{br}
Just my luck. Stop{br}
gawking and get{br}
ready. Your name{br}
is Zaida, and you're{br}
the last servant of the{br}
old Gods, so start{br}
acting like it. I'm not{br}
going to be able to do{br}
this alone.{end}

//Message x08
{font:08}Zaida{br}
{font:00}This creature...{br}
It seems familiar...{end}

//Message x09
{font:08}{Ramza}{br}
{font:00}That's because{br}
it's a part of your spirit.{br}
He'll obey your every{br}
thought. Now get ready!{end}


Offset(x00016000)
UnitAnim(x01,x01,x02,x00,x00)

Zero(x021A)
ADD(x021A,x0001)
Zero(x0209)
ADD(x0209,x0001)
Zero(x0237)
ADD(x0237,x0001)
Zero(x0281)
ADD(x0281,x0001)
Zero(x0270)
Zero(x0069)
ADD(x0069,x0001)
ZERO(x0031)
ADD(x0031,x001A)

DisplayMessage(x10,x11,x0001,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)
Wait(00030)
{60}(r001E)
Wait(00030)
Wait(00010)
{1C}(r02)
DarkScreen(x00,x01,012,064,x00,004)
WaitForInstruction(x36,x00)
DisplayConditions(x02,060)
WaitForInstruction(x38,x00)
DisplayConditions(x03,060)
WaitForInstruction(x38,x00)
DisplayConditions(x04,060)
WaitForInstruction(x38,x00)
DisplayConditions(x05,060)
WaitForInstruction(x38,x00)
DisplayConditions(x06,060)
WaitForInstruction(x38,x00)
DisplayConditions(x07,060)
WaitForInstruction(x38,x00)
RemoveDarkScreen()
Wait(00150)
{1C}(r01)
{49}()
{82}()
AddUnitStart()
Wait(00080)
{60}(r003C)
{3E}(r02000000FFFFFF3C00)
Wait(00075)
EventEnd()

//Message x01
{font:08}{Ramza}{br}
{font:00}
Come on. We need to move.{end}


Offset(x00018000)
UnitAnim(x01,x01,x02,x00,x00)

Zero(x021A)
ADD(x021A,x0001)
Zero(x0209)
ADD(x0209,x0001)
Zero(x0237)
ADD(x0237,x0001)
Zero(x0281)
ADD(x0281,x0001)
Zero(x0270)
Zero(x0069)
ADD(x0069,x0001)
ZERO(x0031)
ADD(x0031,x001A)

DisplayMessage(x10,x11,x0001,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)
Wait(00030)
{60}(r001E)
Wait(00030)
Wait(00010)
{1C}(r02)
DarkScreen(x00,x01,012,064,x00,004)
WaitForInstruction(x36,x00)
DisplayConditions(x02,060)
WaitForInstruction(x38,x00)
DisplayConditions(x03,060)
WaitForInstruction(x38,x00)
DisplayConditions(x04,060)
WaitForInstruction(x38,x00)
DisplayConditions(x05,060)
WaitForInstruction(x38,x00)
DisplayConditions(x06,060)
WaitForInstruction(x38,x00)
DisplayConditions(x07,060)
WaitForInstruction(x38,x00)
RemoveDarkScreen()
Wait(00150)
{1C}(r01)
{49}()
{82}()
AddUnitStart()
Wait(00080)
{60}(r003C)
{3E}(r02000000FFFFFF3C00)
Wait(00075)
EventEnd()

//Message x01
{font:08}{Ramza}{br}
{font:00}
Come on. We need to move.{end}


I realize I've got the victory screen posted there twice, but that's because I accidentally wrote it to the wrong offset first, and after changing it it hasn't really caused any issues so I just left it there.

3lric

To change Ramza's starting gear, you will need to use Raven's Workbooks, there is an ASM in there to change the starting Ramza.

Intro to battle is fine, thought you have a camera issue in the conditions, and this mustve
been something i gave someone, since it is actually the camera and setup for my Bariaus Hill event from Jot5 xD

Change that camera from:
Camera(+01144,-00460,+00504,+00302,+03584,+00000,+04096,+00001)
to:
Camera(+00700,+00000,+00650,+00302,+02560,+00000,+04096,+00001)

Also, you have me confused, why are there 2 victory events here? you have one for offsets 16000 and 18000, thats the same event O_o
  • Modding version: PSX

ArkthePieKing

Mmkay. I'll look into doing that. I was hoping to avoid messing with ASM if possible, but I suppose it's inevitable at this point!

The reason there's 2 victory events is I accidentally wrote the event to 16000 and victory to 18000. When I did that it still attempted to play the script from the original Gariland event, so I shifted them back to 14000 and 16000, leaving a duplicate victory event in 18000. Like I said it hasn't caused any problems, so I just left it there.

3lric

well see, here's the thing. Garland has a event condition, which requires another event. So you are actually ending the event on that rather than the victory event.
Unless I've missed something or I'm completely mistaken.

---------------------------

Battles that have conditions actually go like this

1. Setup
2. Battle (the main battle)
3. Condition (mid battle/optional dialogue)
4. Victory (victory event where the rewards are acquired/new members join)

There can be more than 1 condition as well, but this was just an example.

---------------------------

I can't see any other reason why people wouldn't be joining afterward. You do have them set to Join after event (and nothing else like save formation) right?
I'll think on this some more after a quick nap.
  • Modding version: PSX

ArkthePieKing

Nope. Agrias has the control, always present, immortal, female, and join after event flags. The Cuar has immortal, always present, join after event, and monster flags. I erased the event in offset 16000 so there's the story/battle in 14000, a blank event in 16000, and the victory/ending in 18000. Then it goes to Ramza alone in the world map.