Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

[OpenMidLeft][LoadFace][0x26][0x01]
[OpenMidRight][LoadFace][0x2C][0x01]
[OpenMidLeft]
The enemies are
almost here.[.][A][X]
[OpenMidLeft][LoadFace][0x2C][0x01]
[OpenMidRight][LoadFace][0x26][0x01]
[OpenMidLeft]
No one's even
here yet...[.][A]
[OpenMidRight]
Quiet.[.][A]
Here they come.[.][A][X]
[OpenMidRight][LoadFace][0x8A][0x01]
[OpenMidRight]
Kill them...[.][A]
I may not have gotten
the Mani Katti...[.][A]
But I will get the
Wo Dao![.][A]
GO MY PRETTIES!![.][A][X]

800, 801, then 802

OK, so i used my clean backup rom.... and it worked. I'm not sure why though :/

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

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

@no save files: you could accomplish the same effect by using a LOMA code

i'm not entirely sure if EA can handle multiple files linked together at once, so unless you want to have the code for two chapters bloating up the same file, you'd need to do something like this:

// This is in file 1
EndingEvent:
TEX1 0xABE  // "ok thank you goodnite no save screenie4u"
ClearAll
LOMA 0x1    // example, this should be the ID in the chapter data editor of the next chapter
JUMP [offset]
ENDA

// This is in file 2
MESSAGE Chapter's opening event is at offset currentOffset
// This is the offset you want to use in your JUMP
OpeningEvent:
// ...
You'll also need to make sure that the turn events and etc are set up in the other event file properly Edited by CT075
Link to comment
Share on other sites

Me again, to no surprise :C

Well, I'm having a little trouble figuring the WarpIn and WarpOut functions.

I read the EASTDLib, providing this:

FE7:   WarpIn(Char,Class,X,Y)
   WarpIn(UnitPtr,X,Y)
Warp Out Effect
  FE7:
   WarpOut(X,Y)
   WarpOut(Char)

However I'm wondering do you need to use both the WarpIn and WarpOut together?

Turn1event:
LOU1 Reinforcements
ENUN
MOVE Canas [19,11] 
ENUN
FADI 5
BACG 0x59
FADU 5 
TEX1 0x0800
REMA
STAL 3
WarpOut [19,11]
WarpOut Canas
REPOS Canas [2,4]
STAL 10
WarpOut [18,11]
WarpOut Lyn_t
REPOS Lyn_t [3,4]
FADU 5 
TEX1 0x0801
REMA
STAL 3
MOVE Canas [1,1] 
WarpOut [1,1]
WarpOut Canas
CURF [1,1]
ENDA

I figured it would eb simpler to use the REPOS rather than WarpIn at least for me to avoid that UnitPtr, which although I'm familiar with the term pointer, I have a hard time clicking it in with other ideas.

Anyways, I'm not sure how to fix this.

The error is:

No Code Name WarpOut Found

for all of the corresponding lines.

Edited by SogiTai
Link to comment
Share on other sites

WarpOut is not a "code" the same way LOU1 and MOVE are--it's a macro

You have:

WarpOut Canas

It should be:

WarpOut(Canas)

WarpOut(Char)

Those brackets exist for a reason. The same goes for your location--use WarpOut(19,11) not WarpOut [19,11]

generally speaking, macros won't need spaces/aren't designed to have spaces in them whereas codes like REPOS and TEX1 are

Edited by Agro
Link to comment
Share on other sites

I dissected FE7's final chapter to see how the effect for Ninian's resurrection was done and I was able to isolate it and I took some notes on what each bit does:

STAL 30
_0xE1//dunno
_0xE0 0xBFFFFFFF 0x4 0x80 0x802//dims screen
STAL 30//stalls
SOUN 0x2EF//plays sfx
_0xDF 0x9 0xD//actual code for "resurection":1st parameter-Xcoordinate,2nd parameter is the Ycoordinate
_0xE0 0xBFFFFFFF 0x4 0x100 0x1004//undims screen
_0xE2//dunno

STAL 60//stalls again

however, I can't figure out how to change the character and class that appear on the map from the effect (currently Citizen and Dancer)

Would anyone have any idea on how I could edit that? Thanks in advance

Edited by Brendor the Brave
Link to comment
Share on other sites

I have a question...dont know if it has been answered before but its asinine to just sift through 98 pages. I have the beginnings of the event assembler down, but I am having a problem with text. I have it where it says

Turn2:
MUS1 0x0042
TEX1 0x018B
LOU1 Reinforcements
ENUN
ENDA

The text wasnt changed so when turn 2 came out it was the normal support conversation with farina and karla because those are the characters im using (just to test it out) but when i go to change the text in FEditor adv. and save all of it and assemble the game starts wigging out with static like something didnt work right, but when i remove the the text from the document it works just fine. So to sum it up the problem is that when i change text in FEditor and try to assemble it, the game glitches and freezes. any help would be helpful.

Link to comment
Share on other sites

So I seem to be messing up with phases, in my most current mishap.

What I want to happen is, start with no options, then once you've ended your turn, the next turn will warpin/load Canas to go into a dialogue screen, and then will go towards your hero, and they both warpout and re-warp in on another part of the map.

What is the problem for me with the most current form of the script->

1.) When Canas warpIns to his new spot, he suddenly reappears in his old spot as well despite him being repositioned.

2.) The game gets stuck in this sort of Other Phase Loop, that won't load back to the player phase- most likely due to the fact that Lyn hasn't come back to the map. However even adding lyn back to the map, does not fix the issue of changing lyn to an npc.

CODES POSTED BELOW

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I've tried inputing the code little by little to see where the error comes in.

This just yields different results such as changing Lyn to an npc, and/or freezing of the game. But ultimately with my most current version of the script:

Code in Question:

Turn1event:
LOU1 OWL
ENUN
CAM1 Canas
WarpIn(Canas,Shaman,19,9)
WarpIn(OWL,19,9)
BACG 0x59
FADU 5 
TEX1 0x0800
REMA
STAL 6
MOVENEXTTO Canas Lyn_t
ENUN
WarpOut(Canas)
WarpOut(Shaman)
REPOS Canas [2,4] 
ENUN
DISA Canas
ENUN
CAM1 Lyn_t
WarpOut(Lyn_t)
WarpOut(LynLord)
DISA Lyn_t
ENUN
CAM1 Canas
WarpIn(Canas,Shaman,2,4)
WarpIn(OWL,2,4)
ENDA

Full Code:

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


#define DISABLE_TUTORIALS
#include EAstdlib.event


EventPointerTable(0x06,ThisChapter)




ORG 0xD80000
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 Empty


Good:
UNIT Lyn_t LynLord 0x00 Level(1,Ally,False) [18,11] [18,11] [Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Empty


Villagers:
UNIT Citizen Civilian_2_F 0x00 Level(1,NPC,False) [14,0] [14,0] [Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Laus Soldier 0x00 Level(5,NPC,False) [15,7] [15,7] [Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Citizen Civilian_2 0x00 Level(1,NPC,False) [1,11] [1,11] [Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Laus Soldier 0x00 Level(5,NPC,False) [11,1] [11,1] [Vulnerary] [0x00,0x00,0x00,0x00]
//Fisherman {V}
UNIT Citizen Civilian_2 0x00 Level(1,NPC,False) [8,6] [8,6] [Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Empty


OWL:
UNIT Canas Shaman 0x00 Level(20,NPC,False) [19,9] [19,9] [Vulnerary] [0x00,0x00,0x00,0x00]
UNIT Empty


Turn_events:
TURN 0x00 Opening_event [01,00] 0x0 0x00
TURN 0x00 Turn1event [02,00] 0x0 0x00
TURN 0x00 Turn2event [03,00] 0x00 0x00


Character_events:
CHAR


Location_events:
LOCA


Misc_events:
CauseGameOverIfLordDies
AFEV


Opening_event:
CMOF
LOU1 Villagers
ENUN
CAM1 [1,1]
STAL 15
CAM1 Lyn_t
LOU1 Good
ENUN
ENDA


Turn1event:
LOU1 OWL
ENUN
CAM1 Canas
WarpIn(Canas,Shaman,19,9)
WarpIn(OWL,19,9)
BACG 0x59
FADU 5 
TEX1 0x0800
REMA
STAL 6
MOVENEXTTO Canas Lyn_t
ENUN
WarpOut(Canas)
WarpOut(Shaman)
REPOS Canas [2,4] 
ENUN
DISA Canas
ENUN
CAM1 Lyn_t
WarpOut(Lyn_t)
WarpOut(LynLord)
DISA Lyn_t
ENUN
CAM1 Canas
WarpIn(Canas,Shaman,2,4)
WarpIn(OWL,2,4)
ENDA


Turn2event:
ENDA


Ending_event:
MNCH 0x07
STAL 1
_0x1
ENDA


BallistaData:
BLST
ALIGN 4


MESSAGE Events end at offset currentOffset
//The map for this chapter is at offset: ????????
Edited by SogiTai
Link to comment
Share on other sites

LOU1 OWL
ENUN
CAM1 Canas
WarpIn(Canas,Shaman,19,9)
WarpIn(OWL,19,9)

The WarpIn actually partially has a LOU1 built in to it. Try this:

CAM1 [19,9]
WarpIn(Canas,Shaman,19,9)

The reason your game is glitching out is because you're trying to load one unit three times, essentially. Once when you use LOU1, twice when you use the first WarpIn, and thrice when you use the second WarpIn. These are the actual WarpIn macros:

//Warp effect, under construction
#ifdef _FE7_
#define WarpIn(Char,Class,X,Y) "WARP [X,Y] 1; LOEV Char Class [X,Y]; _ASM0x42 $20AB9"
#define WarpIn(UnitPtr,X,Y) "WARP [X,Y] 1; LOU1 UnitPtr; _ASM0x42 $20AB9"
#define WarpOut(X,Y) "WARP [X,Y] 0; DISA [X,Y]; _ASM0x42 $20AB9"
#define WarpOut(Char) "WARP Char  0; DISA Char; _ASM0x42 $20AB9"
#endif

Also, why do you have two WarpOut/Ins for each character? You should never need more than one. Certainly trying to "WarpOut(LynLord)" will cause some glitching because you're telling the game to get rid of a character that doesn't exist. You probably won't need all the REPOS and the DISAs because those are already included in the macro.

Edited by Agro
Link to comment
Share on other sites

...You, my friend, are golden! I don't even know what that means, but you've helped me so much! This has been bugging at me for nearly 4-5 days of on and off hacking now.

So basically as for those macros, what it is- is that, there are certain times in which you'd use the UnitPtr ver. of the warpin macro and certain times you'd use the CharClass ver. of the macro?

Link to comment
Share on other sites

I know this is probably a real stupid question, but for clairfication (I am probably actually wrong hee,)

The Unitptr is the info found in the fe7 definitions doc?

For example lyn would be 0x03?

And if this is the case,

My code :

WarpIn(0x03,4,4) 

seems to only load Lyn back to her original spot.

Link to comment
Share on other sites

UnitPtr would be whatever unit group you wanted to load, such as Good or OWL or Bad. In your case you would want to do this:

LynAppears:
WarpIn(LynWarp,4,3)//if I recall correctly the "warp" effect actually appears 1 tile lower than the designated coordinates
ENDA
 
LynWarp:
UNIT Lyn_t LynLord 0x00 Level(1,Ally,False) [4,4] [4,4] [Vulnerary] [0x00,0x00,0x00,0x00]//her inventory will actually remain the same as it was before; once the game loads a unit as an ally it will also "save" their inventory, so don't worry about those
UNIT

Just keep in mind that Lyn will also need to be DISA'd beforehand to prevent the game from glitching after it starts to think you're trying to load two of her.

Edited by Agro
Link to comment
Share on other sites

That makes so much more sense. So basically we have to create an alternate unit for her that has the coordinate the game will have to read when you want her to move.

Thanks! :D

This opens my eyes to how the scripting will work, a little bit further. :D

Link to comment
Share on other sites

  • 2 weeks later...

Sorry to be a bother again guys, but whenever I start my chapter, it just goes to a black screen after the chapter title fades out.

Here's the events:

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

#define DISABLE_TUTORIALS
#include EAstdlib.event

EventPointerTable(0x06,0)


ORG 0xD61130
Pointers:
POIN TurnEvents
POIN CharacterEvents
POIN LocationEvents
POIN MiscEvents
POIN TerrainEvents TerrainEvents
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN OpeningEvent EndingEvent

Bad:
UNIT 0x87 0x2E 0x0 Level(2,Enemy,0) [0,0] [1,3] [0x2C,0x0,0x0,0x0] [0x0,0x19,0x1,0x0]
UNIT Empty

Good:
UNIT 0x3 0x2 0x0 Level(1,Ally,0) [10,3] [10,4] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT Empty

Emissary:
UNIT 0x17 0x34 0x3 Level(1,NPC,0) [5,0] [10,3] [0x15,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT Empty

SacaenOne:
UNIT 0x8A 0x18 0x87 Level(1,Enemy,0) [14,6] [14,5] [0x2C,0x0,0x0,0x0] [0x0,0x19,0x1,0x0]
UNIT 0x8B 0x0E 0x87 Level(1,Enemy,0) [14,6] [13,6] [0x1,0x0,0x0,0x0] [0x0,0x19,0x1,0x0]
UNIT Empty

SacaenTwo:
UNIT 0x8A 0x19 0x87 Level(1,Enemy,0) [5,0] [5,2] [0x2C,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT 0x8B 0x2F 0x87 Level(1,Enemy,0) [5,0] [6,1] [0x33,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT Empty

SacaenThree:
UNIT 0x8A 0x0F 0x87 Level(1,Enemy,0) [10,9] [10,8] [0x1,0x0,0x0,0x0] [0x0,0x19,0x1,0x0]
UNIT 0x8B 0x0E 0x87 Level(1,Enemy,0) [10,9] [9,9] [0x1,0x0,0x0,0x0] [0x0,0x19,0x1,0x0]
UNIT Empty

Ivan:
UNIT 0x17 0x28 0x0 Level(1,Ally,0) [10,3] [10,4] [0x1,0x14,0x6B,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x1D 0x1D 0x0 Level(1,Ally,0) [10,3] [10,4] [0x4A,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT Empty

TurnEvents:
TURN 0x0 OpeningEvent [1,0] 0x0 0x00
TURN 0x4 SacTwo [3,0] 0x0 0x00
TURN 0x5 SacThree [5,0] 0x0 0x00
TURN

CharacterEvents:
CharacterEventBothWays(0x08,ParisIvan,0x3,0x17)
CharacterEventBothWays(0x08,ParisPhillipe,0x3,0x1D)
CHAR

LocationEvents:
LOCA

MiscEvents:
DefeatAll(EndingEvent)
CauseGameOverIfLordDies
AFEV

TerrainEvents:
BLST
ALIGN 4

OpeningEvent:
OOBB
LOU1 Emissary
ENUN
CURF 0x17
STAL 32
FADI 16
BACG 0x5A
FADU 16
MUS1 0x6B
STAL 60
TEX1 0x815
REMA
MOVE 0x17 [9,4]
ENUN
LOU1 Good
ENUN
FADI 16
BACG 0x22
FADU 16
TEX1 0x816
REMA
MUEN 4
STAL 60
LOU1 Bad
MUS1 0x32
STAL 32
TEX1 0x817
REMA
MOVE 0x17 [10,3]
DISA 0x17
CURF 0x87
TEX1 0x81E
REMA
LOU1 SacaenOne
ENUN
ENDA

SacTwo:
CURF 0x87
TEX1 0x827
REMA
LOU1 SacaenTwo
ENUN
STAL 32
CURF [10,3]
STAL 32
FADI 16
BACG 0x5A
FADU 16
MUS1 0x32
TEX1 0x835
REMA
LOU1 Ivan
CURF 0x17
TEX1 0x836
REMA
ENDA

SacThree:
CURF 0x87
TEX1 0x829
REMA
LOU1 SacaenThree
ENUN
ENDA

ParisIvan:
MUS1 0x08
TEX1 0x837
REMA
ENDA

ParisPhillipe:
MUS1 0x4F
TEX1 0x838
REMA
ENDA

EndingEvent:
MUEN 4
STAL 32
FADI 16
BACG 0x5A
MOVE 0x3 [10,3]
ENUN
FADU 16
ENUN
MUS1 0x6B
TEX1 0x830
REMA
MOVE 0x3 [5,0]
ENUN
DISA 0x3
ENUN
MNCH 0x1
STAL 1
_0x1
ENDA
//MoveToChapter(NextChapter)

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

Link to comment
Share on other sites

Have you tried to set "Fade to map" instead of "Fade to black" in Nightmare, with the Chapter data editor?

Alternatively you could just add one FADU at the beginning of the OpeningEvent. It usually works for me.

Edited by Alfred Kamon
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...