Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

ThisChapter:

Not sure why you have this...

From the section from my template:

#define DISABLE_TUTORIALS
#include EAstdlib.event

EventPointerTable(0x06,Pointers)

ORG 0xD80000

Pointers: //NOT 'ThisChapter:'
POIN Turn_events
POIN Character_events
//and onwards, forevermore
Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

Okay, here's my new code, but the problem still persists:

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

#define DISABLE_TUTORIALS
#include EAstdlib.event

EventPointerTable(0x06,ThisChapter)

ORG 0x00DA1400
ThisChapter:

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 Bandit Fighter Bad Level(3,Enemy,False) [5,16] [4,8] [ironAxe] [0x00,0x00,0x00,0x00]
UNIT Bandit Soldier Bad Level(1,Enemy,False) [5,16] [8,7] [ironSpear] [0x00,0x03,0x09,0x00]
UNIT Bandit Mercenary Bad Level(5,Enemy,False) [5,16] [2,12] [steelSword] [0x00,0x03,0x00,0x20]
UNIT Bandit Brigand Bad Level(1,Enemy,False) [5,16] [7,9] [HandAxe,Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Bandit Fighter Bad Level(4,Enemy,False) [5,16] [14,10] [steelAxe,HandAxe] [0x00,0x03,0x00,0x20]
UNIT Bandit Mercenary Bad Level(1,Enemy,False) [5,16] [9,11] [ironSword] [0x00,0x03,0x09,0x00]
UNIT Bandit Brigand Bad Level(3,Enemy,False) [5,16] [13,14] [steelAxe,HandAxe] [0x00,0x03,0x09,0x00]
UNIT Bandit Soldier Bad Level(4,Enemy,False) [5,16] [5,11] [ironSpear,Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Bandit Mage Bad Level(2,Enemy,False) [5,16] [7,12] [Fire] [0x00,0x00,0x00,0x00]
UNIT Bandit Mage Bad Level(4,Enemy,False) [5,16] [11,7] [Thunder,Vulnerary] [0x00,0x03,0x09,0x00]
UNIT Bandit Mercenary Bad Level(5,Enemy,False) [5,16] [11,5] [steelSword] [0x00,0x03,0x00,0x20]
UNIT Bandit Soldier Bad Level(2,Enemy,False) [5,16] [5,14] [ironSpear,Vulnerary] [0x00,0x03,0x09,0x00]
UNIT Bandit Soldier Bad Level(4,Enemy,False) [5,16] [11,12] [ironSpear,Javelin] [0x00,0x03,0x09,0x00]
UNIT Batta Berserker Bad Level(4,Enemy,False) [6,16] [6,16] [steelAxe] [0x00,0x03,0x00,0x20]
UNIT

Good:
UNIT Lyn_t Myrmidon Good Level(1,Ally,False) [3,2] [5,3] [ironSword,Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Kent_t Cavalier Good Level(1,Ally,False) [3,2] [3,4] [ironSword,Javelin,Vulnerary,Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Empty

Roy:
UNIT Sain_t Mercenary Good Level(1,Ally,False) [7,1] [7,1] [ironSword] [0x00,0x00,0x00,0x00]

Turn_events:
TurnEventPlayer(0x00,Opening_event,01)
TurnEventPlayer(0x00,Turn3,03)
TURN

Character_events:
CHAR

Location_events:
LOCA

Misc_events:
CauseGameOverIfLordDies
AFEV

Opening_event:
MUS1 0x000E
LOU1 Bad
CURF [3,2]
FADI 10
BACG 0x04
TEX1 0x0802
REMA
MUS1 0x0042
FADU 10
CAM1 [3,2]
CURF [3,2]
LOU1 Good
TEX1 0x0803
ENDA

Turn3:
MUS1 0x0042
CAM1 [7,1]
CURF [7,1]
LOU1 Roy
TEX1 0x0804
ENDA


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

BallistaData:
BLST
ALIGN 4

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

@MasterKeeper: But it works... So that's why I didn't remove it.

Edited by PixelmanFE
Link to comment
Share on other sites

check your "fade to black/map" settings

edit:

also masterkeeper please stop talking because nothing you've said has come even remotely close to what i think the problem might be

"pointers" vs "thischapter" makes literally no difference as long as the label in the "EventPointerTable" macro and the label right before the POIN array match

Edited by CT075
Link to comment
Share on other sites

OK, a few things.

1. Use code tags

2. More of a tip

Use definitions

Just make a new file and put this in it:

//Characters
#define Roy /*whatever number sain_t is*/

and in your event file, add

#define /*text file with definitions's name*/.txt

and make sure they're in the same location

check your "fade to black/map" settings

edit:

also masterkeeper please stop talking because nothing you've said has come even remotely close to what i think the problem might be

"pointers" vs "thischapter" makes literally no difference as long as the label in the "EventPointerTable" macro and the label right before the POIN array match

I'm a noob, how would I know?

Edited by MasterKeeperâ„¢
Link to comment
Share on other sites

Change this

Roy:

UNIT Sain_t Mercenary Good Level(1,Ally,False) [7,1] [7,1] [IronSword] [0x00,0x00,0x00,0x00]

To this:

Roy:
UNIT Sain_t Mercenary 0x00 Level(1,Ally,False) [7,1] [7,1] [IronSword] [0x00,0x00,0x00,0x00]
UNIT
Edited by Krad
Link to comment
Share on other sites

2. Use definitions

it shouldn't make a difference but it does make thigns a lot more humanly readable

3. REMOVE THISCHAPTER AND PUT POINTERS

this doesn't do anything

Change this

[sNIP]

nice catch

that is actually probably a lot more likely than my initial guess; this would lead to garbage data being used as unit data which could potentially fuck things up

Edited by CT075
Link to comment
Share on other sites

Change this

Roy:

UNIT Sain_t Mercenary Good Level(1,Ally,False) [7,1] [7,1] [IronSword] [0x00,0x00,0x00,0x00]

To this:

Roy:
UNIT Sain_t Mercenary 0x00 Level(1,Ally,False) [7,1] [7,1] [IronSword] [0x00,0x00,0x00,0x00]
UNIT

Haha! It works! The Hector problem and glitch problem is fixed.

I owe you one, Krad!

Now off to making my game again...

Link to comment
Share on other sites

I'm having some trouble disassembling Valni and Lagdou events. Namely, some of the floors cause an unhandled exception when EA tries to disassemble them. This happens to Valni 5, Valni 6, Lagdou 3,4,5,7, and probably some later floors of Lagdou that I haven't tested yet. I'm 99.9% sure I'm disassembling from the right offset, too.

I wonder if these floors are performing some kind of command that Event Assembler doesn't know how to interpret or considers impossible; the functioning floors of Lagdou and Valni themselves are considered by EA to use a 'FE8Code 0x2B20 0xFFFF' Command (There is no such command in the ROM; only 202BFFFF - it looks to be like some kind of SHORT command, really). Here's the error message if it helps.

[spoiler=Error Text]************** Exception Text **************
System.InvalidOperationException: This BackgroundWorker is currently busy and cannot run multiple tasks concurrently.
at System.ComponentModel.BackgroundWorker.RunWorkerAsync(Object argument)
at Nintenlord.Event_Assembler.UserInterface.MainForm.disassembleButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Edited by Vennobennu
Link to comment
Share on other sites

Hello! I guess the Event Assembler questions go here?

I have been slowly learning how to work on it, and everything is still really new to me, with not much experience in coding. I hope I'm not being too much of a bother, really. I'm just trying to make simple events for the game, to start off slow. I thought the Event Assembler was in FE Editor, but I found it at the downloads section... XD;;

Anyways, I read the Ultimate Tutorial Guide and a guide on how to make custom maps, but I still don't quite get it. I haven't gotten around to testing what each does what, over the fear that I might break something, so I decided to make a document out of it and analyze the code on what does what.

Here's the version you can edit (Putting it so it's easier for those who found a mistake in reading it, thank you for those who are) and here's the original unsuitable one in case someone ruins it. The code is from the Chapter 1 Event, in the FE7 Event Table References. I hope I got that one right, as I'm assuming it changes the events in game.

I'm sorry if it's really long, but any help would be greatly appreciated! Thank you in advance!

Link to comment
Share on other sites

I'm sure this question has been asked before, but searching the forums didn't turn up what I was looking for... anyway, is there a way to get rid of or change the "going from place to place"-type map events that happen between chapters?

Also, I still haven't been able to get tile changes to work. I think I already posted my code, but just in case, here it is again:

//Prologue Map Changes
#include EAstdlib.event
 
ORG 0xC9C9CC+(4*0x0E)
 
POIN TileChanges
 
ORG 0xDB00A0
 
TileChanges:
TileMap(0x00,02,12,0x01,0x01,VillageClosed)
TileMapEnd
 
VillageClosed:
BYTE 0x80 0x00
 
MESSAGE Map changes end at offset currentOffset

Link to comment
Share on other sites

Post your main event file too, please.

As for the world map events, I assume you're hacking FE7, so you need to go to the Chapter Data Editor and scroll down to "Worldmap Chapter Prologue Scene" and set it to a chapter that doesn't have a world map.

Edited by Agro
Link to comment
Share on other sites

read arch's tutorial

it's better than the ultimate tutorial

In a way... It did answer some of my questions, although it still didn't cover exporting maps from the game. ^_^;

@ BlueWyvern: Thanks alot for editing the code! I HOPE I NEVER HAVE TO TOUCH ASSEMBLY THOUGH;; It looks ridiculously hard D<;

Link to comment
Share on other sites

exporting maps can be done one of two ways:

a) recreate them in mappy

b) find an image of the map and get yeti's converter (don't ask me for it i don't have it) to recreate it for you

Link to comment
Share on other sites

Post your main event file too, please.

As for the world map events, I assume you're hacking FE7, so you need to go to the Chapter Data Editor and scroll down to "Worldmap Chapter Prologue Scene" and set it to a chapter that doesn't have a world map.

Okay, I'll look into that. Before I do, some more questions though: what do I do to load an ally unit at the level they're currently at and not a set level (I know (1,Ally,False) would load them at level 1, but if they're actually at level 2 at the map they're at, I don't want to load them at level 1)? Furthermore, when loading generic enemy reinforcements at a level higher than 1, do I just do something like (2,Enemy,True), or is there something i can do to make their stats consistent instead of autoleveled?

Anyway, here's the main event file.

//Made by markyjoe1990 of Youtube
//Modified by Nintenlord
 
#define DISABLE_TUTORIALS
#include EAstdlib.event
 
//Lyn's animation pointer: 0x8C99064
 
EventPointerTable(0x06,Pointers)
 
 
ORG 0x0D80000
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 Erik Cavalier 0x00 Level(2,Enemy,False) [12,3] [12,3] [IronSpear] [0x03,0x03,0x00,0x00]
UNIT Bandit Cavalier 0x01 Level(1,Enemy,False) [12,3] [8, 8] [IronSword] [0x00, 0x00, 0x00, 0x00]
UNIT Empty
 
Good:
UNIT Lyn_t LynLord 0x00 Level(1,Ally,False) [2,12] [2,12] [Fire] [0x00,0x00,0x00,0x00]
UNIT Empty
 
Turn_events:
TURN 0x00 Opening_event [01,00] 0x0 0x00
TURN
 
Character_events:
CHAR
 
Location_events:
Village(0x07,Village1,2,12)
House(0x08,House1,5,5)
Seize(0x09,Ending_event,12,03)
LOCA
 
Misc_events:
CauseGameOverIfLordDies
AFEV
 
Opening_event:
CAM1 [5,10]
CURF [02,12]
FADI 10
BACG 0x02
MUS1 0x0066
TEX1 0x0803
FADU 10
REMA
LOU1 Good
ENUN
ITGC Lyn_t Vulnerary
CAM1 [5,3]
CURF [12,3]
FADI 10
BACG 0x015
MUS1 0x0053
TEX1 0x0800
FADU 10
REMA
LOU1 Bad
ENUN
CAM1 [5,8]
MUS1 0x000C
TEX1 0x0804
REMA
MOVE Lyn_t [5,12]
ENUN
ENDA
 
Village1:
FADI 10
BACG 0x02
FADU 10
TEX1 0x0805
REMA
MONE 0x01 5000
MAC1 0x00 0x01
ENDA
 
House1:
FADI 10
BACG 0x01
FADU 10
TEX1 0x806
REMA
ENDA
 
Ending_event:
FADI 10
BACG 0x0E
MUS1 0x0039
FADU 10
TEX1 0x0807
MNCH 0x01
ENDA
 
BallistaData:
BLST
 
 
MESSAGE Events end at offset currentOffset
//The map for this chapter is at offset: ????????

Link to comment
Share on other sites

exporting maps can be done one of two ways:

a) recreate them in mappy

b) find an image of the map and get yeti's converter (don't ask me for it i don't have it) to recreate it for you

I ended up recreating it in Mappy since it's more convenient I guess, ahaha;; Still, thank you very much!

Anyways, I decided to try making a simple event for the Prologue map, since it seems to be the best to start with!

... Unfortunately I couldn't even do something so simple. I'm so sorry.

Here's the code which I edited. I'm just trying to make an additional event where a unit (I chose Eliwood) runs towards Lyn and engages a conversation with her at the start of Turn 2. Unfortunately, during turn 2, it either crashes and returns to the main menu, or after TEX1 0x94E is displayed, it just crashes.

There ARE rare instances where Eliwood loads correctly and goes to that specified destination, but after I changed the coordinates, it just crashes again. Going back to the previous code which I believed it worked... crashes the game too. It's very inconsistent, so I'm starting to wonder if I'm breaking the game from Assembling too much.

Thank you very much in advance!

Edited by Arturianii
Link to comment
Share on other sites

Um, so.

#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

Bad:
UNIT

TactMale:
UNIT 0x8A 0x10 0x00 Level(10, Ally, 1) [14,9] [14,9] [IronSword] NoAI
UNIT

TactFemale:
UNIT 0x8B 0x11 0x00 Level(10, Ally, 1) [14,9] [14,9] [IronSword] 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
TEX6 0x5 [0,0] 0x0800
REMA
IFYN 0x1 //changed this from 0x10 to 0x1, does the same thing.
TEX6 0x5 [0,0] 0x0801
REMA
LOU1 TactMale
ENUN
ELSE 0x2
TEX6 0x5 [0,0] 0x0802
REMA
LOU1 TactFemale
ENDA

Ending_event:
ENDA

// Events

// Manual Movement

// Scripted Fights

// Units

// Shop Data

MESSAGE Events end at offset currentOffset
//Text Slot 800:
Choose Yes for Male
or No for Female.
[Yes][.][A][X]

//Text Slot 801:
Male.[.][A][X]

//Text Slot 802:
Female.[.][A][X]

It just skips everything and shows 'Female.' and loads the unit...

Help?

Edited by Number XV
Link to comment
Share on other sites

ok that script is just horrendous

it's END_MAIN (allcaps), not End_MAIN

you always always always need to close your IFXX's with ENIF (this includes ELSE)

Opening_event:
//OOBB
// just get rid of this altogether and change it to "fade to map"
// alternately if yo'ure doing what i think you're doing, there's a set of ASMC codes that fades to a black background
TEX6 0x5 [0,0] 0x0800
REMA
IFYN 0x1 //changed this from 0x10 to 0x1, does the same thing.
TEX6 0x5 [0,0] 0x0801
REMA
LOU1 TactMale
ENUN
ELSE 0x2
ENIF 0x1 // <------
TEX6 0x5 [0,0] 0x0802
REMA
LOU1 TactFemale
ENIF 0x2 // <------
ENDA
Link to comment
Share on other sites

I ended up recreating it in Mappy since it's more convenient I guess, ahaha;; Still, thank you very much!

Anyways, I decided to try making a simple event for the Prologue map, since it seems to be the best to start with!

... Unfortunately I couldn't even do something so simple. I'm so sorry.

Here's the code which I edited. I'm just trying to make an additional event where a unit (I chose Eliwood) runs towards Lyn and engages a conversation with her at the start of Turn 2. Unfortunately, during turn 2, it either crashes and returns to the main menu, or after TEX1 0x94E is displayed, it just crashes.

There ARE rare instances where Eliwood loads correctly and goes to that specified destination, but after I changed the coordinates, it just crashes again. Going back to the previous code which I believed it worked... crashes the game too. It's very inconsistent, so I'm starting to wonder if I'm breaking the game from Assembling too much.

Thank you very much in advance!

Ahh, about my request a few days ago, I actually haven't found a solution to it yet. But I did notice one thing, if it helps with my case at all.

Occasionally, the code works. The unit is loaded properly, and everything works fine. But when I reset the game and try it again, the game crashes and returns to the main menu. It's very inconsistent. Is there a setting which I'm missing? And...

Original ending offset is 0xCA0594 and the new ending offset is 0xCA0594

Original ending offset is 0xCA05DC and the new ending offset is 0xCA05DC
Original ending offset is 0xCA0760 and the new ending offset is 0xCA0760
Original ending offset is 0xCA71A9 and the new ending offset is 0xCA71A9
Original ending offset is 0xCA730B and the new ending offset is 0xCA730B
Original ending offset is 0xCA74F0 and the new ending offset is 0xCA74F0
Original ending offset is 0xCA79FE and the new ending offset is 0xCA79FE
Original ending offset is 0xCA7A20 and the new ending offset is 0xCA7A20
Original ending offset is 0xCA7BD0 and the new ending offset is 0xCA7BD0
Original ending offset is 0xCA7C4C and the new ending offset is 0xCA7C4C
Original ending offset is 0xCA7D00 and the new ending offset is 0xCA7D00
Original ending offset is 0xCA8324 and the new ending offset is 0xCA8330
Original ending offset is 0xCC5BA0 and the new ending offset is 0xCC5BC0

Does it have anything to do with this? This pops up after I assembled the code. Thank you very much in advance!

Link to comment
Share on other sites

yeah that's probably the problem

your script is overwriting something (including potentially itself)

just repoint

Thank you for replying!

Unfortunately, I tried reading about repoints a few times in the Ultimate Tutorial, and I still didn't get it. This repointing looks like it's covered for animation, and I'm still wondering if I do need to change anything in my code.This is probably going to be my first time hex editing too, so I have 0 clue on what to do...;;

I'm really sorry for asking so many questions. Hopefully after this, this will be my last. >_<

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...