Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

idunno if this is the problem, but...

ITGV (HerosCrest)

what's with the parenthesis?

I thought you were supposed to use parenthesis... and it's worked in the past. I'll try taking them out though.

Yeah, same problem still. Facepalm_emote_gif.gif

Edited by eCut
Doublepost, merged.
Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

I had that same problem. At least for me, it happened while I had an event that involved a map change (for me, it was a village) before actually inserting the map changes into the rom. After I inserted it, the problem went away.

Try doing that and seeing if it works.

Link to comment
Share on other sites

I had that same problem. At least for me, it happened while I had an event that involved a map change (for me, it was a village) before actually inserting the map changes into the rom. After I inserted it, the problem went away.

Try doing that and seeing if it works.

THANK YOU SO MUCH!!! wub.gif

Link to comment
Share on other sites

Damn you conditional events!

MellarMercenariesTurn:
MellarMercenariesTurn:
STAL 20
IFET 0x02 0x09/*if it was Owen that Henrick talked to*/
TEX1 0x84E
TurnEnemy(Dale)
TurnEnemy(Violet)
TurnEnemy(Owen)
REMA
ELSE 0x03
ENIF 0x02
IFET 0x04 0x08/*if it was Dale that Henrick talked to*/
ENIF 0x03
TEX1 0x84F
REMA
TurnEnemy(Dale)
TurnEnemy(Violet)
TurnEnemy(Owen)
ELSE 0x05
ENIF 0x04
IFET 0x06 0x08/*if it was Violet that Henrick talked to*/
ENIF 0x05
TEX1 0x850
REMA
TurnEnemy(Dale)
TurnEnemy(Violet)
TurnEnemy(Owen)
ENIF 0x06
ENDA

So what's meant to happen is 3 units appear as NPCs and the lord can talk to any 3 of them. They join on the condition that only they attack the boss. (Unspecified battle convo has event ID 0x0C). If you do, then the character that the lord talked to will say something and then they turn into enemies. Now at the moment what happens is the Owen convo works fine, the Violet one doesn't work at all, and the Dale one works but then straight after Violet's conversation happens as well. Have I not put in an ENIF somewhere or something?

Link to comment
Share on other sites

that looks inefficient as pants

[spoiler=Stuff]First off, let's move the "BECOME BAD" to a different section to save on space, and a jump to that place.

MellarMercenariesTurn:
STAL 20
IFET 0x02 0x09/*if it was Owen that Henrick talked to*/
TEX1 0x84E
JUMP MercsTurnEnemy
REMA
ELSE 0x03
ENIF 0x02
IFET 0x04 0x08/*if it was Dale that Henrick talked to*/
ENIF 0x03
TEX1 0x84F
REMA
JUMP MercsTurnEnemy
ELSE 0x05
ENIF 0x04
IFET 0x06 0x08/*if it was Violet that Henrick talked to*/
ENIF 0x05
TEX1 0x850
REMA
JUMP MercsTurnEnemy
ENIF 0x06
ENDA

MercsTurnEnemy:
TurnEnemy(Dale)
TurnEnemy(Violet)
TurnEnemy(Owen)
ENDA

Now, um, hm. If Owen, then it does Owen's text and jumps away. Now you don't need the else because if it was owen, you've jumped away and if it wasn't, you ignore the owen section anyway.

MellarMercenariesTurn:
STAL 20
IFET 0x02 0x09/*if it was Owen that Henrick talked to*/
TEX1 0x84E
REMA
JUMP MercsTurnEnemy
ENIF 0x02
IFET 0x03 0x08/*if it was Dale that Henrick talked to*/
TEX1 0x84F
REMA
JUMP MercsTurnEnemy
ENIF 0x03
IFET 0x04 0x08/*if it was Violet that Henrick talked to*/
TEX1 0x850
REMA
ENIF 0x04

MercsTurnEnemy:
TurnEnemy(Dale)
TurnEnemy(Violet)
TurnEnemy(Owen)
ENDA

Hold on, now I know what your problem is.

The Violet one won't work because it's the same event id you're checking for as the Dale one. So I think your original script worked you just typo'd lol.

anyway even though the new script should be functionally exactly the same as your old one, it's easier to read. use jumps! There's a tutorial on it.

Edited by Ninja Caterpie
Link to comment
Share on other sites

First off I see that your pointer "MellarMercenariesTurn" is printed twice when you should only have it once.

Second, Dale and Violet are both checking for the same ID 0x08 while Owen has a unique one. Have you tried giving all three of them unique ID's to check for?

And when it comes to IF statements, indentation works wonders for helping you keep things straight if you think you might be missing an ENIF.

An alternative way to do this might be to have 3 copies of the AFEV event that triggers when someone other than those 3 attack the boss. When you talk to one of them to recruit the three, use ENUT to disable the other 2 events so only the appropriate one triggers.

Edit: Eh, Caterpie's work too.

Edited by Primefusion
Link to comment
Share on other sites

lol typo

also pants are very efficient

I wasn't sure how to use JUMP properly cam's tutorials are balls but it makes sense now. Thanks!

There were also some errors in the one you gave me (lol) but I fixed them so it works like a charm. Thank youuuuu!

Link to comment
Share on other sites

First off, let's move the "BECOME BAD" to a different section to save on space, and a jump to that place.

not necessary - iirc it's actually marginally slower to JUMP than to just if/else it and the clause is small enough that there's no great loss of readability if you just inline it.

Now, um, hm. If Owen, then it does Owen's text and jumps away. Now you don't need the else because if it was owen, you've jumped away and if it wasn't, you ignore the owen section anyway.

looks about right

anyway even though the new script should be functionally exactly the same as your old one, it's easier to read. use jumps! There's a tutorial on it.

right idea but jumps can actually impair readability depending on the size of the clause

Link to comment
Share on other sites

I am having trouble with tile changes. I've gotten the changes to trigger, but instead of the new tiles being the ones I programmed in, they are just random impassible tiles. Does anyone know what the problem is?

Here is the text related to the tile change:

Location_events:

Door(9,1)

CODE 0x00

#define TileMap(changeID,Xcoordinate,Ycoordinate,Length,Height,offset) "CODE changeID Xcoordinate Ycoordinate Length Height 0x00 0x00 0x00 offset"

org 0xC9C9CC+(4*0x19)

POIN TileChanges

org 0xD84000

TileChanges:

TileMap(0x00,0x09,0x01,0x02,0x01,Door)

CODE $FF

CODE $00

CODE $00

Door:

CODE 0xE0 0x08 0x54 0x07 0x00 0x00

Thanks in advance.

Link to comment
Share on other sites

I feel like this is an easy question, but what goes in the x and y coordinates for the LOMA command?

//Made by markyjoe1990 of Youtube

//Modified by Nintenlord

#define DISABLE_TUTORIALS

#include EAstdlib.event

EventPointerTable(0x0F,ThisChapter)

ORG 0xD025A0

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 0x46 0x12 0x0 0x14 [19,18] [18,16] [0x1F,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT 0x9A 0x39 0x8D 0x2C [19,11] [16,7] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9B 0x39 0x8D 0x2C [12,0] [13,8] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9C 0x39 0x8D 0x2C [19,9] [16,9] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9D 0x12 0x8D 0x2C [19,10] [12,9] [0x1F,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0xA0 0x12 0x8D 0x2C [18,14] [18,14] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xA1 0x0A 0x8D 0x1C [17,14] [17,12] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x20]

UNIT 0xA2 0x39 0x8D 0x1C [10,1] [9,8] [0x1F,0x0,0x0,0x0] [0x0,0x4,0x1,0x0]

UNIT 0xA3 0x0A 0x8D 0x2C [12,0] [11,6] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0xA4 0x0A 0x8D 0x2C [0,13] [2,12] [0x1,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xA5 0x12 0x8D 0x2C [0,11] [3,8] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9C 0x12 0x8D 0x2C [0,12] [7,3] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9D 0x18 0x8D 0x2C [4,14] [5,13] [0x2C,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0xA0 0x18 0x8D 0x2C [1,0] [2,5] [0x2C,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xA1 0x0A 0x8D 0x2C [9,1] [8,10] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x20]

UNIT 0xA2 0x39 0x8D 0x1C [0,0] [4,4] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT

Good:

UNIT 0x8 0x12 0x3 0x20 [11,12] [9,11] [0x1F,0x26,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x39 0x3D 0x3 0x10 [11,11] [8,12] [0x1,0x6B,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0x11 0x1D 0x3 0x8 [11,12] [11,13] [0x4A,0x6B,0x0,0x0] [0xF,0x3,0x9,0x0]

UNIT 0x0E 0x19 0x3 0x20 [11,12] [15,12] [0x2C,0x6B,0x0,0x0] [0x0,0x2,0x0,0x0]

UNIT 0x2C 0x14 0x3 0x20 [11,12] [14,11] [0x14,0x6B,0x0,0x0] [0x0,0x2,0x0,0x0]

UNIT 0x13 0x20 0x3 0x8 [11,12] [13,13] [0x37,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x3 0x2 0x0 0x8 [0,0] [2,1] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x18 0x0E 0x3 0x9 [0,1] [1,2] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x0B 0x38 0x0 0x22 [13,0] [13,0] [0x14,0x1C,0x6B,0x0] [0x0,0x0,0x0,0x0]

UNIT

TheGuys:

UNIT 0x3 0x2 0x0 0x8 [0,0] [2,1] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x18 0x0E 0x3 0x9 [0,1] [1,2] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT

Aran:

UNIT 0x0B 0x38 0x0 0x22 [13,0] [13,0] [0x14,0x1C,0x6B,0x0] [0x0,0x0,0x0,0x0]

UNIT

Joshua:

UNIT 0x6 0x0E 0x0 0x2A [12,0] [12,5] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT

Darren:

UNIT 0x8D 0x14 0x46 0x12 [0,13] [2,13] [0x14,0x68,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT

DarrenTroop:

UNIT 0x8D 0x14 0x46 0x12 [0,13] [2,13] [0x14,0x68,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT 0x87 0x39 0x0 0x3C [0,13] [2,12] [0x1F,0x0,0x0,0x0] [0x0,0x3,0x9,0x20]

UNIT 0xE6 0x39 0x8D 0x2C [19,11] [16,7] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xE6 0x39 0x8D 0x2C [19,11] [16,7] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xE6 0x39 0x8D 0x2C [19,11] [16,7] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT

Turn_events:

TurnEventPlayer(0x00,Opening_event,1)

TURN

Character_events:

CHAR

Location_events:

LOCA

Misc_events:

CauseGameOverIfLordDies

AFEV

Opening_event:

MUS1 0x0009

LOMA 0x04 [XX] [YY]

LOU1 TheGuys Aran Joshua

ENUN

Text(0x02,0x087D)

LOMA 0x05 [XX] [YY]

LOU1 Good Bad Darren

ENUN

Text(0x10,0x087E)

DISA 0x8D

MOVE 0x03 [5,13]

CURF 0x03

Text(0x87F)

LOU1 DarrenTroop

ENUN

CAM1 0x46

CURF 0x46

Text(0x40,0x0880)

MOVE 0x46 [12,12]

MOVE 0x8D [11,11]

CURF 0x8D

Text(0x07,0x0881)

MOVE 0x46 [12,12]

CURF 0x46

Text(0x10,0x0882)

CAM1 0x8D

CURF 0x8D

Text(0x0883)

CAM1 0x03

CURF 0x03

Text(0x0883)

ENDA

Ending_event:

ENDA

BallistaData:

BLST

ALIGN 4

MESSAGE Events end at offset currentOffset

Link to comment
Share on other sites

I feel like this is an easy question, but what goes in the x and y coordinates for the LOMA command?

//Made by markyjoe1990 of Youtube

//Modified by Nintenlord

#define DISABLE_TUTORIALS

#include EAstdlib.event

EventPointerTable(0x0F,ThisChapter)

ORG 0xD025A0

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 0x46 0x12 0x0 0x14 [19,18] [18,16] [0x1F,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT 0x9A 0x39 0x8D 0x2C [19,11] [16,7] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9B 0x39 0x8D 0x2C [12,0] [13,8] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9C 0x39 0x8D 0x2C [19,9] [16,9] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9D 0x12 0x8D 0x2C [19,10] [12,9] [0x1F,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0xA0 0x12 0x8D 0x2C [18,14] [18,14] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xA1 0x0A 0x8D 0x1C [17,14] [17,12] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x20]

UNIT 0xA2 0x39 0x8D 0x1C [10,1] [9,8] [0x1F,0x0,0x0,0x0] [0x0,0x4,0x1,0x0]

UNIT 0xA3 0x0A 0x8D 0x2C [12,0] [11,6] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0xA4 0x0A 0x8D 0x2C [0,13] [2,12] [0x1,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xA5 0x12 0x8D 0x2C [0,11] [3,8] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9C 0x12 0x8D 0x2C [0,12] [7,3] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9D 0x18 0x8D 0x2C [4,14] [5,13] [0x2C,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0xA0 0x18 0x8D 0x2C [1,0] [2,5] [0x2C,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xA1 0x0A 0x8D 0x2C [9,1] [8,10] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x20]

UNIT 0xA2 0x39 0x8D 0x1C [0,0] [4,4] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT

Good:

UNIT 0x8 0x12 0x3 0x20 [11,12] [9,11] [0x1F,0x26,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x39 0x3D 0x3 0x10 [11,11] [8,12] [0x1,0x6B,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0x11 0x1D 0x3 0x8 [11,12] [11,13] [0x4A,0x6B,0x0,0x0] [0xF,0x3,0x9,0x0]

UNIT 0x0E 0x19 0x3 0x20 [11,12] [15,12] [0x2C,0x6B,0x0,0x0] [0x0,0x2,0x0,0x0]

UNIT 0x2C 0x14 0x3 0x20 [11,12] [14,11] [0x14,0x6B,0x0,0x0] [0x0,0x2,0x0,0x0]

UNIT 0x13 0x20 0x3 0x8 [11,12] [13,13] [0x37,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x3 0x2 0x0 0x8 [0,0] [2,1] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x18 0x0E 0x3 0x9 [0,1] [1,2] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x0B 0x38 0x0 0x22 [13,0] [13,0] [0x14,0x1C,0x6B,0x0] [0x0,0x0,0x0,0x0]

UNIT

TheGuys:

UNIT 0x3 0x2 0x0 0x8 [0,0] [2,1] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x18 0x0E 0x3 0x9 [0,1] [1,2] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT

Aran:

UNIT 0x0B 0x38 0x0 0x22 [13,0] [13,0] [0x14,0x1C,0x6B,0x0] [0x0,0x0,0x0,0x0]

UNIT

Joshua:

UNIT 0x6 0x0E 0x0 0x2A [12,0] [12,5] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT

Darren:

UNIT 0x8D 0x14 0x46 0x12 [0,13] [2,13] [0x14,0x68,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT

DarrenTroop:

UNIT 0x8D 0x14 0x46 0x12 [0,13] [2,13] [0x14,0x68,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT 0x87 0x39 0x0 0x3C [0,13] [2,12] [0x1F,0x0,0x0,0x0] [0x0,0x3,0x9,0x20]

UNIT 0xE6 0x39 0x8D 0x2C [19,11] [16,7] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xE6 0x39 0x8D 0x2C [19,11] [16,7] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xE6 0x39 0x8D 0x2C [19,11] [16,7] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT

Turn_events:

TurnEventPlayer(0x00,Opening_event,1)

TURN

Character_events:

CHAR

Location_events:

LOCA

Misc_events:

CauseGameOverIfLordDies

AFEV

Opening_event:

MUS1 0x0009

LOMA 0x04 [XX] [YY]

LOU1 TheGuys Aran Joshua

ENUN

Text(0x02,0x087D)

LOMA 0x05 [XX] [YY]

LOU1 Good Bad Darren

ENUN

Text(0x10,0x087E)

DISA 0x8D

MOVE 0x03 [5,13]

CURF 0x03

Text(0x87F)

LOU1 DarrenTroop

ENUN

CAM1 0x46

CURF 0x46

Text(0x40,0x0880)

MOVE 0x46 [12,12]

MOVE 0x8D [11,11]

CURF 0x8D

Text(0x07,0x0881)

MOVE 0x46 [12,12]

CURF 0x46

Text(0x10,0x0882)

CAM1 0x8D

CURF 0x8D

Text(0x0883)

CAM1 0x03

CURF 0x03

Text(0x0883)

ENDA

Ending_event:

ENDA

BallistaData:

BLST

ALIGN 4

MESSAGE Events end at offset currentOffset

Those are camera values. They toggle the location of the camera when the map is loaded. Will require some messing around with to make things look right.

Link to comment
Share on other sites

The regular events work fine, but I'm trying to get the game to run multiple conditions at the end of the chapter. (If 1 or 2 NPCs survived the chapter.) The idea is that it gives different endings for if they survived.

//Made by markyjoe1990 of Youtube

//Modified by Nintenlord

#define DISABLE_TUTORIALS

#include EAstdlib.event

EventPointerTable(0x0F,ThisChapter)

ORG 0xD03160

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 0x46 0x12 0x0 0x14 [21,7] [21,7] [0x1F,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT 0x9A 0x39 0x46 0x2C [7,13] [7,13] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9B 0x39 0x46 0x2C [8,11] [8,11] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9C 0x39 0x46 0x2C [10,12] [10,12] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9D 0x12 0x46 0x2C [5,12] [5,12] [0x1F,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0xA0 0x12 0x46 0x2C [8,8] [8,8] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xA1 0x0A 0x46 0x1C [6,9] [6,9] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x20]

UNIT 0xA2 0x39 0x46 0x1C [15,14] [15,14] [0x1F,0x0,0x0,0x0] [0x0,0x4,0x1,0x0]

UNIT 0xA3 0x0A 0x46 0x2C [13,4] [13,4] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0xA4 0x0A 0x46 0x2C [8,15] [8,15] [0x1,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xA5 0x12 0x46 0x2C [18,16] [18,16] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9C 0x12 0x46 0x2C [20,12] [20,12] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x9D 0x18 0x46 0x2C [22,11] [22,11] [0x2C,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0xA0 0x18 0x46 0x2C [20,10] [20,10] [0x2C,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xA1 0x0A 0x46 0x2C [18,4] [18,4] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x20]

UNIT 0xA2 0x39 0x46 0x1C [4,4] [4,4] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT

Good:

UNIT 0x8 0x12 0x3 0x20 [9,19] [9,19] [0x1F,0x26,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x39 0x3D 0x3 0x10 [5,19] [5,19] [0x1,0x6B,0x0,0x0] [0x0,0x3,0x9,0x0]

UNIT 0x11 0x1D 0x3 0x8 [8,19] [8,18] [0x4A,0x6B,0x0,0x0] [0xF,0x3,0x9,0x0]

UNIT 0x0E 0x19 0x3 0x20 [11,19] [11,19] [0x2C,0x6B,0x0,0x0] [0x0,0x2,0x0,0x0]

UNIT 0x2C 0x14 0x3 0x20 [7,19] [7,19] [0x14,0x6B,0x0,0x0] [0x0,0x2,0x0,0x0]

UNIT 0x13 0x20 0x3 0x8 [6,19] [6,18] [0x37,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x3 0x2 0x0 0x8 [12,19] [12,18] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x18 0x0E 0x3 0x9 [13,19] [13,19] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x0B 0x38 0x0 0x20 [4,19] [5,17] [0x14,0x1C,0x6B,0x0] [0x0,0x0,0x0,0x0]

UNIT

TheGuys:

UNIT 0x3 0x2 0x0 0x8 [13,3] [13,4] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x18 0x0E 0x3 0x9 [14,4] [14,5] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT

Aran:

UNIT 0x0B 0x38 0x0 0x20 [13,0] [13,6] [0x14,0x1C,0x6B,0x0] [0x0,0x0,0x0,0x0]

UNIT

Joshua:

UNIT 0x6 0x0E 0x0 0x2A [12,0] [12,5] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT

Darren:

UNIT 0x8D 0x14 0x46 0x22 [10,19] [10,18] [0x14,0x68,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT

DarrenTroop:

UNIT 0x8D 0x14 0x0 0x22 [21,0] [21,2] [0x14,0x68,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0x87 0x39 0x8D 0x3B [20,0] [20,1] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xE6 0x39 0x8D 0x22 [19,0] [19,0] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xE6 0x39 0x8D 0x22 [22,0] [22,1] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT 0xE6 0x39 0x8D 0x22 [23,0] [23,0] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]

UNIT

TheGuys2:

UNIT 0x3 0x2 0x0 0x8 [20,8] [20,8] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x18 0x0E 0x3 0x9 [22,8] [22,8] [0x1,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT

Darren2:

UNIT 0x8D 0x14 0x46 0x22 [21,9] [21,9] [0x14,0x68,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT

Seed:

UNIT 0x46 0x12 0x0 0x14 [21,7] [21,7] [0x1F,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]

UNIT

Turn_events:

TurnEventPlayer(0x00,Opening_event,1)

TURN

Character_events:

CHAR

Location_events:

Seize(0x06,Ending_event,21,7)

LOCA

Misc_events:

CauseGameOverIfLordDies

AFEV

Opening_event:

FADI 0x10

MUS1 0x0009

LOMA 0x04 [11,12]

LOU1 TheGuys Aran Joshua

ENUN

OOBB

STAL 0x20

CURF 0x06

Text(0x02,0x087D)

FADU 0x5

FADI 0x10

DISA 0x03

DISA 0x18

DISA 0x06

DISA 0x0B

LOMA 0x05 [00,00]

LOU1 Good Bad Darren

ENUN

OOBB

STAL 0x20

CURF 0x8D

Text(0x10,0x087E)

ITGC 0x03 0x69

ITGC 0x39 0x6A

MOVE (0x8D) [10,19]

DISA 0x8D

MOVE 0x03 [7,17]

MOVE 0x18 [9,17]

MOVE 0x0E [10,18]

STAL 0x30

CURF 0x03

Text(0x87F)

MOVE (0xA4) [20,8]

STAL 0x170

CAM1 0x46

CURF 0xA4

Text(0x40,0x0880)

MOVE 0x46 [21,4]

LOU1 DarrenTroop

ENUN

CURF 0x8D

Text(0x07,0x0881)

MOVE 0x46 [21,7]

STAL 0x100

CURF [21,7]

Text(0x10,0x0882)

CAM1 0x8D

CURF 0x8D

Text(0x0883)

CAM1 0x03

CURF 0x03

Text(0x0884)

ENDA

Darren_Seed:

AttackerHit(9,0)

DefenderHit(8,0)

AttackerCritical(27,1)

EndOfBattle

Ending_event:

MUS1 0x0009

FADI 0x10

BACG 0x03

FADU 0x10

ASMC 0x7A8B9

LOU1 TheGuys

TEX1 0x0885

REMA

IFCD 0x01 0x8D //if guy 1 is dead

IFCD 0x03 0x87 //if guy 2 is dead

Text(0x22,0x0886)

MoveToChapter(6)

ELSE 0x04 //if guy 2 is alive

Text(0x22,0x0887)

MoveToChapter(6)

ELSE 0x02 //if guy 1 is alive

LOU1 TheGuys2 Darren2 Seed

ENUN

CAM1 0x03

CURF 0x8D

Text(0x0888)

MOVE 0x8D [21,8]

FIGH 0x8D 0x46 (Darren_Seed) [0x00]

KILL 0x46

CURF 0x8D

Text(0x0889)

IFCD 0x05 0x87 //if guy 2 is dead

Text(0x22,0x088A)

MoveToChapter(6)

ELSE 0x06 //if guy 2 is alive

LOU1 Batta

ENUN

CURF 0x87

Text(0x22,0x088B)

MoveToChapter(6)

ENDA

BallistaData:

BLST

ALIGN 4

MESSAGE Events end at offset currentOffset

Link to comment
Share on other sites

#define MoveToChapter(chapter) "FADI 4; HIDEMAP; BACG 0x5B; MNCH chapter; STAL 1; _0x1; ENDA"

Change all but the last MoveToChapter to a macro like this:(Cam made this like 9 pages down; I'm just being lazy and copy pasting):

#define MoveToGaiden(chapter) "FADI 4; HIDEMAP; BACG 0x5B; MNCH chapter; STAL 1; _0x1;"

Otherwise the ENDA will just make the game check the first thing and then ignore the rest of Ending_event.

Speaking of ENDA, get rid of the one in the Ending_event.

You're also missing a ton of ENIFs.

Link to comment
Share on other sites

No problem.

One last thing though: you should use macros more often :P

0x14 [21,7] [21,7] [0x1F,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]

can just be simplified to

Level(2,Enemy,False) [21,7] [21,7] [ironAxe] GuardTile

Looks nicer and also helps when you're working with multiple event hacker IMO~

It also introduces more possibilities to misspell things

Edited by Aura Wolf
Link to comment
Share on other sites

Doing something wrong.

Ending_event:

MUS1 0x0009

FADI 0x10

BACG 0x03

FADU 0x10

ASMC 0x7A8B9

LOU1 TheGuys

TEX1 0x0885

REMA

IFCD 0x01 0x8D //if guy 1 is dead

IFCD 0x03 0x87 //if guy 2 is dead

Text(0x22,0x0886)

ENIF 0x03

MoveToGaiden(6)

ELSE 0x04 //if guy 2 is alive

Text(0x22,0x0887)

ENIF 0x04

MoveToGaiden(6)

ENIF 0x01

ELSE 0x02 //if guy 1 is alive

LOU1 TheGuys2 Darren2 Seed

ENUN

CAM1 0x03

CURF 0x8D

Text(0x0888)

MOVE 0x8D [21,8]

FIGH 0x8D 0x46 (Darren_Seed) [0x00]

KILL 0x46

CURF 0x8D

Text(0x0889)

IFCD 0x05 0x87 //if guy 2 is dead

Text(0x22,0x088A)

ENIF 0x05

MoveToGaiden(6)

ELSE 0x06 //if guy 2 is alive

LOU1 Batta

ENUN

CURF 0x87

Text(0x22,0x088B)

ENIF 0x06

MoveToGaiden(6)

ENIF 0x02

Link to comment
Share on other sites

EndingEvent:
MUS1 0x0038
FADI 100
BACG 0x0009
FADU 50
TEX1 0x851
FADI 50
BACG 0x0009
FADU 50
IFET 0x20 0x09/*if it was Owen that Henrick talked to*/
CALL OwenTalks
ELSE 0x21/*nothing happens*/
ENIF 0x20
IFET 0x22 0x08/*if it was Dale that Henrick talked to*/
ENIF 0x21
CALL DaleTalks
ELSE 0x23/*nothing happens*/
ENIF 0x22
IFET 0x24 0x10/*if it was Violet that Henrick talked to*/
ENIF 0x23
CALL VioletTalks
ELSE 0x25
ENIF 0x24
ENIF 0x25
FADI 50
UnitClear
FADU 150
REMA
MUEN 5
CAM1 [9,10]
CMOF
LOU1 FinalSceneUnits
ENUN
CURF Henrick
FADI 10
BACG 0x0009
FADU 10
TEX1 0x858
REMA
STAL 30
LOU1 MaceUnit
ENUN
FADI 10
BACG 0x0009
FADU 10
TEX1 0x859
MNCH 0x02
STAL 1
_0x1
ENDA

OwenTalks:
TEX1 0x854
MUEN 3
STAL 10
MUS1 0x006D
MORETEXT 0x857
ENDA

DaleTalks:
TEX1 0x853
MUEN 3
STAL 10
MUS1 0x006D
MORETEXT 0x856
ENDA

VioletTalks:
TEX1 0x852
MUEN 3
STAL 10
MUS1 0x006D
MORETEXT 0x855
ENDA

So I thought that I'd be able to simply C+P the same conditional event pattern that I used earlier on in the topic (included below) except since it was for the ending scene I realised that there was some other stuff so I tried out the CALL command to save on space or something. Here's the one that I used as a basis for it:

MellarMercenariesTurn:
STAL 20
IFET 0x02 0x09/*if it was Owen that Henrick talked to*/
TEX1 0x84E
REMA
JUMP MercsTurnEnemy
ENIF 0x02
IFET 0x03 0x08/*if it was Dale that Henrick talked to*/
TEX1 0x84F
REMA
JUMP MercsTurnEnemy
ENIF 0x03
IFET 0x04 0x10/*if it was Violet that Henrick talked to*/
TEX1 0x850
REMA
JUMP MercsTurnEnemy
ENIF 0x04

I'm under the impression that events in the first spoiler should only yield 1 conversation with 1 character, but as things are now, in the first spoiler, all of the conversations play out. Were all of the event IDs 0x08, 0x09 and 0x10 marked as "used" somehow? Did I use the CALL thingo incorrectly?

Edited by Agro
Link to comment
Share on other sites

All CALL codes in FE7 need to be followed by _0x9A code. We don't know what it actually does, but it may restore things you need, such as conditional ID's. Assuming your problem is in the snipped you posted, it may be somewhere else in the events for all we know.

Link to comment
Share on other sites

@Fuzz

Missing an ENDA at the end.

The opposite ELSE needs to be in the same IF statement; ELSE before ENIF.

IFCD 0x01 0x8D //if guy 1 is dead
IFCD 0x03 0x87 //if guy 2 is dead
Text(0x22,0x0886)
ENIF 0x03
MoveToGaiden(6)
ELSE 0x04 //if guy 2 is alive

Should be:

IFCD 0x01 0x8D //if guy 1 is dead
IFCD 0x03 0x87 //if guy 2 is dead
Text(0x22,0x0886)
MoveToGaiden(6)
ELSE 0x04 //if guy 2 is alive
ENIF 0x03

Edited by Aura Wolf
Link to comment
Share on other sites

The Else scripts work fine, but that's all it does. Even if both guys are dead, it stills does the events as if they were both alive.

Ending_event:

MUS1 0x0009

FADI 0x10

BACG 0x03

FADU 0x10

ASMC 0x7A8B9

REMA

IFCD 0x01 0x8D //if guy 1 is dead

LOU1 TheGuys2

ENUN

IFCD 0x03 0x87 //if guy 2 is dead

Text(0x22,0x0886)

MoveToGaiden(6)

ELSE 0x04 //if guy 2 is alive

ENIF 0x03

Text(0x22,0x0887)

MoveToGaiden(6)

ELSE 0x02 //if guy 1 is alive

ENIF 0x04

ENIF 0x01

LOU1 TheGuys2 Darren2 Seed

ENUN

CAM1 0x03

CURF 0x8D

Text(0x0888)

MOVE 0x8D [21,8]

STAL 0x30

FIGH 0x8D 0x46 (Darren_Seed) [0x00]

KILL 0x46

CURF 0x8D

Text(0x0889)

IFCD 0x05 0x87 //if guy 2 is dead

Text(0x22,0x088A)

MoveToGaiden(6)

ELSE 0x06 //if guy 2 is alive

ENIF 0x05

LOU1 Other

ENUN

CURF 0x87

Text(0x22,0x088B)

MoveToGaiden(6)

ENIF 0x06

ENIF 0x02

ENDA

Edited by fuzz94
Link to comment
Share on other sites

All CALL codes in FE7 need to be followed by _0x9A code. We don't know what it actually does, but it may restore things you need, such as conditional ID's. Assuming your problem is in the snipped you posted, it may be somewhere else in the events for all we know.

Yay, it worked! Thanks NL, as always.

Link to comment
Share on other sites

So, just one quick question, how do I stop the game loading the default events before mine. To elaborate, at the very start of the original chapter 1, that 'ships and homes' song starts playing. Now, when I put in my custom events, the 'ships and homes'song starts playing for a couple of seconds, then my events play. Is there a way to stop this from happening?

Link to comment
Share on other sites

ELSE 0x02 //if guy 1 is alive
ENIF 0x04
ENIF 0x01

Should've been more clear by saying the opposite is the very last code before the ENIF of the IF statement that the ELSE is the opposite of.

ENIF 0x04
ELSE 0x02 //if guy 1 is alive
ENIF 0x01

If that doesn't work, the only thing I can think of is to make sure that the character values are correct in the IFCDs why aren't you using custom character macros <__>.

Edited by Aura Wolf
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...