Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

  • 2 weeks later...
  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

So here's a question. I want the game to check to see if an NPC survived on one chapter. and if they survived on say Chapter 3. Then they would join on Chapter 13. Is there a way to do that strictly in events, or is that partially ASM?

Link to comment
Share on other sites

Okay I think I got it, so I would basically have the NPC on Chapter 3, and then

NPCalivedead:
ENUT NPCdeathquote

And then every later chapter that calls into question the NPCs survival runs

IFET 0x0 NPCdeathquote

And IFET will look up if the permanent ID was triggered on Chapter 3.

So an example

EndingScene:
MUS1 0x27
FADI 16
HIDEMAP
BACG 0x5
FADU 16
SHOWMAP
TEX1 0x11
IFET 0x0 NPCdeathquote
MORETEXT 0x12
ENIF 0x0
MORETEXT 0x13

Am I getting that right?

Link to comment
Share on other sites

i'm pretty sure you can just have the death quote itself be the permaID

So I set the characters deathquote as 0x66

Now I'm trying to set it up so in C1 he spawns, so if we kill him, he'll not spawn in the next chapter.

So for the record I'm not playing any events in Chapter 1. Then in Chapter 2, I'll put this under Good

NPCSpawn:
IFEF 0x66 0xF
NPC Character Data

Now if he died, he just wont load, but if he lived, he'll deploy? Is that correct or am I going about this the wrong way?

EDIT: Okay yeah I don't know what the hell I'm doing. units not loading either way, do I have to define this elsewhere?

Edited by Onmi
Link to comment
Share on other sites

Your structure looks too basic at the moment. Conditionals follow the IF ELSE format.

LoadSomeNPC:
IFEF 0x66 0x0F
   LOU1 SomeNPC
   ENUN
ELSE 0x10
   ENIF 0x0F // End previous IF
   //Do nothing
   ENIF 0x10 // End the ELSE
ENDA

Make sure to actually call this function or put it in the opening event. Your events may or may not be reaching it currently.

Edited by Primefusion
Link to comment
Share on other sites

Okay so what I did was went to my opening event and added


IFEF 0x66 0xF
LOU1 NPCspawn
ENUN
ELSE 0x10
ENIF 0x0F
ENIF 0x10
ENUN

NPC Spawn calls towards this

NPCSpawn:
UNIT Data
UNIT

This not only is not looking up what I want it to, but for some odd reason if someone dies, it spawns a second Roy. Hell I went and removed the events and I still have this odd Roy spawning if you have a gap in your army.

I tried having the IFEF and everything in it's own little label under NPCSpawncheck, but that still didn't work.

Link to comment
Share on other sites

So I was once again trying to learn events for a hack im doing. This time, Shin was helping me with turnbasedevents.

It looked like it would work, changed the offset to an unused one in:

http://gyazo.com/9529e4fc8ea8cf22ed710a2827459c95

but when I went to play it, I got a black screen with the screeching sound when I start Chapter 3 (not in the world map, its when I have Eirika enter the chapter)(just after I thought It couldnt fail and I had learned this happens ._.). Anyway, was hoping you could identify the problem as Shin and I couldn't. (and believe me when I say ive tried to think of the cause of the black screen). And please, dont be rough if its a noobish mistake. Im not very experienced with the ways of FE8 events but Im doing my best to learn them, mainly because my hack would benefit a lot from events. Once I learn events once, ill know how to do it for the rest of them. I feel like Im almost there in understanding how they work since Shin gave me a good explanation, but hes not very expereinced with the ways of FE8 either...Anyway,

Bold = custom events

[spoiler=Chapter 3 events]

////////////////////////////////////////////////////
// //
// Disassembled with Nintenlord's Event Assembler //
// Version: 9.8.4585.20791 //
// Game: FE8 //
// File: Lunatic FE8 (3).GBA //
// Offset: $9E8A38 //
// //
////////////////////////////////////////////////////



ORG $592104
label18:
_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 $8B4574
Units1:
UNIT 0x1 0x2 0x0 0x8 [0,11] 0b 0x0 0x1 0x8B44D4 [0x9,0x6C,0x6C,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x5 0x45 0x0 0x8 [0,12] 0b 0x0 0x1 0x8B44DC [0x4B,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x7 0x3D 0x0 0x8 [0,10] 0b 0x0 0x1 0x8B44E4 [0x2C,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x6 0x48 0x0 0x10 [0,12] 0b 0x0 0x1 0x8B44EC [0x15,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x3 0x9 0x0 0x28 [0,10] 0b 0x0 0x1 0x8B44F4 [0x14,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x4 0x5 0x0 0x8 [0,11] 0b 0x0 0x1 0x8B44FC [0x1,0x14,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x8 0x1A 0x0 0x30 [0,10] 0b 0x0 0x1 0x8B4504 [0x2D,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x2 0x7 0x0 0x8 [0,12] 0b 0x0 0x1 0x8B450C [0x3,0x17,0x6C,0x0] [0x0,0x0,0x0,0x0]
UNIT 0xA 0x3F 0x0 0x20 [0,10] 0b 0x0 0x1 0x8B4514 [0x1F,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

label20:
UNIT 0x48 0x13 0x0 0x2C [14,1] 0b 0x0 0x1 0x8B451C [0xA1,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x8F 0x41 0x0 0x25 [7,2] 0b 0x0 0x1 0x8B4524 [0x20,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x8F 0x41 0x0 0x24 [9,8] 0b 0x0 0x1 0x8B452C [0x20,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x93 0xD 0x0 0x25 [15,2] 0b 0x0 0x1 0x8B4534 [0x3,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x91 0x19 0x0 0x25 [12,9] 0b 0x0 0x1 0x8B453C [0x2E,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x8F 0x41 0x0 0x25 [14,6] 0b 0x0 0x1 0x8B4544 [0x20,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x92 0x25 0x0 0x24 [9,11] 0b 0x0 0x1 0x8B454C [0x38,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x93 0xD 0x0 0x25 [14,11] 0b 0x0 0x1 0x8B4554 [0x3,0x6B,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x8F 0x41 0x0 0x25 [5,9] 10b 0x0 0x1 0x8B455C [0x28,0x6A,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x8F 0x41 0x0 0x25 [7,11] 10b 0x0 0x1 0x8B4564 [0x28,0x4B,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT

label23:
UNIT 0x9 0xD 0x0 0x42 [0,5] 0b 0x0 0x1 0x8B456C [0x1,0x6B,0x6C,0x0] [0x6,0x5,0x8,0x0]
UNIT

//The next line is for re-assembling purposes. Do not delete!
MESSAGE Original ending offset is $8B4740 and the new ending offset is CURRENTOFFSET

ORG $8B476C
label27:
UNIT 0x6B 0xB 0x6B 0xD [14,2] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x40 0x4F 0x6B 0xD [15,3] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x1D 0x35 0x0 0xD [14,5] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x69 0x21 0x0 0xD [13,5] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x44 0x2A 0x6B 0xD [15,5] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

label28:
UNIT 0x57 0x2B 0x0 0xD [14,10] 0b 0x0 0x1 0x8B4740 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x53 0x11 0x0 0xD [15,10] 0b 0x0 0x1 0x8B4748 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x43 0x23 0x0 0xD [13,10] 0b 0x0 0x1 0x8B4750 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

labelturn:
UNIT 0x93 0xD 0x0 0x25 [14,11] 0b 0x0 0x1 0x8B4554 [0x3,0x6B,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x93 0xD 0x0 0x25 [14,12] 0b 0x0 0x1 0x8B4554 [0x3,0x6B,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT


//The next line is for re-assembling purposes. Do not delete!
MESSAGE Original ending offset is $8B4834 and the new ending offset is CURRENTOFFSET

ORG $9E8984
TurnBasedEvents:
TURN 0x7 label15 [1,1] 0x4
TURN 0x8 label16 [2,2] 0x0
TURN 0x7 label30 [5,5] 0x0
AFEV

CharacterBasedEvents:
CHAR 0x9 label17 [0x8,0x9] 0x0
AFEV

LocationBasedEvents:
CHES 0x0 0x5D [6,3] 0x14
CHES 0x0 0x5F [8,3] 0x14
CHES 0x0 0xA1 [10,3] 0x14
CHES 0x0 0x56 [6,12] 0x14
LOCA 0x3 [14,1] 0x11
DOOR 0x0 [6,10] 0x12
DOOR 0x0 [10,5] 0x12
DOOR 0x0 [2,3] 0x12
AFEV

MiscBasedEvents:
AFEV 0x0 label18 0x65
AFEV

Dunno1:
AFEV

Dunno2:
AFEV

Dunno3:
AFEV

Tutorial:
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 $9E8A88 and the new ending offset is CURRENTOFFSET

ORG $9ED9AD
Traps1:
ENDTRAP

//The next line is for re-assembling purposes. Do not delete!
MESSAGE Original ending offset is $9ED9AE and the new ending offset is CURRENTOFFSET

ORG $9EDE9E
Traps2:
ENDTRAP

//The next line is for re-assembling purposes. Do not delete!
MESSAGE Original ending offset is $9EDE9F and the new ending offset is CURRENTOFFSET

ORG $9EE0C0
label21:
_0x1927
_SETCONDITION 0x0 0xC 0x0
_CALL_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 $9EE2E8
label19:
_0x0320 0x8
_SETCONDITION2 0x80D2 0xC 0x0
FADI 16
ENIF 0x80D2
_0x1A21
_0x2140 0xFFFF 0x0 0x0
FADU 16
ENDA

//The next line is for re-assembling purposes. Do not delete!
MESSAGE Original ending offset is $9EE310 and the new ending offset is CURRENTOFFSET

ORG $9EE3BC
label22:
_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 $9EE4A0
label24:
_0x3320 0xFFFD
_SETCONDITION 0x0 0xC 0x0
_0x3325 0xFFFD
_SETVAL 0x1 0x0
_SETCONDITION 0x1 0xC 0x1
CUSA 0xFFFD
ELSE 0x1
ENIF 0x0
_0x3240 0xFFFD 0x0
_SETVAL 0x1 0x0
_0x3425 0xFFFD
_0x3420 0xFFFD
_SETVAL 0x1 0x0
_0x3428 0xFFFD
ENIF 0x1
ENDA

//The next line is for re-assembling purposes. Do not delete!
MESSAGE Original ending offset is $9EE4F8 and the new ending offset is CURRENTOFFSET

ORG $9EE5BC
label25:
_0x3320 0xFFFD
_SETCONDITION2 0x0 0xC 0x0
_0x3240 0xFFFD 0x0
_0x3420 0xFFFD
ELSE 0x1
ENIF 0x0
_0x3325 0xFFFD
_SETVAL 0x1 0x0
_SETCONDITION 0x2 0xC 0x1
CUSA 0xFFFD
ENIF 0x1
_SETVAL 0x1 0x0
_0x3425 0xFFFD
_0x3420 0xFFFD
_SETVAL 0x1 0x0
_0x3428 0xFFFD
ENIF 0x2
ENDA

//The next line is for re-assembling purposes. Do not delete!
MESSAGE Original ending offset is $9EE61C and the new ending offset is CURRENTOFFSET

ORG $9EEA58
label26:
_0x0320 0x8
_SETCONDITION2 0x801B 0xC 0x0
FADI 16
ENIF 0x801B
_0x342A 0x0
_0x342C 0x0
_0x342B 0x0
_SETVAL 0xB 0x0
LOMA 0x3F
FADU 16
TEX8 0x662 [8,8]
CUMO [10,4]
STAL 60
CURE
FADI 16
_0x0620 0x2B
LOMA 0x1B
ENDA

//The next line is for re-assembling purposes. Do not delete!
MESSAGE Original ending offset is $9EEAAC and the new ending offset is CURRENTOFFSET

ORG $9F1200
BeginningScene:
MUS1 0x25
_SETVAL 0x2 0x18
CALL label19
TEXTSHOW 0x98B
TEXTEND
REMA
_SETVAL 0x2 0x1D
CALL label19
TEXTSHOW 0x98C
TEXTEND
REMA
FADI 16
_0x2220
_LOAD1 0x1 label20
ENUN
FADU 16
_LOAD2 0x1 Units1
ENUN
_SETVAL 0x2 0x89F15A0
CALL label21
_0x1927
_SETCONDITION2 0x0 0xC 0x0
CUMO 0x8
STAL 60
CURE
TEXTSTART
TEXTSHOW 0x98E
TEXTEND
REMA
ENIF 0x0
_SETVAL 0x2 0x89F16EC
CALL label21
_SETVAL 0x2 0x2
CALL label22
FADI 16
_LOAD1 0x0 Units1
ENUN
_0x1927
_SETCONDITION2 0x1 0xC 0x0
ELSE 0x2
ENIF 0x1
_MOVE 0xFFFF 0x8 [3,9]
ENIF 0x2
CAM1 0x48
FADU 16
_0x1927
_SETCONDITION2 0xA 0xC 0x0
MUS1 0x13
CUMO 0x48
STAL 60
CURE
TEXTSTART
TEXTSHOW 0x990
TEXTEND
REMA
ENIF 0xA
_SETVAL 0x2 0x89F1658
CALL label21
_SETVAL 0x2 0x89F16CC
CALL label21
_0x0228 0x7
ENDA

label15:
_0x2620 0x0
STAL 15
_LOAD1 0x1 label23
ENUN
MUS1 0xF
CUMO 0x9
STAL 60
CURE
TEXTSTART
TEXTSHOW 0x992
TEXTEND
REMA
_SETVAL 0x2 0x89F1690
CALL label21
_WARP 0x0 0x9 [2,4]
ENUN
_SETVAL 0x2 0x89F16B0
CALL label21
_0x0228 0x7
ENDA

label16:
_SETVAL 0x2 0x89F1784
CALL label21
_0x0228 0x7
ENDA

label30:
_LOAD1 0x1 labelturn
ENUN
ENDA


EndingScene:
MUS1 0x31
_0x3322 0x9
_SETCONDITION 0x0 0xC 0x0
_0x3322 0x8
_SETCONDITION 0x0 0xC 0x0
_SETVAL 0x2 0x28
CALL label19
TEXTSHOW 0x995
TEXTEND
REMA
FADI 16
_SETVAL 0x2 0x9
CALL label24
ELSE 0x1
ENIF 0x0
_SETVAL 0x2 0x9
CALL label25
ENIF 0x1
_SETVAL 0x2 0x29
CALL label19
TEXTSHOW 0x996
TEXTEND
REMA
_0x1326 0x7FFF
FADI 4
_SETVAL 0x2 0x2000F
CALL label26
_SETVAL 0x2 0xC
CALL label19
TEXTSHOW 0x997
TEXTEND
REMA
FADI 16
_0x2220
_LOAD1 0x1 label27
ENUN
FADU 16
MUS1 0x2E
CUMO 0x6B
STAL 60
CURE
TEXTSTART
TEXTSHOW 0x998
TEXTEND
REMA
_0x1620 0xB1
_0x2720 0x0
_SETVAL 0xD 0x0
_SETVAL 0x1 0x1010E
_SAVEFORBATTLE
_SETVAL 0x1 0x0
_SAVEFORBATTLE
_SETVAL 0x1 0x1010C
_SAVEFORBATTLE
_SETVAL 0x1 0x0
_SAVEFORBATTLE
_MOVE3 0x0 0x1D 0x0
_MOVE2 0x10 0x69 0x0
_MOVE2 0x10 0x44 0x1
ENUN
_LOAD1 0x1 label28
ENUN
CUMO 0x6B
STAL 60
CURE
TEXTSTART
TEXTSHOW 0x999
TEXTEND
REMA
FADI 16
_0x0229 0xD3
_0x0229 0xD1
_0x0229 0xE9
_0x0229 0xD8
_0x0229 0xD9
_0x0229 0xC6
_0x3421 0x2
MNCH 0x4
ENDA

label17:
MUS2 0x30
STAL 33
TEXTSTART
TEXTSHOW 0x99A
TEXTEND
REMA
MURE 0x2
CUSA 0x9
_SETVAL 0x2 0x89F1760
CALL label21
_0x0228 0x7
ENDA

//The next line is for re-assembling purposes. Do not delete!
MESSAGE Original ending offset is $9F15A0 and the new ending offset is CURRENTOFFSET

What im trying is to have thief reinforcements show up in a certain turn. I used 0x93 which is the thief ID for my hack.

Edited by Peekayell
Link to comment
Share on other sites

This not only is not looking up what I want it to, but for some odd reason if someone dies, it spawns a second Roy. Hell I went and removed the events and I still have this odd Roy spawning if you have a gap in your army.

I tried having the IFEF and everything in it's own little label under NPCSpawncheck, but that still didn't work.

Post your whole event file. Sounds like an event didn't get terminated properly and it "bled" over into some other data.

So I was once again trying to learn events for a hack im doing. This time, Shin was helping me with turnbasedevents.

It looked like it would work, changed the offset to an unused one in:

http://gyazo.com/9529e4fc8ea8cf22ed710a2827459c95

Try getting rid of the extra offsets that pop up throughout the file and reorganized everything to match the template. EA might be trying to lay things out at the different offsets but its better to have everything in one spot (Try on a clean ROM to double check).

Link to comment
Share on other sites

Post your whole event file. Sounds like an event didn't get terminated properly and it "bled" over into some other data.

[spoiler=Chapter 2 Test Event]


#define DISABLE_TUTORIALS
#include EAstdlib.event

EventPointerTable(0x10,Pointers)

ORG $1002AB0
Pointers:
POIN TurnEvents
POIN CharacterEvents
POIN LocationEvents
POIN MiscEvents
POIN Good Bad
POIN EndingEvent

Good:
UNIT 0x1 0x1 0x0 0x11 [02,10] [02,10] [0x1,0xB,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0xCF 0x22 0x1 0x9 [02,08] [02,8] [0x12,0x68,0x68,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x1B 0x20 0x1 0x19 [03,09] [03,9] [0x1,0x10,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x1C 0x20 0x1 0x11 [03,11] [03,11] [0x1,0x16,0x68,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x9 0xC 0x1 0x11 [01,11] [01,11] [0x10,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0xD 0x10 0x1 0x9 [00,10] [00,10] [0x27,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

label23:
UNIT 0x42 0x42 0x1 0x8 [02,09] [01,09] [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

NPCspawn:
UNIT 0xCF 0x0 0x22 0x8 [00,00] [00,00] [0x1,0x12,0x1B,0x68] [0x0,0x0,0x0,0x0]
UNIT

Bad:
UNIT

label22:
UNIT 0x6C 0xA 0x4B 0x15 [17,13] [15,06] [0x1B,0x0,0x0,0x0] [0xC,0x11,0x9,0x0]
UNIT 0x6C 0x10 0x4B 0x1D [18,14] [17,04] [0x27,0x0,0x0,0x0] [0xC,0x12,0x29,0x0]
UNIT 0x6D 0x30 0x4B 0x1D [16,15] [18,06] [0x16,0x0,0x0,0x0] [0x0,0x0,0x1,0x0]
UNIT 0x6C 0xA 0x4B 0xD [17,12] [17,11] [0x1B,0x0,0x0,0x0] [0x0,0x6,0x9,0x0]
UNIT 0x6C 0xA 0x4B 0x15 [18,12] [18,10] [0x1B,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x6D 0x30 0x4B 0x1D [18,12] [17,09] [0x16,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT 0x6C 0x30 0x4B 0x15 [18,12] [18,11] [0x10,0x0,0x0,0x0] [0x0,0x6,0x1,0x0]
UNIT 0x6C 0xA 0x4B 0xD [18,13] [18,09] [0x1B,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x6C 0x30 0x4B 0xD [18,15] [18,08] [0x16,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x6C 0x10 0x4B 0xD [16,12] [16,07] [0x27,0x0,0x0,0x0] [0x0,0x6,0x9,0x0]
UNIT 0x6C 0xA 0x4B 0x1D [16,12] [16,10] [0x1C,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT 0x6E 0x2 0x4B 0x1D [17,09] [17,07] [0x2,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT

label27:
UNIT 0x6D 0x30 0x4B 0x1D [07,17] [03,14] [0x10,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT

label28:
UNIT 0x6D 0x30 0x4B 0x1D [08,18] [05,16] [0x10,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT 0x6D 0x30 0x4B 0x1D [08,18] [01,16] [0x10,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT

label29:
UNIT 0x6C 0xA 0x4B 0xD [11,18] [08,17] [0x1B,0x20,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x6C 0xA 0x4B 0xD [11,18] [06,18] [0x1B,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x6C 0xA 0x4B 0x15 [11,18] [04,18] [0x20,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT

label30:
UNIT 0x21 0xA 0x18 0x10 [15,18] [12,16] [0x1B,0x22,0x68,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x22 0xA 0x18 0x18 [15,18] [12,18] [0x1B,0x1C,0x20,0x0] [0x0,0x3,0x0,0x0]
UNIT

label31:
UNIT 0x18 0x2 0x0 0x28 [15,18] [13,17] [0x2,0x1,0x1B,0x0] [0x3,0x3,0x0,0x0]
UNIT 0x31 0x2A 0x18 0x8 [16,18] [14,17] [0x13,0x16,0x1,0x68] [0x0,0x3,0x0,0x0]
UNIT

label20:
UNIT 0x37 0x2C 0x0 0x2C [16,03] [16,03] [0x11,0x16,0x0,0x0] [0x3,0x3,0x1,0x0]
UNIT

label19:
UNIT 0x4B 0xC 0x0 0x2C [16,03] [16,04] [0x16,0x0,0x0,0x0] [0x3,0x3,0x1,0x20]
UNIT

label21:
UNIT 0x6D 0x30 0x4B 0x1D [16,03] [16,03] [0x10,0x0,0x0,0x0] [0x0,0x0,0x1,0x0]
UNIT

label24:
UNIT 0x11 0x15 0x1 0x10 [04,14] [04,14] [0x43,0x68,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

TurnEvents:
TURN 0x0 OpeningEvent [1,0] 0x0
TURN 0x0 label10 [02,00] 0x0
TURN

CharacterEvents:
CHAR 0x5 label11 [0x1,0x18]
CHAR 0x5 label11 [0x18,0x1]
CHAR

LocationEvents:
SHOP 0x0 label12 [07,09] 0x14
SHOP 0x0 label13 [06,01] 0x13
VILL 0x0 label14 [03,04] 0xE
LOCA 0x0 [03,03] 0x1D
LOCA 0x0 label15 [06,07] 0xE
LOCA 0x0 label16 [00,04] 0xE
LOCA 0x0 label17 [05,07] 0xE
LOCA 0x3 [16,03] 0xF
LOCA

MiscEvents:
AFEV 0x0 label18 0x65
AFEV


label12:
SHLI 0x68

label13:
SHLI 0x1 0x10 0x16 0x27

label18:
ALIGN 4
_0x41
STAL 30
ASMC 0x6C609
STAL 10
ASMC 0x146BD
STAL 80
ASMC 0x608D5
IFAF 0x1 0x6C62D
ASMC 0x1EA1D
ENIF 0x1
ASMC 0x987B9
ENDA

label25:
MOMA 0xC 0x12 0x3 0x3 0x3

label26:
MOMA 0xC 0x16 0x3 0x0
ALIGN 4

OpeningEvent:
CAM1 [18,0]
CMOF
IFEF 0x66 0xF
LOU1 NPCspawn
ENUN
ELSE 0x10
ENIF 0x0F
ENIF 0x10
ENUN
LOU1 label19
ENUN
LOU1 label20
ENUN
TEX1 0x4D
REMA
MOVE 0x4B [17,4]
ENUN
MOVE 0x37 [13,-1]
ENUN
DISA 0x37
STAL 16
MOVE 0x4B [16,4]
ENUN
STAL 16
LOU1 label21
MUS1 0x2
TEX1 0x4E
REMA
STAL 16
MOVE [0x10,0x3] [0x11,0xB]
ENUN
MOVE 0x4B [16,3]
ENUN
CMOF
LOU1 label22
ENUN
MUEN 1
STAL 16
MUS1 0x24
LOU2 Good
ENUN
LOU1 label23
ENUN
STAL 16
CAM1 0x1
STAL 16
MOVE 0x42 [2,9]
ENUN
TEX1 0x4F
REMA
LOU1 label24
ENUN
MOVE 0x11 label25
ENUN
STAL 16
MOVE 0x11 label26
ENUN
TEX1 0x50
MUS1 0x23
_0xA
REMA
LOU1 label27
STAL 16
CAM1 [0,14]
CMOF
ENUN
TEX1 0x51
REMA
LOU1 label28
ENUN
LOU1 label29
ENUN
CAM1 0x1
TEX1 0x52
REMA
MOVE 0x42 [1,9]
MOVE 0x11 [4,10]
ENUN
ASMC 0x6BAF1
ENDA

label10:
STAL 32
MUS2 0x33
CAM1 [20,18]
STAL 32
LOU1 label30 label31
ENUN
TEX1 0x53
REMA
CMOF
MOVE 0x31 [0,13]
ENUN
MOVE 0x21 [13,16]
ENUN
MOVE 0x22 [13,18]
ENUN
TEX1 0x54
REMA
MOVE 0x31 [12,17]
ENUN
TEX1 0x55
REMA
MOVE 0x21 [12,16]
MOVE 0x22 [12,18]
MOVE 0x31 [14,17]
ENUN
MURE
ENDA

label11:
MUS2 0x33
TEX1 0x56
REMA
MURE
ENDA

label14:
MUSI
FADI 16
HIDEMAP
BACG 0x1
FADU 16
SHOWMAP
TEX1 0x58
REMA
MUNO
_0x40
ITGV 0xA
ENDA

label15:
MUSI
FADI 16
HIDEMAP
BACG 0x0
FADU 16
SHOWMAP
TEX1 0x59
REMA
MUNO
ENDA

label16:
MUSI
FADI 16
HIDEMAP
BACG 0x0
FADU 16
SHOWMAP
TEX1 0x5A
REMA
MUNO
ENDA

label17:
MUSI
FADI 16
HIDEMAP
BACG 0x0
FADU 16
SHOWMAP
TEX1 0x5B
REMA
MUNO
ENDA

EndingEvent:
MUS1 0x27
FADI 16
HIDEMAP
BACG 0x5
FADU 16
SHOWMAP
TEX1 0x5E
IFAT 0x1 0x6C1C5
MORETEXT 0x5F
ENIF 0x1
MORETEXT 0x60
IFAT 0x2 0x6C1C5
MORETEXT 0x61
ENIF 0x2
MUS1 0x2B
MORETEXT 0x62
_0xA
REMA
STAL 64
MNCH 0x3
STAL 1
_0x1
ENDA
Link to comment
Share on other sites

Well I changed the align, but nothings changed, the recruit doesn't spawn when his deathquote hasn't triggered, he doesn't spawn if it has been triggered. he just doesn't spawn.

Even patched to a clean rom it still has the same issues. Someone dies in the first chapter? spawn a second roy. I loaded the version literally before the inserted chapter 2. No Roy spawn, so it's definitly not something I've done in the past.

Link to comment
Share on other sites

[spoiler=Chapter 2 Test Event]

#define DISABLE_TUTORIALS
#include EAstdlib.event

EventPointerTable(0x10,Pointers)

ORG $1002AB0
Pointers:
POIN TurnEvents
POIN CharacterEvents
POIN LocationEvents
POIN MiscEvents
POIN Good Bad
POIN EndingEvent

Good:
UNIT 0x1 0x1 0x0 0x11 [02,10] [02,10] [0x1,0xB,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0xCF 0x22 0x1 0x9 [02,08] [02,8] [0x12,0x68,0x68,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x1B 0x20 0x1 0x19 [03,09] [03,9] [0x1,0x10,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x1C 0x20 0x1 0x11 [03,11] [03,11] [0x1,0x16,0x68,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x9 0xC 0x1 0x11 [01,11] [01,11] [0x10,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0xD 0x10 0x1 0x9 [00,10] [00,10] [0x27,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

label23:
UNIT 0x42 0x42 0x1 0x8 [02,09] [01,09] [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

NPCspawn:
UNIT 0xCF 0x0 0x22 0x8 [00,00] [00,00] [0x1,0x12,0x1B,0x68] [0x0,0x0,0x0,0x0]
UNIT

Bad:
UNIT

label22:
UNIT 0x6C 0xA 0x4B 0x15 [17,13] [15,06] [0x1B,0x0,0x0,0x0] [0xC,0x11,0x9,0x0]
UNIT 0x6C 0x10 0x4B 0x1D [18,14] [17,04] [0x27,0x0,0x0,0x0] [0xC,0x12,0x29,0x0]
UNIT 0x6D 0x30 0x4B 0x1D [16,15] [18,06] [0x16,0x0,0x0,0x0] [0x0,0x0,0x1,0x0]
UNIT 0x6C 0xA 0x4B 0xD [17,12] [17,11] [0x1B,0x0,0x0,0x0] [0x0,0x6,0x9,0x0]
UNIT 0x6C 0xA 0x4B 0x15 [18,12] [18,10] [0x1B,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x6D 0x30 0x4B 0x1D [18,12] [17,09] [0x16,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT 0x6C 0x30 0x4B 0x15 [18,12] [18,11] [0x10,0x0,0x0,0x0] [0x0,0x6,0x1,0x0]
UNIT 0x6C 0xA 0x4B 0xD [18,13] [18,09] [0x1B,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x6C 0x30 0x4B 0xD [18,15] [18,08] [0x16,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x6C 0x10 0x4B 0xD [16,12] [16,07] [0x27,0x0,0x0,0x0] [0x0,0x6,0x9,0x0]
UNIT 0x6C 0xA 0x4B 0x1D [16,12] [16,10] [0x1C,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT 0x6E 0x2 0x4B 0x1D [17,09] [17,07] [0x2,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT

label27:
UNIT 0x6D 0x30 0x4B 0x1D [07,17] [03,14] [0x10,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT

label28:
UNIT 0x6D 0x30 0x4B 0x1D [08,18] [05,16] [0x10,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT 0x6D 0x30 0x4B 0x1D [08,18] [01,16] [0x10,0x0,0x0,0x0] [0x0,0x3,0x1,0x0]
UNIT

label29:
UNIT 0x6C 0xA 0x4B 0xD [11,18] [08,17] [0x1B,0x20,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x6C 0xA 0x4B 0xD [11,18] [06,18] [0x1B,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x6C 0xA 0x4B 0x15 [11,18] [04,18] [0x20,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT

label30:
UNIT 0x21 0xA 0x18 0x10 [15,18] [12,16] [0x1B,0x22,0x68,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x22 0xA 0x18 0x18 [15,18] [12,18] [0x1B,0x1C,0x20,0x0] [0x0,0x3,0x0,0x0]
UNIT

label31:
UNIT 0x18 0x2 0x0 0x28 [15,18] [13,17] [0x2,0x1,0x1B,0x0] [0x3,0x3,0x0,0x0]
UNIT 0x31 0x2A 0x18 0x8 [16,18] [14,17] [0x13,0x16,0x1,0x68] [0x0,0x3,0x0,0x0]
UNIT

label20:
UNIT 0x37 0x2C 0x0 0x2C [16,03] [16,03] [0x11,0x16,0x0,0x0] [0x3,0x3,0x1,0x0]
UNIT

label19:
UNIT 0x4B 0xC 0x0 0x2C [16,03] [16,04] [0x16,0x0,0x0,0x0] [0x3,0x3,0x1,0x20]
UNIT

label21:
UNIT 0x6D 0x30 0x4B 0x1D [16,03] [16,03] [0x10,0x0,0x0,0x0] [0x0,0x0,0x1,0x0]
UNIT

label24:
UNIT 0x11 0x15 0x1 0x10 [04,14] [04,14] [0x43,0x68,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

TurnEvents:
TURN 0x0 OpeningEvent [1,0] 0x0
TURN 0x0 label10 [02,00] 0x0
TURN

CharacterEvents:
CHAR 0x5 label11 [0x1,0x18]
CHAR 0x5 label11 [0x18,0x1]
CHAR

LocationEvents:
SHOP 0x0 label12 [07,09] 0x14
SHOP 0x0 label13 [06,01] 0x13
VILL 0x0 label14 [03,04] 0xE
LOCA 0x0 [03,03] 0x1D
LOCA 0x0 label15 [06,07] 0xE
LOCA 0x0 label16 [00,04] 0xE
LOCA 0x0 label17 [05,07] 0xE
LOCA 0x3 [16,03] 0xF
LOCA

MiscEvents:
AFEV 0x0 label18 0x65
AFEV


label12:
SHLI 0x68

label13:
SHLI 0x1 0x10 0x16 0x27

label18:
ALIGN 4
_0x41
STAL 30
ASMC 0x6C609
STAL 10
ASMC 0x146BD
STAL 80
ASMC 0x608D5
IFAF 0x1 0x6C62D
ASMC 0x1EA1D
ENIF 0x1
ASMC 0x987B9
ENDA

label25:
MOMA 0xC 0x12 0x3 0x3 0x3

label26:
MOMA 0xC 0x16 0x3 0x0
ALIGN 4

OpeningEvent:
CAM1 [18,0]
CMOF
IFEF 0x66 0xF
LOU1 NPCspawn
ENUN
ELSE 0x10
ENIF 0x0F
ENIF 0x10
ENUN
LOU1 label19
ENUN
LOU1 label20
ENUN
TEX1 0x4D
REMA
MOVE 0x4B [17,4]
ENUN
MOVE 0x37 [13,-1]
ENUN
DISA 0x37
STAL 16
MOVE 0x4B [16,4]
ENUN
STAL 16
LOU1 label21
MUS1 0x2
TEX1 0x4E
REMA
STAL 16
MOVE [0x10,0x3] [0x11,0xB]
ENUN
MOVE 0x4B [16,3]
ENUN
CMOF
LOU1 label22
ENUN
MUEN 1
STAL 16
MUS1 0x24
LOU2 Good
ENUN
LOU1 label23
ENUN
STAL 16
CAM1 0x1
STAL 16
MOVE 0x42 [2,9]
ENUN
TEX1 0x4F
REMA
LOU1 label24
ENUN
MOVE 0x11 label25
ENUN
STAL 16
MOVE 0x11 label26
ENUN
TEX1 0x50
MUS1 0x23
_0xA
REMA
LOU1 label27
STAL 16
CAM1 [0,14]
CMOF
ENUN
TEX1 0x51
REMA
LOU1 label28
ENUN
LOU1 label29
ENUN
CAM1 0x1
TEX1 0x52
REMA
MOVE 0x42 [1,9]
MOVE 0x11 [4,10]
ENUN
ASMC 0x6BAF1
ENDA

label10:
STAL 32
MUS2 0x33
CAM1 [20,18]
STAL 32
LOU1 label30 label31
ENUN
TEX1 0x53
REMA
CMOF
MOVE 0x31 [0,13]
ENUN
MOVE 0x21 [13,16]
ENUN
MOVE 0x22 [13,18]
ENUN
TEX1 0x54
REMA
MOVE 0x31 [12,17]
ENUN
TEX1 0x55
REMA
MOVE 0x21 [12,16]
MOVE 0x22 [12,18]
MOVE 0x31 [14,17]
ENUN
MURE
ENDA

label11:
MUS2 0x33
TEX1 0x56
REMA
MURE
ENDA

label14:
MUSI
FADI 16
HIDEMAP
BACG 0x1
FADU 16
SHOWMAP
TEX1 0x58
REMA
MUNO
_0x40
ITGV 0xA
ENDA

label15:
MUSI
FADI 16
HIDEMAP
BACG 0x0
FADU 16
SHOWMAP
TEX1 0x59
REMA
MUNO
ENDA

label16:
MUSI
FADI 16
HIDEMAP
BACG 0x0
FADU 16
SHOWMAP
TEX1 0x5A
REMA
MUNO
ENDA

label17:
MUSI
FADI 16
HIDEMAP
BACG 0x0
FADU 16
SHOWMAP
TEX1 0x5B
REMA
MUNO
ENDA

EndingEvent:
MUS1 0x27
FADI 16
HIDEMAP
BACG 0x5
FADU 16
SHOWMAP
TEX1 0x5E
IFAT 0x1 0x6C1C5
MORETEXT 0x5F
ENIF 0x1
MORETEXT 0x60
IFAT 0x2 0x6C1C5
MORETEXT 0x61
ENIF 0x2
MUS1 0x2B
MORETEXT 0x62
_0xA
REMA
STAL 64
MNCH 0x3
STAL 1
_0x1
ENDA
MOVE 0x37 [13,-1]
ENUN
DISA 0x37

Why is someone moving to a negative coordinate? That can't be good.

LOU2 Good
ENUN

What's the difference between LOU1 and LOU2? EA language file gives the same description for both...

Other than that I'm not really seeing anything jump out. Strange. Are you able to load this NPC without the conditional? Does the death quote ID you're using override something else using that same ID? 0x66 is right at the beginning of the permanent ID list, so it's definitely possible something else has claimed that already.

Link to comment
Share on other sites

MOVE 0x37 [13,-1]
ENUN
DISA 0x37

Why is someone moving to a negative coordinate? That can't be good.

LOU2 Good
ENUN

What's the difference between LOU1 and LOU2? EA language file gives the same description for both...

Other than that I'm not really seeing anything jump out. Strange. Are you able to load this NPC without the conditional? Does the death quote ID you're using override something else using that same ID? 0x66 is right at the beginning of the permanent ID list, so it's definitely possible something else has claimed that already.

I believe moving to a negative coordinate is someone moving offscreen. That would most likely be Miledy

I know no difference between LOU2 and LOU1. Let me check if I can load the NPC without a conditional. and if I can, then I'll try changing the permaID to something further back, like FE

Link to comment
Share on other sites

  • 3 weeks later...

Hey there. In my hack, I used the CUSI code to bring <NPC No.1> onto the player side with success. However, <NPC No.2> is programmed identically to the other NPC, but for some reason, this one disappears.

Some things to note about <NPC No.2>

- He programmed to recruit himself (like Clarine in FE6)

- After he disappears, he is still shown on the character stat window. (like, I can see his stats, but he's not on the map at all)

- For this particular chapter, I decided to re-download the Event Assembler, since I had a rather old version. (Older version did not have the "CharacterEvent" macro)

Any help is appreciated.

Link to comment
Share on other sites

event text pls

Also, what do you mean NPC No.2 "disappears"? does he just disappear off the map entirely? what game are you hacking? do you have his AI set to TalkToLord or something? we need more details before we can help you.

Link to comment
Share on other sites

Event Text: http://pastebin.com/pnXQb9yu (I just started working on this chapter, so maybe I left out some sort of important code somewhere?)

-When I say my NPC character disappears, I mean he leaves the map entirely, but I can still see his stats if I scroll through the stats screen via some other unit.

-Hacking FE7 Blazing Sword. This chapter replaces "Chapter 6: Blood of Pride" from the original game

-I do have his AI set to TalktoLord. I used these notes by Arch here to get my NPC to talk to the player unit. (Followed the instructions carefully and the bytes in the specific offsets are correct)

https://dl.dropboxusercontent.com/u/19964863/Fire%20Emblem/Documentation/talktocharacterai.htm

If there is anything else I need to specify, just ask away. Thanks.

Link to comment
Share on other sites

  • 2 weeks later...

Hello. Um, in my opening events for my prologue, I used this

[spoiler=Text Problem]Opening_event:

FADI 10
BACG 0x03
FADU 10
TEX1 0x0813
MUS1 0x0032
MORETEXT 0x0814
REMA
LOU1 Bad
ENUN
LOU1 Good
ENUN
ENDA

and when i was testing, it would glitch the text for the Tactician name and crap and when you try to shop in the vendor the text is glitched as well. Did I do something wrong?

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