Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

Welp, I'm back again.

After a long period doing nothing short break from miserably failing rom hacking I've messed something else up.

Code:

#include EAstdlib.event
#define DISABLE_TUTORIALS
#include "defenitions.txt"

EventPointerTable(0x0C,Pointers)

org 0x01003390
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 0x87 Gunslinger 0x87 Level(1, Enemy, False) [14, 9] [14, 9] [AK47] [00000000]
UNIT

Good:
UNIT Red Gunslinger Level(1, Ally, False) [14, 9] [14, 9] [AK47] [00000000]
UNIT

Turn_events:
TURN 0 JustinArrives [1,1] 0x00 0x00
TURN

Character_events:
CHAR

Location_events:
LOCA

Misc_events:
CauseGameOverIfLordDies
DefeatBoss Ending_event
AFEV

Opening_event:
LOU1 Bad
LOU1 Good
MUS1 0x0018
TEX1 0x0815
MUEN 0x05
REMA
ENDA

Ending_event:
MNCH 0x01
ENDA

BallistaData:
BLST

JustinArrives:
MUS1 0x0042
TEX1 0x817
REMA
LOU1 Justin
MUEN 0x05
ENDA

Justin:
UNIT JustinC Gunslinger Level(3, Ally, False) [14, 9] [14, 9] [AK47] [00000000]
UNIT Empty

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

(Defenitions.txt)

#define Red 0x03
#define JustinC 0x04
#define Gunslinger 0x18
#define Tank 0x1A
#define AK47 0x33

Errors:

Finished.
Messages:
Events end at offset 0xC9CB05

11 errors encountered:
File First prologue events etc.txt, Line 7, Column 1: No code named org found.
File First prologue events etc.txt, Line 23, Column 1: Incorrect parameters in code UNIT Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom] [Atom]
File First prologue events etc.txt, Line 38, Column 1: No code named DefeatBoss found.
File First prologue events etc.txt, Line 66, Column 1: Incorrect parameters in code UNIT Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom] [Atom]
File First prologue events etc.txt, Line 58, Column 1: Code MUS1's offset $C9CAD1 is not divisible by 4
File First prologue events etc.txt, Line 59, Column 1: Code TEX1's offset $C9CAD5 is not divisible by 4
File First prologue events etc.txt, Line 60, Column 1: Code REMA's offset $C9CADD is not divisible by 4
File First prologue events etc.txt, Line 61, Column 1: Code LOU1's offset $C9CAE1 is not divisible by 4
File First prologue events etc.txt, Line 62, Column 1: Code MUEN's offset $C9CAE9 is not divisible by 4
File First prologue events etc.txt, Line 63, Column 1: Code ENDA's offset $C9CAED is not divisible by 4
File First prologue events etc.txt, Line 67, Column 1: Code UNIT's offset $C9CAF5 is not divisible by 4

No data written to output.

Rom is FE7, dumb names are complicated.

Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

Change org to ORG.

You're missing the units leader in the UNIT stuff.

"DefeatBoss Ending_event" should be "DefeatBoss(Ending_event)" iirc.

Put ALIGN 4, in the line above "JustinArrives:" to solve the "divisible by 4" stuff.

Link to comment
Share on other sites

Change org to ORG.

You're missing the units leader in the UNIT stuff.

"DefeatBoss Ending_event" should be "DefeatBoss(Ending_event)" iirc.

Put ALIGN 4, in the line above "JustinArrives:" to solve the "divisible by 4" stuff.

God I'm an idiot.

Thanks so much.

Link to comment
Share on other sites

I have an AREA event that keeps being triggered by the enemy. I want it to be player-phase only.

AREA 0x14 Knights1 [13,0] [20,13]

Knights1:

IFAT 0x0 0x7A2F1
Tex1(0x23,0x803)

LOU1 Enemy_K
ENIF 0x0
ENDA

I have tried it with IFAF and changing the 0x0 to 0x1. It either does nothing or stops the event from triggering at all.

Link to comment
Share on other sites

First of all...

Tex1(0x23,0x803)

Should be:

Text(0x23,0x803)

And LOU1 needs an ENUN after it.

With that out of the way, try making an ELSE section where nothing happens?

Link to comment
Share on other sites

Hiya. Small, relatively clean question.

I'm trying to turn this:

wfpU86L.png

(never mind that unsightly path, it won't last into release)

into something like this:

qv1o751.png

I'm currently getting the boxes to show thanks to an ASM Code, but I'm pretty sure that this isn't the method I need to be using.

At the very least, I'm delving into something beyond my understanding; perhaps a different ASM code would have the box centered.

Opening_event:
OOBB
TEX6 0x1 [7,5] 0x8A5 // These seem to be the best parameters I can get. Location seems to do nothing.
RETB
_ASM0x42 0x83181
TEX6 0x1 [7,5] 0x8E2
RETB
_ASM0x42 0x83181
TEX6 0x1 [7,5] 0x8E3
RETB
_ASM0x42 0x83181
STAL 32
FADI 10 //Dream (rest of events follow from here)
The other issue is, I have no idea how to set a black background or start a chapter straight into a conversation background; OOBB goes straight to a map and clears anything else you set up. I've yet to find a use for hidemap, either. I think I'm missing something with that one. Edited by LunaSaint
Link to comment
Share on other sites

TEX6 0x1 [7,5] 0x8A5 // These seem to be the best parameters I can get. Location seems to do nothing.

Does this mean it doesn't work at all, or you just don't know what coordinates to use? In any case, whenever I want to centre a textbox, I just open up a screenshot in Paint and select the space between the right edge of the textbox and the right and the right edge of the GBA screen. Whatever that distance in pixels is twice the number of X coordinates that need to be added (so half the number that you get) and you can do the same thing for the bottom edges.

To start on a black background, you can simply get the chapter to Fade to black rather than Fade to map, and then do the following:

HIDEMAP
BACG 0x01
TEX1 0x800
SHOWMAP
REMA

Hide/show map are mostly useful because sometimes a "dark" beginning that you need to use OOBB to recover from will result in the units being slightly barely visible whereas you might want the screen to be completely black.

Edited by Agro
Link to comment
Share on other sites

Whatever that distance in pixels is twice the number of X coordinates that need to be added (so half the number that you get) and you can do the same thing for the bottom edges.

Oh my god, it's pixels, not tiles. I think I need to go cry about how stupid I am. Of course it wouldn't be goddamn tiles, that makes no sense for text.

I already set it to fade to black, so I'll take out the OOBB.

Many thanks, both of you!but mostly agro

Link to comment
Share on other sites

Sorry man, meant to link it to you before.

Here you go.

I suppose it's worth noting that the main use of this hack is for "chocolate" hacks (i.e. hacks with original material) rather than "reskin" hacks (i.e. those that simply replace character data). If you need an explanation of how exactly to use it, I'm happy to give you one.

Link to comment
Share on other sites

So everything has allways gone fine for me when making meh events, but now for somereason I'm having trouble with text events. It has always worked for me b4 and I've tried getting a new rom several times ect.

Opening_event:
OOBB
LOU1 Good
ENUN
LOU1 Bad
ENUN
TEX1 0x800
REMA
ENDA
I've tried it with a background as well, and the background will load but no text will appear. Without background the text doesnt appear and the game practically freezes.
Link to comment
Share on other sites

We need to see the full event file as well as the actual text you have at 0x800, thanks

The text 0x800 is just the default 0x800 right now and the whole text is

#define DISABLE_TUTORIALS
#include EAstdlib.event
EventPointerTable(0x06,Pointers)
ORG 0xD80000
Pointers:
POIN Turn_events
POIN Character_events
POIN Location_events
POIN Misc_events
POIN TrapData TrapData
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN Opening_event Ending_event
Good:
UNIT 0x03 0x02 0x00 Level(1, Ally, 0) [17,12] [17,12] [0x01] NoAI
UNIT
Bad:
UNIT 0x5F 0x38 0x00 Level(1, Enemy, 0) [4,12] [4,12] [0x14] NoAI
UNIT 0x5F 0x38 0x00 Level(1, Enemy, 0) [4,13] [4,13] [0x14] NoAI
UNIT
Turn_events:
TurnEventPlayer(0x0,Opening_event,1)
End_MAIN
Character_events:
End_MAIN
Location_events:
End_MAIN
Misc_events:
CauseGameOverIfLordDies
End_MAIN
TrapData:
End_MAIN
Opening_event:
OOBB
LOU1 Good
ENUN
LOU1 Bad
ENUN
TEX1 0x800
REMA
ENDA
Ending_event:
ENDA
// Events
// Manual Movement
// Scripted Fights
// Units
// Shop Data
MESSAGE Events end at offset currentOffset
Edited by Kobazco
Link to comment
Share on other sites

[OpenMidLeft][LoadFace][0xB6][0x01][OpenMidRight][LoadFace][0xFF][0xFF][OpenMidLeft]

One of the main rules of

combat is never to rush.[A]

It looks like your tactician

knows that well.[A][X]

This is the reason your text isn't loading. [LoadFace][0xFF][0xFF] collectively means "load the portrait of the activating character of the house/village event". However, since the text is not attached to a house or village, the game doesn't know which portrait to load. You will need to change this to something else to get the text to work properly.

Edited by Agro
Link to comment
Share on other sites

  • 2 weeks later...

Hello ! I Have some problem with An AREA event which triggers when it shouldn't.

What happends exactly is that The text scene attached to the " Zone " AREA event triggers right at the 2nd turn without having a unit

wainting in the specified area.

I tried many things but well... Didn't find my way out since multiple hours.

//Made by markyjoe1990 of Youtube
//Modified by Nintenlord

#define DISABLE_TUTORIALS
#include EAstdlib.event


EventPointerTable(0x06,Pointers)


ORG 0xD80000
Pointers:
POIN Turn_events
POIN Character_events
POIN Location_events
POIN Misc_events
POIN TrapData TrapData
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN Opening_event Ending_event

Bad:
UNIT Wire General 0x00 Level(4,Enemy,False) [5,3] [5,3] [ironSpear] [0x03,0x03,0x00,0x00]
UNIT Bandit Hero Wire Level(2,Enemy,False) [3,4] [3,4] [ironAxe,IronSword] [0x03,0x03,0x00,0x00]
UNIT Bandit Hero Wire Level(2,Enemy,False) [7,4] [7,4] [ironAxe,IronSword] [0x03,0x03,0x00,0x00]
UNIT Bandit Mercenary Wire Level(1,Enemy,False) [10,9] [10,9] [ironSword,Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Bandit Mercenary Wire Level(2,Enemy,False) [8,10] [8,10] [ironSword] [0x00,0x00,0x00,0x00]
UNIT Bandit Mercenary Wire Level(1,Enemy,False) [11,4] [11,4] [ironSword] [0x00,0x00,0x00,0x00]
UNIT Bandit Archer Wire Level(1,Enemy,False) [7,7] [7,7] [ironBow] [0x00,0x00,0x00,0x00]
UNIT Empty

Good:
UNIT Lyn_t LynLord 0x00 Level(1,Ally,False) [16,0] [16,3] [ironSpear,Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Empty

Help:
UNIT Karel Swordmaster Lyn_t Level(9,Ally,False) [16,0] [17,4] [KillingEdge] [0x00,0x00,0x00,0x00]
UNIT Empty

Turn_events:
TurnEventPlayer(0x00,Opening_event,1)
TURN

Character_events:
CHAR

Location_events:
LOCA

Misc_events:
CauseGameOverIfLordDies
DefeatAll(Ending_event)
AREA 0x10 Zone [0,0] [8,10]
AFEV

Zone:
MUS1 0x03A9
FADI 0x10
BACG 0x11
FADU 0x10
TEX1 0x0816
MUEN 0x05
REMA
ENDA

Opening_event:
MUS1 0x03A9
FADI 0x10
BACG 0x11
FADU 0x10
TEX1 0x0815
MUEN 0x05
REMA
LOU1 Bad Good
ENUN
REMA
LOU1 Help
ENDA

Ending_event:
MNCH Ch1
ENDA


TrapData:
ENDTRAP


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

Edited by Solum
Link to comment
Share on other sites

I think you need to check for a player unit; the way it is now it will trigger for any unit, including enemies.

Try something like this:

IFAT 0x1 0x7A2F1 (Checks for a player unit; will skip to ENIF 0x1 if it is)
ENUF 0x(EventID) (otherwise, reset the event ID)
ELSE 0x2
ENIF 0x1
(Stuff to do if a player unit steps in)
ENIF 0x2

You need to use IFAT because FE7 conditionals suck.

Edited by Vennobennu
Link to comment
Share on other sites

Thank you for your help !

I tried to put this on a POIN and in the "Zone" POIN But as FE7 conditionals... I sucked XD

Or maybe it just didn't sloved the problem =/

Edited by Solum
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...