Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

I have been tampering with the prologue chapter for my hack, and I was having trouble getting the enemy boss to appear [he is replacing Batta], and some other generic soldiers coming with him.

What deranger was saying was that no where in your text file do you even tell the game to load the enemy units. You just have "LOU1 Good". If you want the enemies to appear you need a "LOU1 Bad" in there somewhere.

I was also having trouble getting the defeat boss condition to work since the EA would state that there was a error with the way I set it up.

You have a space in there when there should be no spaces.

1. Force the main character to move to a certain coordinate [like in the Lyn tutorial mode].

2. Have the boss and a few generic reinforcements appear after the forced movement, along with the defeat boss goal.

FE6 & FE7:
  MOMA Action1 Action2 ... ActionN

  Move manual which controls movement of a unit.

  Parameters:
Action = Action to to do, including moving, speed changing and other stuff.

From the Event Assembler Language.txt. Err, as long as it hasn't changed since NL did the big overhaul. I kind of refused to upgrade >.>"

Disassemble the prologue's events to see it in action.

Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

How do I disassemble the prologue events. I see the disassemble option, but how do I go about it?

Edit: Never mind.. I found Nintenlord's tutorial.

Edit 2: I successfully disassembled the prologue, but it doesn't make that much sense to me; it would make more sense for someone to write an entire example code...

Sorry, this is really new to me..

Edited by Leif
Link to comment
Share on other sites

it would make more sense for someone to write an entire example code...

Sorry, this is really new to me..

What happens if something you want to do isn't on there? To get batta (and whoever else you add to load):

make

Turn1Event:

MOVE Lyn_t [12,7]

ENDA

into

Turn1Event:

MOVE Lyn_t [12,7]

ENUN

LOU1 Bad

ENUN

ENDA

I think Enun is what's supposed to go after move, but I'd double check.

Link to comment
Share on other sites

Oh, whoops. Looking through the prologue events it seems that the forced cursor thing is an ASM routine(s). Why not have the lord moving and triggering something happen during a cutscene? Or if you don't like that have it trigger it through an area event.

And ya, MOVE needs an ENUN after it.

Link to comment
Share on other sites

@Leif to make events start with a template. Templates are often included with tutorials and there should be an FE7 template with the EA itself. Make sure you understand everything there first. The actual placement of data doesn't matter *too* much if you are inserting to free space. If it's disassembled events, shifting the order of the data might end up changing where certain data is placed in-game, and may overwrite data, which could be a big problem.

In any case you should probably do a bunch of more studying so that you have a stronger grasp on the material because if you just jump right in, it's going to be confusing since the EA codes are mostly new and few of them are self-explanatory if you've never dealt with such things before. (on the other hand if you're used to such things maybe half of them are self-explanatory XP)

Link to comment
Share on other sites

I'm having a bit of trouble getting a sound effect to play during an opening scene without cutting out the music in the scene. I've tried both MUS1 and MUS2 with MURE, but it's not returning the music. Is there a code I missed somewhere to script a sound effect during a cutscene, or am I possibly setting it up wrong? For reference, it's:

MUS1 or MUS2 0x00B1 //Sound of a door unlocking

MURE 5 //tried here before trying after the tile change

MAC1 0x00 0x00 //the tile change for the door

MURE 5 //tried here after trying before the tile change

Link to comment
Share on other sites

Question about the IFCA, it says for the code in the assembly language text file for coding it in FE7

IFCA Unknown *Conditional ID* Character

Does that mean I just need to filler numbers for the Unknown? As I have tried to assembly and it gives me an error about it.

Link to comment
Share on other sites

  • 4 weeks later...

A small question. Does the "Rumble" code (ASMC $7D645) have any other parameters to make it stop? When I use it, it just keeps on going until it makes the game crash.

This is what I got when I poked around in the final chapter's code:

ASMC 0x7AC55

Start Rumbling

ASMC 0x7AD2D

Stop Rumbling

EDIT: If I destroy a village with tile changes, Do I still have to activate the event ID of the village so you can't visit the ruins?

Edited by Crazycolorz5
Link to comment
Share on other sites

EDIT: If I destroy a village with tile changes, Do I still have to activate the event ID of the village so you can't visit the ruins?

Village events only happen on a specific tile (IE, the village ungated tile maybe more after glancing at the overworld tileset). So, if the village gets destroyed and you did your tile changes correctly then the event can't happen anyway.

Link to comment
Share on other sites

Another question - You know how a unit is still selected after killing a boss(Not the question)? How do I make that unit well, go away, so I can have an event scene without someone running in place towards the place the boss used to be(That's the question)? I tried DISA, it doesn't work.

Link to comment
Share on other sites

Another question - You know how a unit is still selected after killing a boss(Not the question)? How do I make that unit well, go away, so I can have an event scene without someone running in place towards the place the boss used to be(That's the question)? I tried DISA, it doesn't work.

Add an UnitClear in the events, which will remove all units from the map so you can do the ending event. Something like

Ending_event:
FADI 10
UnitClear
//Unit loading or whatever you want
FADU 10
//Rest of the events here

Link to comment
Share on other sites

I played for a few hours with the EA trying to fix that black screen problem. Arch's video and written tutorial didn't give me a solution, neither did Krad's earlier suggestion #1658250 . Here's what I have:

[spoiler=CODE]

//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 BallistaData BallistaData

POIN Bad Bad Bad Bad

POIN Good Good Good Good

POIN Opening_event Ending_event

Bad:

UNIT Empty

Good:

UNIT 0x63 Myrmidon 0x00 Level(1,Ally,False) [6,2] [6,3] [ironSword,Vulnerary] [0x00,0x00,0x00,0x00]

UNIT 0x64 Mercenary 0x00 Level(1,Ally,False) [6,2] [5,4] [ironSword] [0x00,0x00,0x00,0x00]

UNIT Empty

Turn_events:

TURN 0x00 Opening_event [01,00] 0x0 0x00// problem is probably around here

TurnEventPlayer(0x00,Fadeout,1)

ENDA

Fadeout:

//also loads NPCs

OOBB

ENDA

AFEV

Character_events:

AFEV

Location_events:

AFEV

Misc_events:

CauseGameOverIfLordDies

AFEV

Opening_event:

LOU1 Good

ENUN

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: ????????

Link to comment
Share on other sites

//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 BallistaData BallistaData
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN Opening_event Ending_event

Bad:
UNIT Empty

Good:
UNIT 0x63 Myrmidon 0x00 Level(1,Ally,False) [6,2] [6,3] [ironSword,Vulnerary] [0x00,0x00,0x00,0x00]
UNIT 0x64 Mercenary 0x00 Level(1,Ally,False) [6,2] [5,4] [ironSword] [0x00,0x00,0x00,0x00]
UNIT Empty

Turn_events:
TURN 0x00 Opening_event [01,00] 0x0 0x00
// Your problem is here, you need a blank TURN here.
TURN
//ENDA

// Although technically you could get away without it if the labeled area is empty, you should end every label with a blank code just to be safe.
Character_events:
CHAR

Location_events:
// I don't do this as often, but this is equally valid.
CODE $00

Misc_events:
CauseGameOverIfLordDies
AFEV

Opening_event:
// Load your NPCs and shit here.
LOU1 Good
ENUN
// <- Try this instead of whatever you have now.
OOBB //------------------------------------------------------------
ENDA


Ending_event:
//MNCH 0x??
//STAL 1
//_0x1
ENDA

BallistaData:
BLST
ALIGN 4

MESSAGE Events end at offset currentOffset

Edited by Camtech
Link to comment
Share on other sites

Okay, so for I made an event for chapter 1 that works fine, I'm starting chapter two, but for some reason the game just freezes when Eirika and company are supposed to go on the map and if I skip the cut scene, Eirika and Seth aren't on the map, even with the generic coding for chapter 2.

ORG $591F40

label27:

_0x1020 0x1

_0x0220 0x2

_0x0320 0x8

_SETCONDITION 0x0 0xC 0x0

FADU 16

ENIF 0x0

_0x1020 0x0

ENDA

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $591F64 and the new ending offset is CURRENTOFFSET

ORG $592104

label25:

_0x1020 0x4

ASMC 0x85375

ENDA

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $592114 and the new ending offset is CURRENTOFFSET

ORG $8B40A0

Units1:

UNIT 0x1 0x2 0x1 0x8 [14,9] 0b 0x0 0x1 0x8B4008 [0x9,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x2 0x7 0x1 0x8 [14,9] 0b 0x0 0x1 0x8B4010 [0x3,0x17,0x6C,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x4 0x13 0x1 0x8 [14,9] 0b 0x0 0x1 0x8B4008 [0x1,0x14,0x6C,0x6C] [0x0,0x0,0x0,0x0]

UNIT

label30:

UNIT 0x46 0x9 0x46 0x24 [2,9] 0b 0x0 0x1 0x8B4018 [0x14,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT 0x80 0x4E 0x46 0x15 [7,4] 0b 0x0 0x0 0x0 [0x14,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0x80 0x4E 0x46 0x15 [10,7] 0b 0x0 0x0 0x0 [0x14,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0x80 0x4E 0x46 0x1D [2,9] 0b 0x0 0x1 0x8B4038 [0x14,0x0,0x0,0x0] [0x3,0x12,0x1,0x0]

UNIT 0x80 0x3F 0x46 0x15 [1,9] 0b 0x0 0x1 0x8B4040 [0x1F,0x0,0x0,0x0] [0x0,0x0,0x1,0x0]

UNIT 0x80 0x3F 0x46 0x15 [2,9] 0b 0x0 0x1 0x8B4048 [0x1F,0x0,0x0,0x0] [0x0,0x0,0x1,0x0]

UNIT 0x80 0x3F 0x46 0x15 [2,9] 0b 0x0 0x1 0x8B4050 [0x1F,0x0,0x0,0x0] [0x0,0x12,0x1,0x0]

UNIT

label35:

UNIT 0x3 0x6 0x0 0x20 [6,0] 0b 0x0 0x1 0x8B4060 [0x14,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $8B41B8 and the new ending offset is CURRENTOFFSET

ORG $8B4208

label32:

UNIT 0xC1 0x5 0x0 0xA [2,2] 0b 0x0 0x3 0x8B4080 [0x14,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0xC0 0xF 0x0 0xA [2,2] 0b 0x0 0x1 0x8B4098 [0x1,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x22 0x5 0x0 0xA [11,4] 0b 0x0 0x0 0x8B4098 [0x14,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0xC0 0xF 0x0 0xA [12,6] 0b 0x0 0x0 0x8B4098 [0x1,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $8B4244 and the new ending offset is CURRENTOFFSET

ORG $9E868C

TurnBasedEvents:

TURN 0x0 label15 [1,1] 0x0

TURN 0x0 label16 [1,1] 0x8

TURN 0x0 label17 [2,2] 0x0

TURN 0xB label18 [1,255] 0x0

AFEV

CharacterBasedEvents:

CHAR 0x8 label19 [0x2,0x3] 0x0

CHAR 0x8 label19 [0x3,0x2] 0x0

CHAR 0x9 label20 [0x1,0x22] 0x0

CHAR 0x9 label20 [0x22,0x1] 0x0

AFEV

LocationBasedEvents:

LOCA 0x0 label21 [13,6] 0x10

LOCA 0x0 label22 [10,4] 0x10

LOCA 0x3 [2,2] 0x11

AFEV

MiscBasedEvents:

AFEV 0x7 label23 0x2

AREA 0xA label24 [0,0] [7,9]

AFEV 0x0 label25 0x65

AFEV

Dunno1:

AFEV

Dunno2:

AFEV

Dunno3:

AFEV

Tutorial:

WORD 0x89EFC9C 0x89EFD14 0x89EFD74 0x89EFDA8

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9E876C and the new ending offset is CURRENTOFFSET

ORG $9E8770

WORD 0x89EFF20 0x89EFF9C 0x89EFFFC 0x89F0030

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9E877C and the new ending offset is CURRENTOFFSET

ORG $9E8780

WORD 0x89F0060 0x89F0130 0x89F01A8 0x89F0208

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9E878C and the new ending offset is CURRENTOFFSET

ORG $9E8790

WORD 0x89F023C 0x89F0270

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9E8794 and the new ending offset is CURRENTOFFSET

ORG $9E8798

AFEV

PointerList:

POIN TurnBasedEvents

POIN CharacterBasedEvents

POIN LocationBasedEvents

POIN MiscBasedEvents

POIN Dunno1 Dunno2 Dunno3 Tutorial

POIN Traps1 Traps2

POIN Units1 Units1

POIN $0 $0 $0

POIN $0 $0 $0

POIN BeginningScene EndingScene

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9E87EC and the new ending offset is CURRENTOFFSET

ORG $9ED9AB

Traps1:

ENDTRAP

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9ED9AC and the new ending offset is CURRENTOFFSET

ORG $9EDE9C

Traps2:

ENDTRAP

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9EDE9D and the new ending offset is CURRENTOFFSET

ORG $9EE0C0

label33:

_0x1927

_SETCONDITION 0x0 0xC 0x0

_GOTO_HELL

ENIF 0x0

ENDA

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9EE0DC and the new ending offset is CURRENTOFFSET

ORG $9EE19C

label36:

_0x2E21

_SETCONDITION 0x0 0xC 0x2

GOTO label26

ENIF 0x0

ENDA

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9EE1B8 and the new ending offset is CURRENTOFFSET

ORG $9EE1D4

label26:

_0x1929

_0x0620 0xC2

_0x0221 0xFFFF

_0x0228 0x7

ENDB

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9EE1E8 and the new ending offset is CURRENTOFFSET

ORG $9EE274

label37:

_0x1020 0x4

GOTO label27

_0x0228 0x9

_LOAD_WHATEVER 0x1

ENUN

_0x0220 0x9

_0x1020 0x0

ENDA

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9EE29C and the new ending offset is CURRENTOFFSET

ORG $9EE2C4

label29:

_0x0320 0x8

_SETCONDITION2 0x80BD 0xC 0x0

FADI 16

ENIF 0x80BD

TEXTSTART

_0x2220

FADU 16

ENDA

label28:

_0x0320 0x8

_SETCONDITION2 0x80D2 0xC 0x0

FADI 16

ENIF 0x80D2

_0x1A21

_0x2140 0xFFFF 0x0 0x0

FADU 16

ENDA

label31:

GOTO label28

_0x0620 0x32

TEXTSHOW 0xFFFF

TEXTEND

GOTO label29

ENDA

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9EE330 and the new ending offset is CURRENTOFFSET

ORG $9EE3BC

label34:

_0x3322 0xFFFD

_SETCONDITION 0x0 0xC 0x0

_0x3323 0xFFFD

_SETCONDITION 0x0 0xC 0x0

ELSE 0x63

ENIF 0x0

_MOVE1 0x0 0xFFFD 0x0

ENUN

_0x3420 0xFFFD

ENIF 0x63

ENDA

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9EE3F4 and the new ending offset is CURRENTOFFSET

ORG $9EF848

BeginningScene:

MUS1 0x25

_LOAD1 0x1 label30

ENUN

_0x0E22 0x3C

CUMO [2,2]

STAL 60

CURE

_SETVAL 0x2 0x26

_SETVAL 0x3 0x929

GOTO label31

_LOAD1 0x1 label32

ENUN

_SETVAL 0xB 0x0

DISA 0xFFFE

CUMO 0x46

STAL 60

CURE

_SETVAL 0x2 0x1C

_SETVAL 0x3 0x92A

GOTO label31

MOVE 0x46 [2,3]

ENUN

_0x0229 0x1

_SETVAL 0xD 0x0

_SETVAL 0x1 0x11400

_SAVEFORBATTLE

_SETVAL 0x1 0x1

_SAVEFORBATTLE

_SETVAL 0x1 0xFFFFFFFF

_SAVEFORBATTLE

FIG1 0x46 0xC0 0x0

_0x0221 0x1

_SETVAL 0xB 0x20002

_0x342D 0xFFFE

_0x342E 0xFFFE

CUMO 0x46

STAL 60

CURE

TEXTSHOW 0x92B

TEXTEND

REMA

_SETVAL 0x2 0x89EFC24

GOTO label33

MOVE 0x46 [2,2]

_SETVAL 0xB 0x60001

_MOVE 0x18 0xFFFE [1,3]

_SETVAL 0xB 0x60003

_MOVE 0x18 0xFFFE [3,3]

_SETVAL 0xB 0x80001

_MOVE 0x18 0xFFFE [9,5]

_SETVAL 0xB 0x70002

_MOVE 0x18 0xFFFE [8,3]

_SETVAL 0xB 0x80003

_MOVE 0x18 0xFFFE [4,7]

_SETVAL 0xB 0x90002

_MOVE 0x18 0xFFFE [2,8]

ENUN

_0x0E22 0x3C

CUMO [2,2]

STAL 60

CURE

_SETVAL 0x2 0x26

_SETVAL 0x3 0x92C

GOTO label31

REMA

_LOAD2 0x1 Units1

ENUN

CUMO 0x1

STAL 60

CURE

TEXTSTART

TEXTSHOW 0x92D

TEXTEND

REMA

_SETVAL 0x2 0x2

GOTO label34

_SETVAL 0x2 0x89EFDE8

GOTO label33

_0x0229 0xB

_0x0228 0x7

ENDA

label15:

_SETVAL 0x2 0x89F00BC

GOTO label33

_0x0228 0x7

ENDA

label16:

MUS1 0x13

CUMO 0x46

STAL 60

CURE

TEXTSTART

TEXTSHOW 0x930

TEXTEND

REMA

_0x0228 0x7

ENDA

label17:

MUS1 0x54

_LOAD1 0x1 label35

ENUN

CUMO 0x4

STAL 60

CURE

TEXTSTART

TEXTSHOW 0x931

TEXTEND

REMA

_SETVAL 0x2 0x89EFE48

GOTO label33

_0x0228 0x7

ENDA

label23:

_SETVAL 0x2 0x89F0090

GOTO label33

_0x0228 0x7

ENDA

EndingScene:

MUS1 0x31

_SETVAL 0x2 0x26

GOTO label28

_0x3322 0x3

_SETCONDITION 0x0 0xC 0x0

TEXTSHOW 0x937

TEXTEND

ELSE 0x1

ENIF 0x0

TEXTSHOW 0x938

TEXTEND

ENIF 0x1

REMA

FADI 16

_0x0229 0xBA

_0x0229 0xCF

_0x0229 0xCE

_0x0229 0xB6

_0x0229 0xD7

_0x0229 0xD6

_0x0229 0xC7

_0x0229 0xC8

_0x0229 0xDD

_0x3421 0x2

MNCH 0x38

ENDA

label19:

MUNO

TEXTSTART

TEXTSHOW 0x93A

TEXTEND

REMA

MUSI

_0x0228 0x7

ENDA

label20:

MUNO

TEXTSTART

TEXTSHOW 0x939

TEXTEND

REMA

MUSI

_0x0228 0x7

ENDA

label21:

_0x1120 0x0

MUNO

_SETVAL 0x2 0x0

_SETVAL 0x3 0x93B

GOTO label31

MUSI

_0x0228 0x7

ENDA

label22:

MUNO

_SETVAL 0x2 0x0

_SETVAL 0x3 0x93C

GOTO label31

MUSI

_0x0228 0x7

ENDA

label24:

_SETVAL 0x2 0x1

GOTO label36

_0x0221 0xB

_0x0228 0x7

ENDA

label18:

MUNO

_SETVAL 0x2 0x88B41B8

GOTO label37

CUMO 0x83

STAL 60

CURE

TEXTSTART

TEXTSHOW 0x934

TEXTEND

REMA

MUSI

_0x0228 0x7

ENDA

//The next line is for re-assembling purposes. Do not delete!

MESSAGE Original ending offset is $9EFC24 and the new ending offset is CURRENTOFFSET

Link to comment
Share on other sites

For people who want to look the up in the future... I did some digging around through FE7 and finally they had to clear the screen in chapter 23 and after some trying out some of the things in the End Events here what I found:

ASMC 0x7A8B9

Clears screen of moving/activated characters

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