• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 08:22:33 pm

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen, RetroArch, and Duckstation are recommended for playing/testing, pSX is recommended for debugging.


How to make a Story Mod (WIP Tutorial)

Started by 3lric, December 28, 2011, 05:20:12 am

3lric

January 12, 2014, 12:50:28 pm #100 Last Edit: January 12, 2014, 03:08:40 pm by Elric
One issue at a time buddy :P

Do you have mIRC? Or can you go onto #FFH from the mibbit link there on the site?

Just for shits and Giggles, do this, give your event an offset of Offset(x0003E000) and
reimport it.

Then go into the Attack.out GUI click on 001, set after event do GO TO NEXT SCENARIO,
Next Scen. 021.

now go down to 020, 021, and 022 and change the ENTD and map to the ones you are currently
trying to use for a battle. Now reimport the attack.out as well and see what happens.

Essentially, what I'm having you do, is jump right from the end of the first event into the slot with
the Sweegy Woods battle. Sweegy Woods has no event conditions, where as the first battle at
Orbonne does.

You will not have units to place other than Ramza or whatever you put into your ENTD, but if this
works all right then we can pinpoint the problem easier. However if this does not work, I'll
need a copy of your ATTACK.OUT and TEST.EVT
  • Modding version: PSX

3lric

A bit of an update to the OP, much of my old outline has changed due to Xifanie
documenting nearly everything about every event command there is on the Wiki.

The OP will receive another update soon to update all my old info to the new
commands and config.ini
  • Modding version: PSX

Jumza

I mentioned this idea to Elric earlier but I'm probably going to do it soon so, I'll be doing a video showing off all the new instructions, possibly explaining some of the changes and hopefully clearing up the ones that are a little hard to understand (Like that GhostUnit stuff).

I will not be explaining {A0}LTE and anything after that. That stuff involves variables which are an important part of event editing, but I really don't want to have to explain it in a video (feel free to come to the help section and ask if you'd like to know though!), it also has some new commands that can be used to create loops in events which (I hope) someone else will make a tutorial for soon, because I forgot to bookmark Xifanie's explanation for it.

Anyway I hope to get this done soon ;)
  • Modding version: PSX
Nyzer: Alma teleports out of her own possessed body.
Raijinili: Remember that you're telling a modding community that the game they love could use some fixing.

3lric

This is a good idea Jumza, I'll likely help out with this once you start doing so.

Also, another Update to the OP and Thread name. I added a portion written by
Raven and dummy-de-translated by myself to the OP, this will cover how
worldmap flow works.
  • Modding version: PSX

Pride

03 is less then for the world map part.
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

3lric

January 29, 2014, 02:08:20 pm #105 Last Edit: January 29, 2014, 05:14:46 pm by Elric
Thanks Pride, I'll update that once I get home from work.

EDIT: OP UPDATED with this info
  • Modding version: PSX

3lric

Another Update to the OP.

-Tutorial on editing BONUS.BIN has been added (Thank you Xifanie and Choto)
-This tutorial requires you to use TIMUTIL.EXE for the time being, until it is known whether or not TIMTOOL.EXE will work for this.

-Tutorial name changed

Soon to come Updates:
-The rest of the updates to the eventing section
-Zodiac.bin editing Tutorial
-Bravestory editing Tutorial
-Map editing Tutorial
-Other stuff I forgot as soon as I started writing this
  • Modding version: PSX

JoanManuel

Hello everyone. I followed step by step all the instructions are in this tutorial, so the beginning of the game is on the map tutorial 1. But I have a problem, when editing the test event, I put exactly what is in the tutorial and character not only does not stand still(like the animation 02 should do), but also, he do not walk. Instead of doing so(all the moves), I think it jumps all and go to the message section and after that, the event ends.
Now ill leave what I have at the event:
Offset (x00004000)

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

{63} (RC9)
Camera (+00560, -00048, +00560, +00302, +03584, +00000, +04096, +00001)
Camera (+00560, -00048, +00560, +00302, +03584, +00000, +04096, +00128)
{4D} (r78)
Camera (+00560, -00048, +00560, +00302, +03584, +00000, +04096, +00128)

Wait (00200)

Walkto (x01, x00, 001.007, x00, x00, +028, x01)
WaitWalk (x01, x00)

Walkto (x01, x00, 005.007, x00, x00, +028, x01)
WaitWalk (x01, x00)

Walkto (x01, x00, 005.003, x00, x00, +028, x01)
WaitWalk (x01, x00)

Walkto (x01, x00, 001.003, x00, x00, +028, x01)
WaitWalk (x01, x00)

Walkto (x01, x00, 001.005, x00, x00, +028, x01)
WaitWalk (x01, x00)

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

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

Wait (01000)
EventEnd ()

/ / INSTRUCTION SECTION END - TEXT START

/ / Message x01
{font: 08} {Ramza} {br}
{font: 00}
Random dialogue here {br}
{br}
More Random {br}
Dialogue {end}

Thank you very much for the help
Thank You to all those who make posible this site.

3lric

August 01, 2014, 02:42:29 am #108 Last Edit: August 01, 2014, 05:40:29 am by Elric
Did you make sure to edit the ENTD to add Ramza with unit ID 01?

Also your walk commands are wrong. Like 001.007 should be 001,007
  • Modding version: PSX

JoanManuel

August 01, 2014, 01:17:47 pm #109 Last Edit: August 08, 2014, 02:07:52 am by JoanManuel
No, my bad. I confused "unit id" with "unit target id". Sorry. Thank You for the advaice :P

Excuse my English xD
Thank You to all those who make posible this site.

Choto

So I think to convert .bmp's to .tim's, TimTool.exe will work as a substitute for timutil.exe for all the Windows 7 people.

1. Open Program
2. Go to File-->Import Image File
3. Select your image but don't click ok yet.
4. Check the .tim properties on the right hand side. Make sure you set the color depth to whatever you want.
5. Check "Set for black" under the transparency options.
6. Click "Ok" and a .tim will be created in the same directory as the .bmp

Happy days are here again!

Boco

Thanks Elric and everyone involved for this tutorial. I finished section 1! Ramza walked in place on a weird chessboard map I've never even seen before! Then it went to the battle outside the church.

I'm looking forward to delving even deeper into this interesting subject.

3lric

No problem, you've already made it further than most people who attempt it.
If you have any questions, don't hesitate to ask or come on IRC
  • Modding version: PSX

Boco

I went ahead and tried to do this tutorial again to try and let the knowledge sink in through repetition. I'm trying to simplify the process down in my mind and it comes down to this:

1. Edit ATTACKOUT file to change the map for a certain event, SAVE
2. Use Raven's EasyVent to edit the commands for an event, COPY/PASTE into event.txt and Run Compiler to get new TEST.EVT
3. Use FFTPatcher to edit the ENTD for the available units and their starting positions for an event, Patch ISO
4. Import new ATTACKOUT and TEST.EVT into patched ISO

This second time I did the tutorial, I changed the map to Orbonne Monastery instead of the Tutorial Map, and I had Ramza facing south at the coordinates X=6, Y=6. The event essentially played the same, except the camera couldn't quite fit the whole level in it and had cut off part of Ramza's head. I guess I could use this tutorial to edit any of the events the same way.

Overall, I think I have the process down, now I just need to learn all the commands.

3lric

Fantastic! We need more eventers in a bad way.

And correct, you can edit any event this way.

Once you have the process down pat, you will need to download the new CONFIG.INI and then refer to the Wiki for all the new commands not current in EVSP (you can use them without the newest CONFIG.INI and some of your old ones have changed format, so you cant just mix/match)

I usually try to get people to get the new config.ini right away, but due to how easy it is to learn the eventing process with EVSP and my tutorial, I currently recommend practicing with EVSP for a little bit first, before switching over and learning to save state event and all the new fancy commands and such. I've found that trying to learn the eventing process plus the new stuff at the same time can be fairly overwhelming for newcomers and generally makes them run away scared.

If you have any questions, don't hesitate to post in this section.

(Raven is working on (sort of) the new EVSP, so once that's out, this tutorial will be remade)
  • Modding version: PSX

Boco

Oh, yeah, I have a question. I'm not a programmer, so this might sound stupid, but does the event compiler have the capability of writing to different offsets at once? Like the Orbonne Prayer is Offset(x00004000) and the Orbonne Battle is Offset(x00008000), can I put both of those into the text file to compile into events at once, or is it a one-by-one process of compile, import, compile, import, etc.? Or can I just write new instructions to every event in the game by compiling it all from one text file? Oh and thanks Xifanie and anyone involved in making the tool!

3lric

It needs to be done one at a time. I've never seen it done any other way. The PSXEvents.txt does hold all the scripts, but we don't really work with that anymore.

I've always found it as a good thing that they are separate as well, makes it much easier to bugtest when things go wrong :P

Each event (and setup) uses 2000, meaning they will all increase by 2000.

(also remember to always remove the TEXT offset from events, but never the Offset)

Protip: I'm not a programmer either ;)   I'm just a eventer :P
  • Modding version: PSX

Guru

Thanks guy's all these tutorials are awesome! I couldn't get the attack.out editor in the op to work. Kept saying something along the lines of invalid file name. Once I downloaded the one off the main page it worked right away.

Guru

Sorry ik, double posting and all  :mad:

Got first event done though!! Followed tutorial but went off be beaten path a lil bit though. Used old config for this event, gonna start using new one now. This reminds me a lot of javascript so it pretty much makes sense to me, just gotta get the commands down.

Only question I have so far is about the EVTCHR. I'm assuming there is quite a bit to it because you skipped it in tutorial...So how bout just an example of what I would use it for?

Here's my event...pretty basic but feel free to give advice!
Offset(x00004000)
//Remove the previous line if you wish not to override the offset in CONFIG.INI.

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

{63}(rC9)
Camera(+00560,-00048,+00560,+00302,+03584,+00000,+04096,+00001)
Camera(+00560,-00048,+00560,+00302,+03584,+00000,+04096,+00128)
{4D}(r78)
Camera(+00560,-00048,+00560,+00302,+03584,+00000,+04096,+00128)

Wait(00200)

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

WalkTo(x01,x00,001,007,x00,x00,+032,x01)
WaitWalk(x01,x00)

WalkTo(x01,x00,005,007,x00,x00,+032,x01)
WaitWalk(x01,x00)

WalkTo(x01,x00,005,003,x00,x00,+032,x01)
WaitWalk(x01,x00)

WalkTo(x01,x00,001,003,x00,x00,+032,x01)
WaitWalk(x01,x00)

WalkTo(x01,x00,001,005,x00,x00,+032,x01)
WaitWalk(x01,x00)

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

UnitAnim(x01,x00,x1C,x00,x00)

Wait(00050)

AddUnitPrep()
UnitPresent(x17,x00,x00)
AddUnitStart()
AddUnitEnd()

UnitAnim(x17,x00,x3C,x00,x00)

UnitAnim(x01,x00,x1E,x00,x00)

Wait(00250)

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

DisplayMessage(x10,x12,x0003,x17,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x17,x00,x5C,x00,x00)

Effect(x00A5,x01,001,005,x00)
EffectStart()
EffectEnd()

Wait(00025)

UnitAnim(x01,x00,x19,x00,x00)

Wait(00085)

UnitAnim(x01,x00,x34,x00,x00)

Wait(00100)

Camera(+00560,-00048,+00560,+00302,+03584,+00000,+04096,+00128)

UnitAnim(x17,x00,x29,x00,x00)

Wait(00300)
EventEnd()

//instruction section end - text start
//message x01
{font:08}{Ramza}{br}
{font:00}Hey! My first super awesome event!{br}{br}
Now watch me walk!{end}

//message x02
{font:08}{Ramza}{br}
{font:00}Uhh... Oh shit I thought{br}
you were dead!{end}

//message x03
{font:08}Gaffman{br}
{font:00}Ha you should've checked{br}your work {Ramza}!{end}

Arimala

Hello, I was looking into editing the winning conditions of the last few battles so I have to kill everything not just a single shrine knight. I just downloaded graphicsgale for the first time and I can't seem to get passed this part: "7) Import the first palette from the 8bit original BMP and black for everything else. Make sure the "Match Pixels with Colors" box is checked."  I am assuming that picture that doesn't load in the example drop box was supposed to help   :cry:

I see three import options, 2 under file and 1 under edit...I tried all 3  :lol:, opening the original 8-bit through those but then I get lost... Not sure what "black for everything else" means.

Those ending battles need some spice in my vanilla-ish patch, any help would be much appreciated.

edit: and thank you for the awesome event tutorial that helped out a ton

  • Modding version: PSX