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

How to reassign event slots

Started by Xifanie, June 22, 2010, 11:20:46 am

Xifanie

June 22, 2010, 11:20:46 am Last Edit: June 22, 2011, 04:54:12 pm by Xifanie
MESSING WITH EVENTS

º World Instructions
Allows to loads scenario slots, as editable in the ATTACK.OUT Editor.
For example this world instruction at Murond Holy Place:
0100 6E00 3400  1900 B901 0200If Value (0x0001) "Storyline progression" (0x006E) is equal to 0x0034, load scenario (0x0019) 0x01B9.



º ATTACK.OUT Editor
    Version 1.02 and older's scenario lists are wrong. They are supposed to start with 001 and not 000.
    So if you set your event to 0x01B9 in the World Instructions, edit the scenario slot 0x01B8.

Here the value "Event Script" in version 1.02 & older or "Event Conditions" in earlier version allows you
to set a slot which you can edit in the "Event Conditions spreadsheet"


º Event Conditions
This actually tells which TEST.EVT slot to load under specific circumstances, AND the main event slot.
For Example here is slot 0x0084 which is originally used by "Outside of St. Murond Temple":
0100 FD01 0100  1900 BC01If Value (0x0001) 0x01FD is equal to 0x0001, then load TEST.EVT slot (0x0019) 0x01BC

0100 8000 0000  1600  1900 BD01If Value (0x0001) 0x0080 is equal to 0x0000, and If All enemies are defeated (0x0016) then load TEST.EVT (0x0019) slot 0x01BD


0x01FD is set to 0 after the event is loaded so that it does not repeat itself.


º TEST.EVT
The actual events. Just use the Event Compiler/Decompiler.
If for instance the Decompiler did not create a file for the TEST.EVT slot you want to edit,
just copy another event and change the offset. Like if you want the slot 0x0009, take 0x0008's offset,
add 0x2000 and voilà. Offset(x00010000) + 0x2000 = Offset(x00012000)
Save and compile that event.


To be honest, I wrote this pretty much for myself because I had discovered the procedure but completely forgot how to... it's not actually that easy to remember when you have to mess with 4 different locations in 3 different files.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Xifanie

The TEST.EVT "dummy events" like we used to call them seems to be completely useless at best, meaning we have no reason not to overwrite them with actual real events.

EDIT: Like LD said, each event still requires one scenario slot.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Xifanie

August 03, 2010, 10:22:10 pm #2 Last Edit: February 10, 2011, 11:03:14 pm by Eternal248
Example of the links between everything

WORLD INSTRUCTIONS

[attachment=2:3s3jjn3g]event_tut1.png[/attachment:3s3jjn3g]
Bervenia Free City
0100 6E00 2A00  1900 4F01 0100
If Value (0x0001) 0x006E (Story Progression) = 0x002A
> Load Scenario (0x0019) 0x014F; 0x0001 (?)


ATTACK.OUT

[attachment=1:3s3jjn3g]event_tut2.png[/attachment:3s3jjn3g]
Event Condition = 0x6A


EVENT CONDITIONS

[attachment=0:3s3jjn3g]event_tut3.png[/attachment:3s3jjn3g]
Notes:
Unit 0x002F = Miluda
Unit 0x0003 = Ch4 Ramza

0100 FD01 0100  1900 5001If Value (0x0001) 0x01FD = 0x0001
> Load Event (0x0019) 0x0150 Bervenia Free City (Meliadoul Battle)
Note: This is always used as the first intruction and it will always point to the starting event.

0100 7D00 0000  0100 8000 0000  0400 2F00  0800 2F00 5000  0B00 0300  0500 2F00 0100  0500 0300 0100  1900 5101
If Value (0x0001) 0x007D = 0x0000
If Value (0x0001) 0x0080 = 0x0000
If Unit is present (0x0004) 0x002F
If Unit's maximal HP amount for (0x0008) 0x002F is at most 80% (0x0050)
If Unit achieves AT (0x000B) 0x0003
If Unit's minimal HP amount for (0x0005) 0x002F is at least 1% (0x0001)
If Unit's minimal HP amount for (0x0005) 0x0003 is at least 1% (0x0001)
> Load Event (0x0019) 0x0151 Bervenia Free City (Meliadoul and Ramza talk first part)

0100 7D00 0100  0100 7E00 0000  0100 8000 0000  0400 2F00  0800 2F00 3200  0B00 2F00  0500 2F00 0100  1900 5201If Value (0x0001) 0x007D = 0x0001
If Value (0x0001) 0x007E = 0x0000
If Value (0x0001) 0x0080 = 0x0000
If Unit is present (0x0004) 0x002F
If Unit's maximal HP amount for (0x0008) 0x002F is at most 50% (0x0032)
If Unit achieves AT (0x000B) 0x002F
If Unit's minimal HP amount for (0x0005) 0x002F is at least 1% (0x0001)
> Load Event (0x0019) 0x0152 Bervenia Free City (Meliadoul and Ramza talk second part)

0100 7E00 0100  0100 7F00 0000  0100 8000 0000  0400 2F00  0800 2F00 3200  0B00 0300  0500 2F00 0100  0500 0300 0100  1900 5301If Value (0x0001) 0x007E = 0x0001
If Value (0x0001) 0x007F = 0x0000
If Value (0x0001) 0x0080 = 0x0000
If Unit is present (0x0004) 0x002F
If Unit's maximal HP amount for (0x0008) 0x002F is at most 50% (0x0032)
If Unit achieves AT (0x000B) 0x0003
If Unit's minimal HP amount for (0x0005) 0x002F is at least 1% (0x0001)
If Unit's minimal HP amount for (0x0005) 0x0003 is at least 1% (0x0001)
> Load Event (0x0019) 0x0153 Bervenia Free City (Meliadoul and Ramza talk third part)


0100 8000 0000  0800 2F00 0F00  1900 5401If Value (0x0001) 0x0080 = 0x0000
If Unit's maximal HP amount for (0x0008) 0x002F is at most 15% (0x000F)
> Load Event (0x0019) 0x0154 Bervenia Free City (Victory)
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Pride

Quote from: "Zodiac"º World Instructions
Allows to loads scenario slots, as editable in the ATTACK.OUT Editor.
For example this world instruction at Murond Holy Place:
0100 6E00 3400  1900 B901 0200If Value (0x0001) "Storyline progression" (0x006E) is equal to 0x0034, load scenario (0x0019) 0x01B9.

I know I'm going to sound like a fool but where does the value 0x0034 come from? I understand the rest of it (sort of) but I can't figure out where that comes from.
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

Xifanie

0100 6E00 3400  1900 B901 0200

Value 0x006E is the storyline progression.
After nearly every story event, this value is increased by 1 in the vanilla version of the game.

Which means: "When player has reached X point in the game"
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Pride

Ha! With a bit of logic I should have figured that out but didn't :P Thank you.
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

alonerfeumuno

Guys, sorry to bother you in a old topic
i m looking for any video tutorial about how Attack.Out works...
  • Modding version: PSX
  • Discord username: alonerfeumuno