Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

BEFORE YOU POST YOUR PROBLEM:

I don't expect you to read through the thread to find out if your question has been answered, because that's slightly ridiculous, BUT there are things you can do.

- Have you checked the doc to see if your parameters are right?

- Have you tried disassembling a chapter from the vanilla game to see how it's done?

- Is your script (or the relevant part of it) included in the post?

Edited by CT075
Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

This forum (nor any other, IMO) doesn't really get enough people asking questions to warrant such a thread... but that's just what I think, I'll help regardless. Maybe people have questions but need a thread like this to give them the courage to post'm...

Link to comment
Share on other sites

i'll be the first to ask some questions since this thread was likely made for me so this thread isn't wasted.

easy question: can you set-up an event to give an automatic game over if you don't finish in a certain amount of turns, like in PoR? (this just came to mind a few minutes ago).

my more tedious question: I have a character that only appears if at least one of 3 characters are fielded. so, if all 3 were fielded, the event isn't going to repeat itself 3 times, since all 3 are fielded, correct?

the character that is recruited by this method I do not want appearing in any way, not on the field, in battle preparations, in the next chapter, etc. so, if none of the 3 characters are fielded, and the event isn't triggered, the character will never be seen, correct?

as I asked in the other thread: I use wordpad or notepad for this, and everything that I want to happen in a chapter can be done with a single document, no needing seperate documents for multiple events to happen in one chapter?

Finally: to my knowledge, disable_tutorials only has to be present in the first event, but what of the command EAstdlib.event? does that have to be present before every event, or just in the first?

and guys, please understand, I know I can be really annoying with all the questions, but i'm just trying to make sure I get everything right, so that I don't have to keep bugging later on. I know there's tutorials out there, but I do like hearing from people who are doing those things right now, with their own hacks. sounds stupid, but it's just me. and for a n00b, all these codes and things are really confusing. to be honest, this should be the last few things I need to know, unless I come up with some kind of crazy concept (which I already have one in mind).

Edited by Claude_C_Kenny
Link to comment
Share on other sites

^Yes

easy question: can you set-up an event to give an automatic game over if you don't finish in a certain amount of turns, like in PoR? (this just came to mind a few minutes ago).

my more tedious question: I have a character that only appears if at least one of 3 characters are fielded. so, if all 3 were fielded, the event isn't going to repeat itself 3 times, since all 3 are fielded, correct?

yes

no (at least, not if you code it right)

the character that is recruited by this method I do not want appearing in any way, not on the field, in battle preparations, in the next chapter, etc. so, if none of the 3 characters are fielded, and the event isn't triggered, the character will never be seen, correct?

if you code it right they A) won't appear if all 3 characters aren't fielded or B) will disappear after they ARE recruited in the chapter so that they aren't in the battle preps the next chapter, if that's what you want.

Finally: to my knowledge, disable_tutorials only has to be present in the first event, but what of the command EAstdlib.event? does that have to be present before every event, or just in the first?

yes, those are standard definitions IIRC... (been a while since I hacked) you need them in every file. disable_tutorials only has to be done once but it shouldn't hurt you at all.

Link to comment
Share on other sites

#define DISABLE_TUTORIALS

#include EAstdlib.event

#include "definitions.txt"

EventPointerTable(0x06,Pointers)

org 0xD80000

Pointers:

POIN Turn_events

POIN Character_events

POIN Location_events

POIN Misc_events

POIN BallistaData BallistaData

POIN Bad Bad Bad Bad

POIN Good Good Good Good

POIN Opening_event Ending_event

Bad:

UNIT

Good:

UNIT

Turn_events:

TURN 0x00 Opening_event [01,00] 0x0 0x00

TURN 0x00 Turn3Event [02,00] 0x8 0x00

TURN

Character_events:

CHAR 0x05 DagdaEvayl Dagda Evayl 0x00

CHAR 0x06 DagdaTania Dagda Tania 0x00

CHAR

Location_events:

Village(0x08,Robe,9,5)

Village(0x07,Pugi,14,16)

Village(0x09,Brave,19,10)

Village(0x0A,Sword,14,10)

Village(0x0B,Medicine,10,10)

Vendor(VendorData,13,6)

CODE $00

Misc_events:

CauseGameOverIfLordDies

Sieze(0x0C,18,4)

AFEV

Opening_event:

CURF [18,4]

FADI 0x10

BACG 0x0D

TEX1 0x0803

FADU 0x10

LOU1 LeafUnit LeafUnit2

ENUN

ENDA

Ending_event:

FADI 0x10

MUS1 0x0039

BACG 0x0D

FADU 0x10

TEX1 0x0804

REMA

STAL 0x05

MNCH 0x01

ENDA

BallistaData:

BLST

ALIGN 4

LeafUnit:

UNIT Leaf EliwoodLord 0x00 Level(1,Ally,False) [6,19] [6,19] [ironSword,LightSword] [00,00,00,00]

UNIT Evayl SwordmasterF 0x00 Level(12,Ally,False) [7,18] [7,18] [ironBlade,ManiKatti,DoorKey] [00,00,00,00]

UNIT Fin Cavalier 0x00 Level(8,Ally,False) [5,19] [5,19] [ironSpear,AxeBuster] [00,00,00,00]

UNIT Empty

LeafUnit2:

UNIT Halvan Fighter 0x00 Level(1,Ally,False) [6,18] [6,18] [ironAxe] [00,00,00,00]

UNIT Othin Fighter 0x00 Level(2,Ally,False) [5,18] [5,18] [ironAxe] [00,00,00,00]

UNIT Empty

Reinforcements1:

UNIT Marty Brigand 0x00 Level(3,Ally,False) [2,5] [4,8] [steelAxe] [00,00,00,00]

UNIT Tania ArcherF 0x00 Level(1,Ally,False) [3,6] [5,10] [ironBow,DoorKey] [00,00,00,00]

UNIT Dagda Warrior 0x00 Level(6,Ally,False) [3,5] [5,9] [Hammer,HandAxe,Medicine] [00,00,00,00]

UNIT Empty

Turn3Event:

MUS2 0x0042

LOU1 Reinforcements1

ENUN

MURE 5

TEX1 0x0800

ENDA

DagdaEvayl:

MUS2 0x0042

TEX1 0x0801

MUEN 0x05

REMA

MURE 5

ENDA

DagdaTania:

TEX1 0x0802

MUEN 0x05

REMA

ENDA

Robe:

FADI 0x10

BACG 0x02

FADU 0x10

TEX1 0x0805

REMA

ENDA

Pugi:

FADI 0x10

BACG 0x02

FADU 0x10

TEX1 0x0806

REMA

ENDA

Brave:

FADI 0x10

BACG 0x02

FADU 0x10

TEX1 0x0807

REMA

ENDA

Sword:

FADI 0x10

BACG 0x02

FADU 0x10

TEX1 0x0808

REMA

ENDA

Medicine:

FADI 0x10

BACG 0x02

FADU 0x10

TEX1 0x0809

REMA

ENDA

VendorData:

SHLI Medicine

MESSAGE Events end at offset currentOffset

//The map for this chapter is at offset: DA1234

Is there a reason it should be going to black upon loading? :/

Link to comment
Share on other sites

Opening_event:

CURF [18,4]

FADI 0x10

BACG 0x0D

TEX1 0x0803

FADU 0x10

LOU1 LeafUnit LeafUnit2

ENUN

ENDA

Bolded: Should be

FADI
BACG
FADU
TEX1

Beyond that, I can't see any reason why.

Link to comment
Share on other sites

So I have question. I have made a .txt file with the events I want for the first chapter (prologue). Now I want to assemble it and put it in the game. How? I have the event assembler program and I put the text file were it asked and the ROM were it asked but what about the other spaces what goes there?

Link to comment
Share on other sites

Oh. Okay, I guess that's were my problem is. I have continued trying to get this to work but I think I am having formatting trouble. Can someone please link me a a sample event that works to over right the prologue so I can see how it looks.

Also how do I rename a chapter?

It's in FEditor but there are like 2 or 3 places you have to change the name because they correspond to other places.

Link to comment
Share on other sites

Could someone please explain why this is not working?

#include EAstdlib.event

EventPointerTable(0x06,Pointers)

POIN Pointers

org 0xD80000

Pointers:

POIN Turn_events

POIN Character_events

POIN Location_events

POIN Misc_events

POIN BallistaData BallistaData

POIN Bad Bad Bad Bad

POIN Good Good Good Good

POIN Opening_event Ending_event

Bad:

UNIT

Good:

UNIT

Turn_events:

TURN

Character_events:

CHAR

Location_events:

LOCA

Misc_events:

CauseGameOverIfLordDies

AFEV

Opening_event:

ENDA

Allies:

UNIT Lyn 0x00 0x00 Level(1,Ally,False) [1,1] [1,1] [0x00] [00000000]

UNIT Empty

Batta:

UNIT 0x02 0x00 0x00 Level(1,Ally,False) [0,10] [0,10] [0x00] [00000000]

UNIT Empty

Ending_event:

MNCH 0x1

ENDA

BallistaData:

BLST

MESSAGE Events end at offset currentOffset

Link to comment
Share on other sites

The FE4A thread has some stuff IIRC. I have this as my Prologue Events for a hack, but part of it is disassembled because I originally did my events in hex, not using the EA.

While that one is a bit more complex, this one is much simpler and has much less depth to it, so it might be better for reference.

If you are hacking FE8, chapter names are graphics, IIRC. FE7 has chapter names as text. The text ID's/text indexes for that chapter can be found in the Chapter Data Editor (it may call them "Chapter Name Pointer" or something). The Ultimate Tutorial can give more details on that module.

In case it matters, the first prologue events are for Tactics Universe; the second are for Tales of Bravery. I am not responsible for any effect my codes may have on your events--use them as a reference at your own risk.

EDIT: It seems you posted while I was typing...

Your event file is practically blank. >___> For your chapter to work, you have to have a minimum of an Opening Event (called upon by a Turn event on turn "0"), an ending event, and either a location, turn, character, or miscellaneous event to call upon the ending event (AKA a chapter goal/mission goal).

Right now all you have are two units that aren't doing anything. You need to add a Turn event on Turn 0x00 that I would call "Opening_event", and then under "Opening_event" I would put the actual event. To know the details, please consult an event tutorial. Arch has 3 of them and I made one (it's in the Ultimate Tutorial). Both are very elaborate and IIRC Arch's includes a sample script, so both of ours will help you break down a script and teach you everything there is. However, most people use Arch's, because it is focused specifically on events, and covers some more subjects (like FE8 differences... and it probably covers them in more details with simpler, more brief explanations), so I would suggest his over mine.

Edited by Luffy
Link to comment
Share on other sites

It's a macro file I made with all my macros (well, some of them are actually ones by others like Arch that I happened to use). However, they have all been added to the Event Assembler in one of the more recent releases, I believe. So you can probably find all my macros either as language raws or macros in the latest version of the EA (see the doc with the EA). Due to convenience, I haven't removed my NewMacros.event file (because replacing the macros with the EA standardized ones is time-consuming, pointless, and boring, amongst other things). And since my event tutorial is outdated, it still uses the NewMacros.event file (which is included in the tutorial IIRC).

Edited by Luffy
Link to comment
Share on other sites

I thought of a rather important one. using Four-Fanged Offense as an example, you know how the game switches between your characters talking, and Lloyd and Linus talking, how do you do that? is it all in the same text ID, or do you need seperate ID's for each convo? and what does it look like in the assembler?

Link to comment
Share on other sites

EDIT: Four Fanged offense have 2 separate chapter IDs, one is for Linus, the other, Lloyd.

You'll have to condition if the other is dead, go to this chapter, and whatnot in the previous chapter.

Edited by AstraLunaSol
Link to comment
Share on other sites

that's not what i'm asking. i'm talking about the switching between sides during the chapter.

for instance, you're characters have their convo talking about getting info on the fang. then, the game switches to lloyd and linus talking about keeping an eye on eliwood. that's what I need to know, is how to do the switching between convos.

Link to comment
Share on other sites

TEX1 [First convo]
REMA
CURF [location on map] //optional
TEX1 [second convo]
REMA
ENDA

Really not seeing the problem here.

Edited by Camtech075
Link to comment
Share on other sites

here's what I have so far:


#define DISABLE_TUTORIALS
#include EAstdlib.event

EventPointerTable(0x39,Pointers)


org 0x????????
Pointers:
POIN Turn_events
POIN Character_events
POIN Location_events
POIN Misc_events
POIN BallistaData BallistaData
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN Opening_event Ending_event

Bad:
UNIT Batta Brigand Glass Level(1,Enemy,False) [1,9] [1,9] [ironaxe] [NoAI]
UNIT Glass Mercenary_M Glass Level(1,Enemy,False) [1,11] [1,11] [ironsword] [NoAI]
UNIT Zagan Fighter Glass Level(1,Enemy,False) [2,5] [2,5] [ironaxe] [NoAI]
UNIT Empty

Good:
UNIT Eliwood Lord Eliwood Level(1,Ally,False) [14,9] [14,9] [Durandal,Rapier,Vulnerary] [NoAI]
UNIT Hector Lord Eliwood Level(1,Ally,False) [17,9] [17,9] [Armads,Wolfbeil,Vulnerary] [NoAI]
UNIT Empty

Turn_events:
TURN

Character_events:
CHAR

Location_events:
LOCA

Misc_events:
CauseGameOverIfLordDies
AFEV

Opening_event:
TEX1 [07FF]
REMU
CURF [Glass]
TEX1 [0800]
REMU
CURF [Hector]
TEX1 [0801]
ENDA

Ending_event:
MNCH 0x??
STAL 1
_0x1
ENDA

BallistaData:
BLST


MESSAGE Events end at offset currentOffset
//The map for this chapter is at offset: 8369C90

[/Code]

after this, i'm completely lost. eventID's have me confused, so does villages and houses needing a name for the evnt. then there's reinforcements, plus other things that weren't in the template.

now, do I still need to go into nightmare to set-up these characters to appear if they're already set under my good/bad units?

Link to comment
Share on other sites

TEX1 [First convo]
REMA
CURF [location on map] //optional
TEX1 [second convo]
REMA
ENDA

Really not seeing the problem here.

I was responding to the above post in the post before this post. If you don't get it, for get it. =P

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...