Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

I was responding to the above post in the post before this post. If you don't get it, for get it. =P

Oh, you were talking to me. I get the question asked, I just fail to see how anyone who's supposedly read Arch's tutorial couldn't figure this out.

Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

Could I have an example of a scripted battle? I'm using FE7 as a base and I'm not too sure what I'm actually doing.

FIGH 0x8D 0xDA $8 0000000

but I'm not too sure about the format of what I'm pointing to. Ideally it would be a battle where the former wins. Arch's tutorial covers it briefly but I'm still stumped.

Link to comment
Share on other sites

Could I have an example of a scripted battle? I'm using FE7 as a base and I'm not too sure what I'm actually doing.

FIGH 0x8D 0xDA $8 0000000

but I'm not too sure about the format of what I'm pointing to. Ideally it would be a battle where the former wins. Arch's tutorial covers it briefly but I'm still stumped.

Scripted battles work like this:

FIGH Char1 Char2 Pointer $00000000

Now I'd wager that you're having trouble with the Pointer. The pointer can be anything you want it to be. It could be "fight" or "death" or "fgsfds"

But anyway

Here's an example of a fight in my own hack, just for reference:

[blah]
FIGH 0x62 0x8A fight $00000000
[more blah]
ENDA

fight:
AttackerMiss(0) //You could use false, but I think 0 works better
DefenderSilencer(1)
EndOfBattle

Now, do note that you could use the raw hex for battles instead of these macros. There's no real reason not to. But these are easier for people who are like me and too lazy to go look up all the right combinations.

Link to comment
Share on other sites

Thanks, Cam. I'll go give it a try. It's been bugging me for a good while now!

EDIT: All sorted! Thanks!

Edited by Dokutayuu
Link to comment
Share on other sites

alright, here's what I got so far:


#define DISABLE_TUTORIALS
#include EAstdlib.event

EventPointerTable(0x39,Pointers)


org 0x01003810
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 Batta Brigand Glass Level(1,Enemy,False) [1,9] [1,9] [ironaxe] [NoAI]
UNIT Glass Mercenary_M Glass Level(1,Enemy,False) [1,11] [1,11] [ironsword] [NoAI]
UNIT Zagan Fighter Glass Level(1,Enemy,False) [2,5] [2,5] [ironaxe] [NoAI]
UNIT Empty

Good:
UNIT Eliwood Lord Eliwood Level(1,Ally,False) [14,9] [14,9] [Durandal,Rapier,Vulnerary] [NoAI]
UNIT Hector Lord Eliwood Level(1,Ally,False) [17,9] [17,9] [Armads,Wolfbeil,Vulnerary] [NoAI]
UNIT Empty

Turn_events:
TurnEventPlayer(0x05,Opening_Event,1)
TurnEventEnemy(0x06,Reinforcements,1)
TURN

Character_events:
CHAR

Location_events:
Village(0x07,Village1,16,2)
LOCA

Misc_events:
DefeatAll(Ending_Event)
CauseGameOverIfLordDies
AFEV

Opening_event:
LOU1 Good
TEX1 (07FF,0x02)
REMU
LOU2 Bad
CURF Glass
TEX1 (0800,0x02)
REMU
CURF Hector
TEX1 (0801,0x02)
ENDA

Ending_event:
tex1(0803,0x02)
ENDA

Village1:
MUSI
tex1(0802,0x02)
ITGV IronSword
ITGV KillingEdge
MUNO
ENDA

Reinforcements:
UNIT Marcus Paladin_M Eliwood Level(10,NPC,Auto) [0,7] [0,7] [silverLance,KillerLance]
UNIT Empty

BallistaData:
BLST


MESSAGE Events end at offset currentOffset
//The map for this chapter is at offset: 8369C90
[/Code]

I started up chapter 11, and all I got was the map with no units on it, and nothing going on. I know I must have done something right by the fact that it loaded up in the first place.

now, I didn't actually put the units into nightmare, so that might be the problem. hopefully, someone can point out what I did wrong.

Link to comment
Share on other sites

One MAJOR flaw, you have no opening event.

Or at least you never told it to go.

Turn_events: TURN 0x00 Opening_event [01,00] 0x0 0x00//Opening 
CODE $00

That would make the event actually happen.

You also have no ENUNs, and REMU isn't a code, its REMA

Link to comment
Share on other sites

One MAJOR flaw, you have no opening event.

Or at least you never told it to go.

 Turn_events: TURN 0x00 Opening_event [01,00] 0x0 0x00//Opening  CODE $00

That would make the event actually happen.

You also have no ENUNs, and REMU isn't a code, its REMA

I got mine from the example that arch posted. how is it wrong? I looked again, and added ENUN where I saw it, and changed to REMA.

Edited by Claude_C_Kenny
Link to comment
Share on other sites

That shows that you have either no idea what either of them mean.

ENUN tells the game to check whether or not there are units moving. This is mainly used to stop crashes and glitches because something happened before a unit finished moving.

IF (unit is moving)
    STAL 1
ELSE (unit is not moving)
    Continue on

REMA clears the screen of face sprites, something completely different.

Link to comment
Share on other sites

almost got this. just a few more issues:


#define DISABLE_TUTORIALS
#include EAstdlib.event

EventPointerTable(0x39,Pointers)


org 0x01003810
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 Glass Mercenary 0x00 Level(1,Enemy,False) [1,11] [1,11] [ironSword] [0x00, 0x00, 0x00, 0x00]
UNIT Batta Brigand Glass Level(1,Enemy,False) [1,9] [1,9] [ironAxe] [0x00, 0x00, 0x00, 0x00]
UNIT Zagan Fighter Glass Level(1,Enemy,False) [2,5] [2,5] [ironAxe] [0x00, 0x00, 0x00, 0x00]
UNIT Empty

Good:
UNIT Eliwood EliwoodLord 0x00 Level(1,Ally,False) [14,9] [14,9] [Durandal,Rapier,Vulnerary] [0x00, 0x00, 0x00, 0x00]
UNIT Hector HectorLord Eliwood Level(1,Ally,False) [17,9] [17,9] [Armads,WolfBeil,Vulnerary] [0x00, 0x00, 0x00, 0x00]
UNIT Empty

Reinforcement_units:
UNIT Marcus Paladin 0x00 Level(10,NPC,True) [0,7] [0,7] [silverSpear,KillerLance] [0x00, 0x00, 0x00, 0x00]
UNIT Empty

Turn_events:
TURN 0x00 Opening_event [1,00] 0x0 0x00
TURN 0x06 Reinforcements [1,00] 0x8 0x00
TURN

Character_events:
CHAR

Location_events:
Village(0x07,Village1,16,2)
LOCA

Misc_events:
DefeatAll(Ending_event)
CauseGameOverIfLordDies
AFEV

Opening_event:
LOU1 Good
ENUN
OOBB
TEX1 0x07FF
REMA
LOU1 Bad
ENUN
CURF Glass
TEX1 0x0800
REMA
CURF Hector
TEX1 0x0801
REMA
ENDA

Ending_event:
TEX1 0x0803
REMA
ENDA

Village1:
MUSI
TEX1 0x0802
REMA
ITGV IronSword
ITGV KillingEdge
MUNO
ENDA

Reinforcements:
LOU1 Reinforcement_units
ENUN
ENDA

BallistaData:
BLST


MESSAGE Events end at offset currentOffset
//The map for this chapter is at offset: 8369C90
[/Code]

1. how to make units look like they're coming from offscreen.

2. the ending event plays, but the chapter doesn't end. how do I fix that?

3. the cursor won't switch to the designated units during the opening event.

4. backgrounds won't load, despite doing it the way arch said to.

5. how to make units appear at the end of enemy turn, and still have their phase initiate.

yeah, this should be it. a few simple things, and I should be done. I had a few simple fixes that i'm surprised you guys didn't see (LOU2lol, no OOBB), so please cease the flaming, because you guys aren't perfect either.

Edited by Claude_C_Kenny
Link to comment
Share on other sites

@Claude:

1. I think you load them and then use the second set of coordinates in their unit data.

2. You forgot MNCH 0xwhatever chapter is next

3. Not really sure about this one. Try using CAM1 to focus on the character?

4. I don't see any background codes in your events :/

This should work, though: Text(background,text)

5. Something like:

TurnEventPlayer(0,pointer,turn)

TURN

Pointer:

LOU1 unit

ENUN

ENDA

As for my question, is it possible to make a conversation occur directly after opening a door?

And:

Text(0x03,0x908)

FADI 16

LOMA 0x02

It sort of flashes back to the original map after the text ends. Would removing the FADI prevent that from happening?

(Hacking FE8, if it helps)

Edited by Kyaro
Link to comment
Share on other sites

Try using HIDEMAP before the FADI. I don't know how well it would work, but I'm fairly sure it would.

@Claude: You say there are no backgrounds, but you have no Background codes. YOu can use the macro specified, or you can use

FADI 0x10

BACG

FADU 0x10

TEX1

Link to comment
Share on other sites

[spoiler=uhwhat?]//Chapter ID definitions.

#ifdef _FE6_

#define Tutorial 0x00

#define Ch1 0x01

#define Ch2 0x02

#define Ch3 0x03

#define Ch4 0x04

#define Ch5 0x05

#define Ch6 0x06

#define Ch7 0x07

#define Ch8 0x08

#define Ch9 0x09

#define Ch10Lalum 0x0A

#define Ch11Lalum 0x0B

#define Ch12 0x0C

#define Ch13 0x0D

#define Ch14 0x0E

#define Ch15 0x0F

#define Ch16 0x10

#define Ch17Ilia 0x11

#define Ch18Ilia 0x12

#define Ch19Ilia 0x13

#define Ch20Ilia 0x14

#define Ch21 0x15

#define Ch22 0x16

#define Ch23 0x17

#define Ch24 0x18

#define ChFinal 0x19

#define Ch10Elfin 0x1A

#define Ch11Elfin 0x1B

#define Ch17Sacae 0x1C

#define Ch18Sacae 0x1D

#define Ch19Sacae 0x1E

#define Ch20Sacae 0x1F

#define Ch8X 0x20

#define Ch12X 0x21

#define Ch14X 0x22

#define Ch16X 0x23

#define Ch20XIlia 0x24

#define Ch20XSacae 0x25

#define Ch21X 0x26

#define LinkArena 0x27

#define TrialMap1 0x28

#define TrialMap2 0x29

#define TrialMap3 0x2A

#define TrialMap4 0x2B

#define TrialMap5 0x2C

#endif

#ifdef _FE7_

#define Prologue 0x00

#define Ch1 0x01

#define Ch2 0x02

#define Ch3 0x03

#define Ch4 0x04

#define Ch5 0x05

#define Ch6 0x06

#define Ch7 0x07

#define Ch7x 0x08

#define Ch8 0x09

#define Ch9 0x0A

#define Ch10 0x0B

#define Ch11_E 0x0C

#define Ch11_H 0x0D

#define Ch12 0x0E

#define Ch13 0x0F

#define Ch13x 0x10

#define Ch14 0x11

#define Ch15 0x12

#define Ch16 0x13

#define Ch17 0x14

#define Ch17x 0x15

#define Ch18 0x16

#define Ch19 0x17

#define Ch19x 0x18

#define Ch19xpt2 0x19

#define Ch20 0x1A

#define Ch21 0x1B

#define Ch22 0x1C

#define Ch23 0x1D

#define Ch23x 0x1E

#define Ch24_Lloyd 0x1F

#define Ch24_Linus 0x20

#define Ch25_H 0x21

#define Ch26 0x22

#define Ch27_Kenneth 0x23

#define Ch27_Jerme 0x24

#define Ch28 0x25

#define Ch28x 0x26

#define Ch29 0x27

#define Ch28_E 0x28

#define Ch30_H 0x29

#define Ch31 0x2A

#define Ch31x 0x2B

#define Ch32 0x2C

#define Ch32x_H 0x2D

#define Final_pt1 0x2E

#define Final_pt2 0x2F

#endif

#ifdef _FE8_

#define Prologue 0x00

#define Ch1 0x01

#define Ch2 0x02

#define Ch3 0x03

#define Ch4 0x04

#define ZahaWoods 0x04

#define Ch5x 0x05

#define Ch5 0x06

#define Ch6 0x07

#define AdlasPlains 0x07

#define Ch7 0x08

#define Ch8 0x09

#define Ch9Eirika 0x0A

#define Ch10Eirika 0x0B

#define TerasPlateau 0x0B

#define Ch12Eirika 0x0C

#define Ch13Eirika 0x0D

#define Ch14Eirika 0x0E

#define Ch15Eirika 0x0F

#define Ch16Eirika 0x10

#define Ch17Eirika 0x11

#define NarubeRiver 0x11

#define Ch18Eirika 0x12

#define NelerasPeak 0x12

#define Ch19Eirika 0x13

#define Ch20Eirika 0x14

#define FinalCh1Eirika 0x15

#define FinalCh2Erika 0x16

#define Ch9Ephraim 0x17

#define Ch10Ephraim 0x18

#define Bethroen 0x18

#define Ch12Ephraim 0x19

#define Ch13Ephraim 0x1A

#define Za_abadulMarsh 0x1A

#define Ch14Ephraim 0x1B

#define Ch15Ephraim 0x1C

#define Ch16Ephraim 0x1D

#define Ch17Ephraim 0x1E

#define NarubeRiver2 0x1E

#define Ch18Ephraim 0x1F

#define NelerasPeak2 0x1F

#define Ch19Ephraim 0x20

#define Ch20Ephraim 0x21

#define FinalCh1Ephraim 0x22

#define FinalCh2Ephraim 0x23

#define TowerofValni1 0x24

#define TowerofValni2 0x25

#define TowerofValni3 0x26

#define TowerofValni4 0x27

#define TowerofValni5 0x28

#define TowerofValni6 0x29

#define TowerofValni7 0x2A

#define TowerofValni8 0x2B

#define TowerofValni8Clone 0x2C

#define TowerofValni8Clone2 0x2D

#define LagdouRuins1 0x2E

#define LagdouRuins2 0x2F

#define LagdouRuins3 0x30

#define LagdouRuins4 0x31

#define LagdouRuins5 0x32

#define LagdouRuins6 0x33

#define LagdouRuins7 0x34

#define LagdouRuins8 0x35

#define LagdouRuins9 0x36

#define LagdouRuins10 0x37

#define Lordssplitup 0x38

#define MelkaenCoast 0x39

#define LinkArena 0x3A

#define TheInterestingMap 0x3B

#define Debugmap 0x3C

#define Ch11Eirika 0x3D

#define Ch11Ephraim 0x3E

#define Gradocastle 0x3F

#define Renaiscastle 0x40

#define CaerPelyn 0x41

#define Renaisthrone 0x42

#define Renaisaudience 0x43

#define Renvalgate 0x44

#define Gradoborders 0x45

#define Gradoprison 0x46

#define Gradoshrine_Past 0x47

#define Renaisshrine 0x48

#define Somepath 0x49

#define Somebuilding 0x4A

#define Anothershrine 0x4B

#define Anotherpath 0x4C

#define Gradoshrine_Present 0x4D

#define Ch5town_Past 0x4E

#endif

Link to comment
Share on other sites

they're basically the same thing. but I get it now. I was confused as to whether it went by nightmares event module layout or not.

here's what I have now:

#define DISABLE_TUTORIALS

#include EAstdlib.event

EventPointerTable(0x39,Pointers)

org 0x01003810

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 Glass Mercenary 0x00 Level(1,Enemy,False) [0,9] [1,11] [ironSword] [0x00, 0x00, 0x00, 0x00]

UNIT Batta Brigand Glass Level(1,Enemy,False) [0,9] [1,9] [ironAxe] [0x00, 0x00, 0x00, 0x00]

UNIT Zagan Fighter Glass Level(1,Enemy,False) [0,9] [2,5] [ironAxe] [0x00, 0x00, 0x00, 0x00]

UNIT Empty

Good:

UNIT Eliwood EliwoodLord 0x00 Level(1,Ally,False) [14,9] [14,9] [Durandal,Rapier,Vulnerary] [0x00, 0x00, 0x00, 0x00]

UNIT Hector HectorLord Eliwood Level(1,Ally,False) [17,9] [17,9] [Armads,WolfBeil,Vulnerary] [0x00, 0x00, 0x00, 0x00]

UNIT Empty

Reinforcement_units:

UNIT Marcus Paladin 0x00 Level(10,NPC,True) [0,7] [0,7] [silverSpear,KillerLance] [0x00, 0x00, 0x00, 0x00]

UNIT Empty

Turn_events:

TURN 0x00 Opening_event [1,00] 0x0 0x00

TURN 0x06 Reinforcements [1,00] 0x8 0x00

TURN

Character_events:

CHAR

Location_events:

Village(0x07,Village1,16,2)

LOCA

Misc_events:

DefeatAll(Ending_event)

CauseGameOverIfLordDies

AFEV

Opening_event:

MUS1 0x0033

LOU1 Good

ENUN

CAM1 Eliwood

TEX1 07FF

REMA

LOU1 Bad

ENUN

CAM1 Glass

TEX1 0800

REMA

CAM1 Hector

TEX1 0801

REMA

ENDA

Ending_event:

MNCH 0x0E

TEX1 0803

REMA

ENDA

Village1:

MUSI

TEX1 0802

REMA

ITGV IronSword

ITGV KillingEdge

MUNO

ENDA

Reinforcements:

LOU1 Reinforcement_units

ENUN

ENDA

BallistaData:

BLST

MESSAGE Events end at offset currentOffset

//The map for this chapter is at offset: 8369C90

somehow, 07FF is not a valid number now(WTF?!), and it's stopping me from seeing if the rest of my changes have worked. and my ending event just makes the screen go black and goes to the save screen.

Edited by Claude_C_Kenny
Link to comment
Share on other sites

Try 0x07FF

Ending_event:

MNCH 0x0E

TEX1 0803

REMA

ENDA

MNCH is first, MNCH takes you to save screen... so yes, the game is working right, you just mixed up the order--MNCH is RIGHT before ENDA. =P

Edited by Luffy
Link to comment
Share on other sites

WTF is going on with this?! i've taken everyone's suggestions and gotten this:


#define DISABLE_TUTORIALS
#include EAstdlib.event

EventPointerTable(0x39,Pointers)


org 0x01003810
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 Glass Mercenary 0x00 Level(1,Enemy,False) [0,9] [1,11] [ironSword] [0x00, 0x00, 0x00, 0x00]
UNIT Batta Brigand Glass Level(1,Enemy,False) [0,9] [1,9] [ironAxe] [0x00, 0x00, 0x00, 0x00]
UNIT Zagan Fighter Glass Level(1,Enemy,False) [0,9] [2,5] [ironAxe] [0x00, 0x00, 0x00, 0x00]
UNIT Empty

Good:
UNIT Eliwood EliwoodLord 0x00 Level(1,Ally,False) [17,11] [14,9] [Durandal,Rapier,Vulnerary] [0x00, 0x00, 0x00, 0x00]
UNIT Hector HectorLord Eliwood Level(1,Ally,False) [17,11] [17,9] [Armads,WolfBeil,Vulnerary] [0x00, 0x00, 0x00, 0x00]
UNIT Empty

Reinforcement_units:
UNIT Marcus Paladin 0x00 Level(10,NPC,True) [0,7] [0,7] [silverSpear,KillerLance] [0x00, 0x00, 0x00, 0x00]
UNIT Empty

Turn_events:
TURN 0x00 Opening_event [1,00] 0x0 0x00
TURN 0x06 Reinforcements [1,00] 0x8 0x00
TURN

Character_events:
CHAR

Location_events:
Village(0x07,Village1,16,2)
LOCA

Misc_events:
DefeatAll(Ending_event)
CauseGameOverIfLordDies
AFEV

Opening_event:
MUS1 0x0033
LOU1 Good
ENUN
CAM1 Eliwood
BACG 0x02
TEX1 0804
REMA
LOU1 Bad
ENUN
CAM1 Glass
BACg 0x02
TEX1 0800
REMA
CAM1 Hector
BACG 0x02
TEX1 0801
REMA
ENDA

Ending_event:
BACG 0x02
TEX1 0803
REMA
MNCH 0x0E
ENDA

Village1:
MUSI
BACG 0x02
TEX1 0802
REMA
ITGV IronSword
ITGV KillingEdge
MUNO
ENDA

Reinforcements:
LOU1 Reinforcement_units
ENUN
ENDA

BallistaData:
BLST


MESSAGE Events end at offset currentOffset
//The map for this chapter is at offset: 8369C90
[/Code]

I insert it, then I go to FEditor to re-insert my text. I get this message:

"There was a problem processing one or more file streams."

RAGEFINGFINGRAGEFINGQUITFMHITA

What do I do now? At least I haven't done too much that I can't just use a fresh ROM (I wound up f'ing my backup as well), but if this happens when i'm halfway done, i'm gonna f'ing rage harder than a certain banned class.

Edited by Claude_C_Kenny
Link to comment
Share on other sites

[4:32:16 PM] shadowofchaos (Rey): btw Dan

[4:32:43 PM] shadowofchaos (Rey): for him "one or more file streams"

[4:32:50 PM] shadowofchaos (Rey): that guy

[4:32:53 PM] shadowofchaos (Rey): err... tell him to close everything

[4:32:55 PM] shadowofchaos (Rey): restart

[4:32:58 PM] shadowofchaos (Rey): and try opening it in FEditor again

[4:33:05 PM] shadowofchaos (Rey): if that doesn't fix it

[4:33:07 PM] shadowofchaos (Rey): his rom is screwed

[4:33:10 PM] shadowofchaos (Rey): no seriously

[4:33:15 PM] shadowofchaos (Rey): if that thing shows up

[4:33:19 PM] shadowofchaos (Rey): you're screwed

[4:33:32 PM] shadowofchaos (Rey): if it's not the "it's open in an editor, and I can't open it again without closing the other thing"

[4:33:37 PM] shadowofchaos (Rey): then your ROM is just SOL

Link to comment
Share on other sites

I wound up f'ing my backup as well

Well, be lots more careful. Have a better, more complete back-up system. If you really want to be safe, back-up everytime before you use FEditor Adv. and not just because game crashes seem to either be FEditor's or GBAGE's fault

Unless what Rey said works, I think you'll have to restart. But at least you'll retain the hacking knowledge you've gained. :P

Edited by Luffy
Link to comment
Share on other sites

Damn, that sucks. at least I didn't do anything important. You guys happen to know what causes the error, so I don't trigger it again?

EDIT: and what about what I posted? does it look okay? anything there that might cause the error?

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