Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

Random question. Is there a way to force a character to "wait"? As in, for example, manually move a character (with MOVE command) and then have them "wait" and trigger an AREA event? Can't think of anything but any work arounds would be neat.

Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

Whenever I try to assemble my chapter in Event Assembler, I get this message:

Finished.
Messages:
Tutorials disabled
Events end at offset 0xD800F0

9 errors encountered:
File chapter1events, Line 25, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom, Atom] Atom
File chapter1events, Line 26, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom] Atom
File chapter1events, Line 27, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom] Atom
File chapter1events, Line 28, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom] Atom
File chapter1events, Line 29, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom] Atom
File chapter1events, Line 30, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom] Atom
File chapter1events, Line 31, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom] Atom
File chapter1events, Line 32, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom] Atom
File chapter1events, Line 33, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom, Atom] [Atom, Atom] [Atom] Atom

No data written to output.

 

I don't really understand why the parameters are incorrect, I've tried for hours. Here is my script:

#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 0x04 0x28 0x04 Level(1, Ally, 0) [0,14] [1,11] [0x01, 0x14, 0x6B] NoAI
UNIT 0x01 0x01 0x04 Level(1, Ally, 0) [0,14] [0,11] [0x01, 0x6B] NoAI
UNIT 0x02 0x03 0x04 Level(3, Ally, 0) [0,14] [0,12] [0x1F] NoAI
UNIT

Bad:
UNIT 0x5F 0x12 0x00 Level(3, Enemy, 1) [17,0] [14,2] [0x1F, 0x28] AttackInRange
UNIT 0x5F 0x12 0x00 Level(2, Enemy, 1) [17,0] [8,1] [0x1F] AttackInRange
UNIT 0x5F 0x12 0x00 Level(2, Enemy, 1) [17,0] [16,8] [0x1F] AttackInRange
UNIT 0x5F 0x12 0x00 Level(1, Enemy, 1) [17,0] [9,3] [0x1F] PursueWithoutHeed
UNIT 0x5F 0x12 0x00 Level(1, Enemy, 1) [17,0] [13,7] [0x1F] PursueWithoutHeed
UNIT 0x5F 0x12 0x00 Level(1, Enemy, 1) [17,0] [17,12] [0x1F] PursueWithoutHeed
UNIT 0x5F 0x12 0x00 Level(1, Enemy, 1) [17,0] [5,0] [0x1F] PursueWithoutHeed
UNIT 0x5F 0x12 0x00 Level(1, Enemy, 1) [17,0] [9,6] [0x1F] PursueWithoutHeed
UNIT 0x5F 0x12 0x00 Level(1, Enemy, 1) [17,0] [14,11] [0x1F] PursueWithoutHeed
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
OOBB
LOU1 Good
ENUN
LOU1 Bad
ENUN
ENDA

Ending_event:
ENDA

// Events

// Manual Movement

// Scripted Fights

// Units

// Shop Data

MESSAGE Events end at offset currentOffset

 

I am still pretty new to hacking and I wanted to just load my units into the chapter first to see if it worked.

Does anyone know why this is happening? I'm using Eventiel btw.

Link to comment
Share on other sites

1 hour ago, RainbowSage said:

Whenever I try to assemble my chapter in Event Assembler, I get this message:

I don't really understand why the parameters are incorrect, I've tried for hours. Here is my script:

I don't really use macros a lot, but it seems the AI one is the problem. If you substitute the AI macro (AttackInRange, PursuitWithoutHeed, etc.) with its corresponding value it should resolve the error. (Don't know why)

So in Event Assembler's AI Helpers.txt file in the EA Standard Library where the macros are located, you'll see that AttackInRange corresponds to [0x00,0x03,0x09,0x00], so just put [0x00,0x03,0x09,0x00] in place of AttackInRange. Like this:

 

UNIT 0x5F 0x12 0x00 Level(3, Enemy, 1) [17,0] [14,2] [0x1F, 0x28] [0x00,0x03,0x09,0x00]

 

You'd do the same thing for PursuitWithoutHeed, except use [0x00,0x02,0x02,0x00] instead. Strangely enough, your good units assemble ok, so I guess the NoAI macro is good.

I may or may not know what I'm talking about. Just make sure you test in game if the AI actually works correctly.

Edited by Master Awesome
Link to comment
Share on other sites

If you're using a version of Event Assembler greater than 9.10, you'll have to add #define OLD_AI before #include EAstdlib.event to get the AI macros to work like you expect.

Starting with v9.11 AI was reworked.

Link to comment
Share on other sites

Idk if i'm replying to somebody by doing this, but I just have a question for fe8 eventing:

Please somebody help me out:

I have here events for chapter 1:

#include EAstdlib.event
 
EventPointerTable(0x0A,ThisChapter)
 
ORG 0xE80000
 
ThisChapter:
POIN TurnBasedEvents
POIN CharacterBasedEvents
POIN LocationBasedEvents
POIN MiscBasedEvents
POIN Dunno Dunno Dunno
POIN Tutorial
POIN TrapData TrapData
POIN Units Units
POIN $0 $0 $0 $0 $0 $0
POIN BeginningScene EndingScene
 
Units:
UNIT 0x42 0x07 0x42 Level(2, NPC, 1) [2,2] 0x00 0x00 0x0 0x00 [0x04, 0x6C] NoAI
UNIT
 
TurnBasedEvents:
END_MAIN
 
CharacterBasedEvents:
END_MAIN
 
LocationBasedEvents:
END_MAIN
 
MiscBasedEvents:
CauseGameOverIfLordDies
END_MAIN
 
Dunno:
//DO NOT TOUCH
WORD $00
 
Tutorial:
//DO NOT TOUCH
WORD $00
 
TrapData:
END_MAIN
 
ALIGN 4
 
BeginningScene:
MUS1 0x06
_0x0E22 0x28
_LOAD1 0x1 Units
ENUN
MOVE 0x42 [4, 5]
ENUN
CUMO 0x42
STAL 60
CURE
TEXTSHOW 0x90B
TEXTEND
REMA
ENDA
 
EndingScene:
ENDA
 
// Events
 
// Manual Movement
 
// Scripted Fights
 
// Units
 
// Shop Data
 
MESSAGE Events end at offset currentOffset
 
The problem is, as soon as it gets to showing the text...it freezes.
BUT IT ONLY FREEZES IF I CHANGE THE TEXT OF 0x90B
 
For example:
 
If I leave the text (0x90B) like this (Regular text):
 
[OpenMidLeft][LoadFace][0x04][0x01][OpenMidLeft]Ahhh[ToggleMouthMove]...[.][ToggleMouthMove][A][0x02]
No![.][A][X]
 
It works fine...
 
But just for changing the portrait, like so:
 
[OpenMidLeft][LoadFace][0x45][0x01][OpenMidLeft]Ahhh[ToggleMouthMove]...[.][ToggleMouthMove][A][0x02]
No![.][A][X]
 
The game freezes completely. 
Does anybody know why?
Thanks for listening...
 
Link to comment
Share on other sites

Does anybody know how in fe8 eventing, I can make like a kind of "if" event.

in other words, an event that is triggered only if something specific happened or happens.

an example would be:

if a specific character dies, then a unit warps in and gives You an ítem.

which the ítem part i know just not  how To trigger it ONLY if a specific character dies.

thanks...

Link to comment
Share on other sites

8 hours ago, Ephraim115 said:

Does anybody know how in fe8 eventing, I can make like a kind of "if" event.

in other words, an event that is triggered only if something specific happened or happens.

an example would be:

if a specific character dies, then a unit warps in and gives You an ítem.

which the ítem part i know just not  how To trigger it ONLY if a specific character dies.

thanks...

Arch's guide to chapter construction goes over the basic idea of how conditionals work in GBAFE, but it's focused toward FE7.

The conditional codes for FE8 are in the documentation for EA (which you should read because it will help you learn it on your own).

How conditions work in FE8 can be found on my eventing resource thread.

You'd probably have to run a turn event that's checking if they're alive or not every turn, and if they're not it does whatever you're trying to get it to do.

Link to comment
Share on other sites

Hello, I was editing fe7 but have hit some problems, it seems my character edits often break the  cut scenes (you know the ones where your characters and enemy characters get into position on the map) , often you need to spam enter rapidly to skip the cutscene before the game spews those gba death sounds, so what software can I use to completely remove those cinematics without breaking the game or somehow get around these crashes, thanks

FE7 PME CRASH.AVI

Link to comment
Share on other sites

You can either use Nightmare modules to edit the units that are causing crashes (doesn't require much special knowledge)

or

You can disassemble the events of chapters that are bugging out, strip out the events in question, then insert back into the ROM (Requires knowledge of events and how to use Event Assembler).

Link to comment
Share on other sites

I wrote this event, and it assembles without any errors, but there is no village at 19,3.

Spoiler
//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 Oswin General Nergal Level(20, Enemy, 0) [16,7] [16,7] [IronAxe] Guard
UNIT Oswin General Nergal Level(20, Enemy, 0) [17,8] [17,8] [IronAxe] Guard
UNIT Nergal DarkDruid 0x00 Level(1, Enemy, 0) [25,15] [25,15] [Ereshkigal] Guard
UNIT
 
Good:
UNIT Lyn_t Mage 0x00 Level(1, Ally, 0) [25,6] [25,6] [IronBow] NoAI
UNIT
 
Turn_events:
TurnEventPlayer(0x0,Opening_event,1)
END_MAIN
 
Character_events:
END_MAIN
 
Location_events:
Village(0x06,Village1,19,3)
END_MAIN
 
Village1:
CURF [19,3]
FADI 10
BACG 0x02
FADU 10
MUS1 0x0042
TEX1 0x0800
REMA
ENDA
 
Misc_events:
CauseGameOverIfLordDies
END_MAIN
 
Opening_event:
LOU1 Good
LOU1 Bad
OOBB
ENUN
ENDA
 
Ending_event:
MoveToChapter(0x06)
ENDA
 
TrapData:
ENDTRAP
MESSAGE Events end at offset currentOffset
//The map for this chapter is at offset: 08DA0000

 

Link to comment
Share on other sites

  • 4 weeks later...
3 hours ago, TrueNanaya said:

I'm trying to figure out how to add animations with Animation Assembler and Event Assembler into FE7 and 8. I don't understand how I get the text file to replace the animations with.

First, take the typeless file that FEditor spits out (it doesn't have an ending) and drag and drop it onto AA.exe. That will create a big .event file (which you can open in a text editor like notepad).
Open up that .event file. There'll be a line near the top that says "AnimTableEntry(0x0) //CHANGE THIS TO THE SLOT YOU ARE REPLACING". Change the 0x0 to the index of the animation you're replacing (that would be the Input index in the Class Animation Editor in FEditor).
Open up Master Animation Installer.txt and #include your .event file.

NOTE: EA does have a problem with labels being too long, and when making the .event file may hit the limits. I don't know the exact number offhand, but try to keep the name of the original file (from FEditor) under ~12 characters or so to avoid this issue. And make sure it doesn't have any spaces (I don't know whether Circles fixed that one or not).

Link to comment
Share on other sites

I must be doing something wrong because I keep getting this message 

Spoiler

error

I assume it's because I'm messing up the pathway to the animation, but I'm not sure how to correct it. Well, this is what I've done so far

Spoiler

58d7c9d6cf082_eventassembler.png.4d45e3ba6da28f1ee12d7ad4b5bafc16.png

Spoiler

58d7c9f170d68_MagicInstaller.png.2d5223ad59a23b105050adb4ca2f7fc3.png

 

Edited by TrueNanaya
Encountered another problem with the insertion
Link to comment
Share on other sites

  • 3 weeks later...

Cannot figure out what this error is, someone please explain what it means. I could probably figure out whats wrong with my code on my own afterwards, thanks.

Spoiler

 

Finished.
Messages:
Tutorials disabled

1 errors encountered:
Exception: System.ArgumentException: An entry with the same key already exists.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.SortedList`2.Add(TKey key, TValue value)
   at Nintenlord.Collections.DataChange`1.AddChangedData(Int32 offset, T[] data, Int32 index, Int32 count)
   at Nintenlord.IO.ChangeStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.SecondPass(BinaryWriter output, IExpression`1 expression, ScopeStructure`1 parentScope)
   at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.SecondPass(BinaryWriter output, IExpression`1 expression, ScopeStructure`1 parentScope)
   at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.Assemble(IPositionableInputStream input, BinaryWriter output, ILog log)
   at Nintenlord.Event_Assembler.Core.Program.Assemble(EACodeLanguage language, TextReader input, BinaryWriter output, ILog log)
   at Nintenlord.Event_Assembler.Core.Program.Assemble(String inputFile, String outputFile, String languageName, ILog messageLog)
   at Nintenlord.Event_Assembler.UserInterface.MainForm.<.ctor>b__1(Object sender, DoWorkEventArgs args)

No data written to output.

 

 

Edited by Sephiran59
Link to comment
Share on other sites

Exceptions are internal code errors (IE something went wrong inside of EA when it tried to parse your events and it blew up).
If you post your events we can try to figure out the error.

Link to comment
Share on other sites

Spoiler

#include EAstdlib.event
#define DISABLE_TUTORIALS


EventPointerTable(0x06,Pointers)

ORG $D80000
Pointers:
POIN TurnBasedEvents
POIN CharacterBasedEvents
POIN LocationBasedEvents
POIN MiscBasedEvents
POIN TrapsEliwoodMode TrapsHectorMode
POIN EnemyUnitsENM EnemyUnitsENM EnemyUnitsENM EnemyUnitsENM
POIN AllyUnitsENM AllyUnitsENM AllyUnitsENM AllyUnitsENM
POIN BeginningScene EndingScene

EnemyUnitsENM:
_0x0000

AllyUnitsENM:
UNIT 0x03 0x14 0x00 0x01 [18,19] [18,17] [0x14, 0x6B, 0x69, 0x00] [0x00, 0x00, 0x00, 0x00]
UNIT 0x04 0x14 0x03 0x01 [19,18] [17,18] [0x14, 0x6B, 0x69, 0x00] [0x00, 0x00, 0x00, 0x00]

TurnBasedEvents:
TURN 0x0 BeginningScene [1,0] 0x0 0x0
//TURN 0x0 Scene2 [1,0] 0x0 0x0
END_MAIN

CharacterBasedEvents:
END_MAIN

LocationBasedEvents:
LOCA 0x3 [8,2] 0xF
Door(8,12)
Door(9,12)
END_MAIN

MiscBasedEvents:
END_MAIN

TrapsEliwoodMode:
ENDTRAP

TrapsHectorMode:
ENDTRAP

ORG $D800A8
BeginningScene:
LOU1 EnemyUnitsENM
ENUN
LOU1 AllyUnitsENM
ENUN
ENDA

EndingScene:
_0xA3
MUSC 0x38
TEX1 0x833
REMA
MUEN 6
FADICG 3
HIDEMAP
ASMC 0x7A939 0x7A8B9 0x7A9D5
STAL 30
MUSC 0x3AB
FADUCG 2
SHOWMAP
STAL 60
TEXTCG 0x834 0x1
MUEN 4
FADI 16
HIDEMAP
ASMC 0x7A95D
BACG 0x0
MUSC 0x3F
FADU 16
SHOWMAP
TEX1 0x835
MUEN 2
STAL 32
MUSM 0x51 0x4
MORETEXT 0x836
MUEN 2
STAL 32
MUSC 0x3F
MORETEXT 0x837
STAL 64
MORETEXT 0x838
FADI 4
HIDEMAP
BACG 0x5B
FADU 4
SHOWMAP
STAL 8
TEX6 0x5 [0,0] 0x839
_ASM0x42 0x83181
GOTO 0x34
LABEL 0x33
FADI 4
HIDEMAP
BACG 0x5B
LABEL 0x34
MNCH 0x1
STAL 1
_0x1
ENDA

Here it is; if you couldn't tell its a disassembly of the prologue events and im just trying to tamper with it and see what I can do. I probably deleted something important but that endingscene piece is untouched so its probably not in there

 

On 4/18/2017 at 3:07 PM, Primefusion said:

Exceptions are internal code errors (IE something went wrong inside of EA when it tried to parse your events and it blew up).
If you post your events we can try to figure out the error.

I'd appreciate any knowledge you can spare me O great Prime Lord of Fusion

and happy birthday as well lmao

Edited by Sephiran59
Link to comment
Share on other sites

Quote

EnemyUnitsENM:
_0x0000

This right here is a big red flag to me. Not sure what the _0x0000 is supposed to be. Empty unit lists should just have a UNIT line with nothing else.
You've also got two ORGs going on when you really only need one.

Thanks for the birthday wishes :)

Edited by Primefusion
Link to comment
Share on other sites

12 hours ago, Primefusion said:

This right here is a big red flag to me. Not sure what the _0x0000 is supposed to be. Empty unit lists should just have a UNIT line with nothing else.
You've also got two ORGs going on when you really only need one.

Thanks for the birthday wishes :)

oh thanks, getting rid of the _ox0000 got rid of the error, not sure what that even was. also the second ORG is there becuase I get this if its not:

f1.thumb.PNG.f97319b7fa2f41d4ddef28cb289384bf.PNG

 

So ill leave the ORG...

 

Alas, I still need help though. The assembly goes through but I get an endless black screen when i load the chapter

 

My code is the same just without the _0x0000 at line 31

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