Primefusion Posted March 30, 2016 Share Posted March 30, 2016 (edited) Lyn's death quote eventID definitely points to 0x65. I'd like some clarification on this statement. Because, 'points to' and 'has a value of' are two very different terms that mean different things. The Death Quote editor allows you to set up a pointer to events for death quotes, as well as assign the quote an event ID. The event ID should be a value and not a pointer. Also, I seem to remember the entries in the part 1 death quote editor being finicky. You might try removing the Lyn entries in part 1 and making a new entry in part 2. Edited March 30, 2016 by Primefusion Quote Link to comment Share on other sites More sharing options...
Umezono Posted March 30, 2016 Share Posted March 30, 2016 (edited) did you apply the "start in eliwood mode" patch? No I did not. I just used the tutorial removal code. I'd like some clarification on this statement. Because, 'points to' and 'has a value of' are two very different terms that mean different things. The Death Quote editor allows you to set up a pointer to events for death quotes, as well as assign the quote an event ID. The event ID should be a value and not a pointer. Also, I seem to remember the entries in the part 1 death quote editor being finicky. You might try removing the Lyn entries in part 1 and making a new entry in part 2. I meant value, sorry. By the way, I have no idea how to load tutorial Lyn. Putting 0x02 and 0x03 in my event code loads Hector, and loading non tut lyn through 0x2D does not trigger a gameover on death. Edited March 30, 2016 by Umezono Quote Link to comment Share on other sites More sharing options...
Primefusion Posted March 30, 2016 Share Posted March 30, 2016 Tutorial Lyn is defined as: #define Lyn_t 0x03 I did a couple quick tests of your event code. If I run the ROM in Lyn Mode, I can get tutorial Lyn to cause a gameover, but not regular Lyn. If the game is in Eliwood mode, the opposite is true. Quote Link to comment Share on other sites More sharing options...
Umezono Posted March 30, 2016 Share Posted March 30, 2016 (edited) Tutorial Lyn is defined as: #define Lyn_t 0x03 I did a couple quick tests of your event code. If I run the ROM in Lyn Mode, I can get tutorial Lyn to cause a gameover, but not regular Lyn. If the game is in Eliwood mode, the opposite is true. How does one know if the rom is in Eliwood mode or Lyn mode? I used the disable tutorials code, as well as changed the values in the tutorial event editor. Besides that, I don't think I changed anything mode-wise. EDIT: Loading Lyn_t definitely loads Hector for me. Where might I go about changing so that it doesn't. Nightmare seems to be unchanged for both characters. Edited March 30, 2016 by Umezono Quote Link to comment Share on other sites More sharing options...
Primefusion Posted March 31, 2016 Share Posted March 31, 2016 Lyn_t definitely loads tutorial Lyn for me. If her and Hector's Nightmare entries are unchanged, then something else got goofed in the ROM. Try a fresh copy. As for starting in different modes, there's a patch that puts you in Eliwood mode by default. Or, if you like to do things manually, here's the bytes you need to change. Dunno why this information isn't here on SF. Quote Link to comment Share on other sites More sharing options...
FEF Posted April 1, 2016 Share Posted April 1, 2016 Stop me if you've heard this one before: How do I get my event assembler to output EAstdlib (human-readable) code instead of machine code? The guides I've read seem to skip over that, as though it's supposed to happen automatically, but that definitely wasn't the case. What silly thing have I missed? Quote Link to comment Share on other sites More sharing options...
Agro Posted April 1, 2016 Share Posted April 1, 2016 I don't understand what you mean by "human-readable" code. Quote Link to comment Share on other sites More sharing options...
FEF Posted April 1, 2016 Share Posted April 1, 2016 I don't understand what you mean by "human-readable" code. Ok basically I'm getting this: CHES 0x00 0x6C [2,4] 0x14 But I want this: Chest(Elixir,2,4) I'm going into the Event Assembler, feeding it the offset that Nightmare gives me, outputting it to a textfile, etc. And I get code in the above format. But Nintenlord's guide says: "Locate the text file you chose in Even Assembler and open it. It should look like something like this depending on your text editor:" http://i180.photobucket.com/albums/x309/Nintenlord/Tutorials/Easy%20event%20editing/Assembly.png Which shows text in the easier-to-read format. And Arch's guide talks about how to define new things, but doesn't really seem to answer how to apply these definitions in the first place. Quote Link to comment Share on other sites More sharing options...
CT075 Posted April 1, 2016 Author Share Posted April 1, 2016 you can't disassemble to those; the assembler will convert the former to the latter using your definitions automatically Quote Link to comment Share on other sites More sharing options...
FEF Posted April 1, 2016 Share Posted April 1, 2016 (edited) Huh, thank you. That makes the guides a bit misleading, then. But OK. So all I'm trying to do now is add an enemy (or a few) into the prologue of Sacred Stones, as a test. This is the full code I get from the disassembler: [spoiler={option}] //////////////////////////////////////////////////// // // // Disassembled with Nintenlord's Event Assembler // // Version: 9.10.4713.28131 // // Game: FE8 // // File: FESS REDUX.GBA // // Offset: $9E863C // // // //////////////////////////////////////////////////// ORG $591F40 label35: _0x1020 0x1 _0x0220 0x2 _0x0320 0x8 _SETCONDITION 0x0 0xC 0x0 FADU 16 ENIF 0x0 _0x1020 0x0 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $591F64 and the new ending offset is CURRENTOFFSET ORG $592104 label20: _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 $8B3C14 Units1: UNIT 0x2 0x7 0x0 0x8 [13,9] 0b 0x0 0x6 0x8B3BC4 [0x3,0x17,0x6C,0x0] [0x0,0x0,0x0,0x0] UNIT 0x1 0x2 0x0 0x8 [8,5] 0b 0x0 0x1 0x8B3BF4 [0x6C,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label36: UNIT 0x68 0x3F 0x0 0x24 [14,8] 0b 0x0 0x1 0x8B3BFC [0x1F,0x0,0x0,0x0] [0x6,0x3,0x0,0x0] UNIT 0x82 0x3F 0x0 0xC [14,7] 0b 0x0 0x1 0x8B3C04 [0x1F,0x0,0x0,0x0] [0x0,0xA,0x0,0x0] UNIT 0x80 0x3F 0x0 0x14 [14,7] 0b 0x0 0x1 0x8B3C0C [0x1F,0x0,0x0,0x0] [0x0,0x12,0x2,0x0] UNIT //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $8B3CA0 and the new ending offset is CURRENTOFFSET ORG $8B3D18 label28: UNIT 0xC5 0x73 0x0 0x8 [13,3] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x1 0x2 0x0 0x8 [14,4] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x2 0x7 0x0 0x8 [15,4] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x5 0xB 0x0 0x8 [11,7] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x6 0xB 0x0 0x8 [15,7] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x3 0x9 0x0 0x8 [7,14] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0xC0 0x9 0x0 0x8 [10,14] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x4 0x5 0x0 0x8 [11,4] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label29: UNIT 0xF 0x4E 0x0 0x8 [9,15] 0b 0x0 0x3 0x8B3CA0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label32: UNIT 0x6B 0xB 0x0 0xC [13,10] 0b 0x0 0x1 0x8B3CB8 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x40 0x4F 0x0 0xC [12,11] 0b 0x0 0x1 0x8B3CC0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label30: UNIT 0x80 0x2D 0x0 0xC [5,1] 0b 0x0 0x1 0x8B3CC8 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x80 0x2D 0x0 0xC [5,2] 0b 0x0 0x1 0x8B3CD0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x80 0x2F 0x0 0xD [19,10] 0b 0x0 0x1 0x8B3CD8 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x80 0x2F 0x0 0xD [20,10] 0b 0x0 0x1 0x8B3CE0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label31: UNIT 0x83 0x35 0x0 0xC [10,10] 0b 0x0 0x1 0x8B3CE8 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x83 0x35 0x0 0xC [16,10] 0b 0x0 0x1 0x8B3CF0 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x84 0x7 0x0 0xC [10,10] 0b 0x0 0x1 0x8B3CF8 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x84 0x7 0x0 0xC [16,10] 0b 0x0 0x1 0x8B3D00 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x85 0x29 0x0 0xC [10,10] 0b 0x0 0x1 0x8B3D08 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x85 0x29 0x0 0xC [16,10] 0b 0x0 0x1 0x8B3D10 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $8B3F20 and the new ending offset is CURRENTOFFSET ORG $8B3F68 label33: UNIT 0x2 0x7 0x0 0x8 [9,3] 0b 0x0 0x2 0x8B3F20 [0x3,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x4 0x5 0x0 0x8 [9,3] 0b 0x0 0x2 0x8B3F30 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x1 0x2 0x0 0x8 [6,5] 0b 0x0 0x1 0x8B3F40 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label34: UNIT 0x45 0x23 0x0 0x2C [14,5] 0b 0x0 0x2 0x8B3F48 [0x17,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x80 0x1F 0x0 0xD [14,4] 0b 0x0 0x1 0x8B3F58 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT 0x80 0x1F 0x0 0xD [14,6] 0b 0x0 0x1 0x8B3F60 [0x0,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $8B4008 and the new ending offset is CURRENTOFFSET ORG $9E858C TurnBasedEvents: TURN 0x0 label15 [1,0] 0x8 TURN 0x0 label16 [2,0] 0x0 TURN 0x0 label17 [3,0] 0x0 TURN 0x8 label18 [1,255] 0x8 END_MAIN CharacterBasedEvents: END_MAIN LocationBasedEvents: END_MAIN MiscBasedEvents: AFEV 0x3 EndingScene 0x2 AFEV 0x7 label19 0x0 AFEV 0x0 label20 0x65 END_MAIN Dunno1: END_MAIN Dunno2: END_MAIN Dunno3: END_MAIN Tutorial: WORD 0x89EF2B0 0x89EF328 0x89EF388 0x89EF398 WORD 0x89EF46C 0x89EF4EC 0x89EF50C 0x89EF53C WORD 0x89EF56C 0x89EF5A8 0x89EF6E0 0x89EF758 WORD 0x89EF7B8 0x89EF7C8 0x89EF7FC END_MAIN 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 $9E868C and the new ending offset is CURRENTOFFSET ORG $9ED9A8 Traps1: ENDTRAP //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9ED9A9 and the new ending offset is CURRENTOFFSET ORG $9EDE99 Traps2: ENDTRAP //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EDE9A and the new ending offset is CURRENTOFFSET ORG $9EE0C0 label24: _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 $9EE2C4 label22: _0x0320 0x8 _SETCONDITION2 0x80BD 0xC 0x0 FADI 16 ENIF 0x80BD TEXTSTART _0x2220 FADU 16 ENDA label21: _0x0320 0x8 _SETCONDITION2 0x80D2 0xC 0x0 FADI 16 ENIF 0x80D2 _0x1A21 _0x2140 0xFFFF 0x0 0x0 FADU 16 ENDA label25: CALL label21 _0x0620 0x32 TEXTSHOW 0xFFFF TEXTEND CALL label22 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EE330 and the new ending offset is CURRENTOFFSET ORG $9EEBE8 BeginningScene: CALL label23 _SETVAL 0x2 0x89EF1BC CALL label24 _0x1927 _SETCONDITION2 0x0 0xC 0x0 ASMC 0xCF461 ENIF 0x0 _0x0229 0x8 _LOAD1 0x1 Units1 ENUN _SETVAL 0x1 0xD _0x3425 0x2 CUMO 0x1 STAL 60 CURE MUNO _SETVAL 0x2 0x1D _SETVAL 0x3 0x90D CALL label25 MUSI _MOVE 0x18 0x2 [4,4] ENUN CUMO 0x2 STAL 60 CURE TEXTSTART TEXTSHOW 0x90E TEXTEND REMA _SETVAL 0x2 0x89EF27C CALL label24 _WARP 0x0 0x1 [4,5] ENUN CALL label26 CALL label27 _0x0228 0x7 ENDA label23: _SETVAL 0xB 0xA000E LOMA 0x10 _LOAD2 0x1 label28 ENUN FADU 16 MUS1 0x26 TEX8 0x664 [8,8] _LOAD1 0x1 label29 ENUN _0x2620 0xE CUMO 0xF STAL 60 CURE TEXTSTART TEXTSHOW 0x903 TEXTEND REMA MOVE 0xF [13,11] ENUN DISA 0xF _MOVE2 0x0 0x1 0x0 ENUN CUMO 0x1 STAL 60 CURE TEXTSTART TEXTSHOW 0x904 TEXTEND REMA _MOVE1 0x0 0x2 0x1 ENUN DISA 0x1 CUMO 0x2 STAL 60 CURE TEXTSTART TEXTSHOW 0x905 TEXTEND REMA MOVE 0x2 [13,11] _SETVAL 0xD 0x0 _SETVAL 0x1 0x10C _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _SETVAL 0x1 0x2CC _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _MOVE3 0x0 0x4 0x0 ENUN DISA 0x2 DISA 0x4 MOVE 0x5 [11,4] MOVE 0x6 [15,4] ENUN _MOVE2 0x0 0x5 0x1 _MOVE2 0x0 0x6 0x0 ENUN _LOAD1 0x1 label30 ENUN _LOAD1 0x1 label31 ENUN _LOAD1 0x1 label32 ENUN CUMO 0xC5 STAL 60 CURE TEXTSTART TEXTSHOW 0x906 TEXTEND FADI 2 REMA _0x0220 0x2 _0x342A 0x0 _0x342C 0x0 _0x342B 0x0 _SETVAL 0xB 0x0 LOMA 0x40 FADU 16 _LOAD2 0x1 label33 ENUN CUMO 0x2 STAL 60 CURE _SETVAL 0x2 0x1D _SETVAL 0x3 0x907 CALL label25 _SETVAL 0xD 0x0 _SETVAL 0x1 0x104 _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _SETVAL 0x1 0x84 _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _SETVAL 0x1 0x80 _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _MOVE3 0x0 0x4 0x0 ENUN DISA 0x4 CUMO 0x2 STAL 60 CURE _SETVAL 0x2 0x1D _SETVAL 0x3 0x908 CALL label25 _LOAD1 0x1 label34 ENUN _MOVE2 0x0 0x2 0x1 ENUN _MOVE2 0x0 0x1 0x0 ENUN CUMO 0x45 STAL 60 CURE _SETVAL 0x2 0x1D _SETVAL 0x3 0x909 CALL label25 _MOVE2 0x0 0x45 0x0 ENUN _SETVAL 0xD 0x0 _SETVAL 0x1 0x20000 _SAVEFORBATTLE _SETVAL 0x1 0x1 _SAVEFORBATTLE _SETVAL 0x1 0xFFFFFFFF _SAVEFORBATTLE FIG1 0x2 0x45 0x0 CUMO 0x2 STAL 60 CURE TEXTSTART TEXTSHOW 0x90B TEXTEND REMA _MOVE2 0x8 0x2 0x0 ENUN DISA 0x1 _SETVAL 0xD 0x0 _SETVAL 0x1 0x18104 _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _SETVAL 0x1 0x18084 _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _SETVAL 0x1 0x18080 _SAVEFORBATTLE _SETVAL 0x1 0x0 _SAVEFORBATTLE _MOVE3 0x0 0x2 0x0 ENUN DISA 0x2 CUMO 0x45 STAL 60 CURE TEXTSTART TEXTSHOW 0x90C TEXTEND REMA FADI 16 _0x0220 0x2 _0x342A 0x0 _0x342C 0x0 _0x342B 0x0 _SETVAL 0xB 0x0 LOMA 0x0 FADU 16 ENDA label26: CUMO 0x2 STAL 60 CURE TEXTSTART TEXTSHOW 0x90F TEXTEND REMA CALL label35 _SETVAL 0x3 0x9 _GIVEITEMTO 0x1 _SETVAL 0x2 0x89EF828 CALL label24 ENDA label27: _LOAD1 0x1 label36 ENUN CUMO 0x68 STAL 60 CURE MUS1 0x13 TEXTSTART TEXTSHOW 0x910 TEXTEND REMA _0x0221 0x4 ENDA label19: _0x1924 _SETVAL 0x7 0x1 _SETCONDITION2 0x0 0xC 0x7 CUMO 0x2 STAL 60 CURE TEXTSTART TEXTSHOW 0x913 TEXTEND REMA _0x0221 0x8 ELSE 0x1 ENIF 0x0 _0x1929 _0x0620 0xC2 _0x0221 0xFFFF ENIF 0x1 _0x0228 0x7 ENDA label18: MUS1 0x13 TEXTSTART TEXTSHOW 0x914 TEXTEND REMA _0x1927 _SETCONDITION2 0x0 0xC 0x0 _SETVAL 0x1 0x0 _0x3920 0x68 ENIF 0x0 _0x0228 0x7 ENDA EndingScene: MUS1 0x31 _SETVAL 0x2 0x1D CALL label21 TEXTSHOW 0x918 TEXTEND FADI 16 REMA _0x0229 0xE0 _0x0229 0xE1 _0x0229 0xB7 _0x0229 0xB4 _0x0229 0xB5 _0x0229 0xDC _0x0229 0xB9 _0x0229 0xC2 _0x0229 0xC3 _0x0229 0xE7 _0x0229 0xC9 MNC2 0x1 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EF1BC and the new ending offset is CURRENTOFFSET ORG $9EF214 label15: _SETVAL 0x2 0x89EF0A4 CALL label24 _SETVAL 0x2 0x89EF3B4 CALL label24 _0x0228 0x7 ENDA label16: _SETVAL 0x2 0x89EF3D8 CALL label24 _0x0228 0x7 ENDA label17: _SETVAL 0x2 0x89EF610 CALL label24 _SETVAL 0x2 0x89EF670 CALL label24 _0x0228 0x7 ENDA //The next line is for re-assembling purposes. Do not delete! MESSAGE Original ending offset is $9EF27C and the new ending offset is CURRENTOFFSET So basically, what have I got to do to add in any additional enemy onto this map? Here's the code that's most relevant, I think: ORG $8B3C14 Units1: UNIT 0x2 0x7 0x0 0x8 [13,9] 0b 0x0 0x6 0x8B3BC4 [0x3,0x17,0x6C,0x0] [0x0,0x0,0x0,0x0] UNIT 0x1 0x2 0x0 0x8 [8,5] 0b 0x0 0x1 0x8B3BF4 [0x6C,0x0,0x0,0x0] [0x0,0x0,0x0,0x0] UNIT label36: UNIT 0x68 0x3F 0x0 0x24 [14,8] 0b 0x0 0x1 0x8B3BFC [0x1F,0x0,0x0,0x0] [0x6,0x3,0x0,0x0] UNIT 0x82 0x3F 0x0 0xC [14,7] 0b 0x0 0x1 0x8B3C04 [0x1F,0x0,0x0,0x0] [0x0,0xA,0x0,0x0] UNIT 0x80 0x3F 0x0 0x14 [14,7] 0b 0x0 0x1 0x8B3C0C [0x1F,0x0,0x0,0x0] [0x0,0x12,0x2,0x0] UNIT Units1 would be the player's units (Eirika and Seth), while label36 represents the enemies? I think? And the lines reading simply "UNIT" are the "UNIT empty" separators, probably. And what exactly do the 0x68, 0x82, and 0x80 do? I get that they're the IDs, but for instance, several of the sample codes re-use the same ID for different enemy units of the same class, but with varying inventories. If I want to add a class of enemy that doesn't already exist in the prologue (say, a Myrmidon), then what ID should I give them? I feel like there must've been something major I missed in the tutorials and guides, so if all these questions were answered somewhere and I just missed it, point me in the right direction. Edited April 1, 2016 by FEF Quote Link to comment Share on other sites More sharing options...
Primefusion Posted April 1, 2016 Share Posted April 1, 2016 And what exactly do the 0x68, 0x82, and 0x80 do? I get that they're the IDs, but for instance, several of the sample codes re-use the same ID for different enemy units of the same class, but with varying inventories. If I want to add a class of enemy that doesn't already exist in the prologue (say, a Myrmidon), then what ID should I give them? The re-use of the same character ID means it's the same character loaded as different classes. They're all just "Grado" characters, so there doesn't need to be unique IDs for them (at least for enemies and NPCs. Characters on the player's team need to be unique). You can use whatever character ID you want. Check the Character Editor module to find the one(s) you want. Quote Link to comment Share on other sites More sharing options...
CT075 Posted April 3, 2016 Author Share Posted April 3, 2016 Huh, thank you. That makes the guides a bit misleading, then. But OK.the tutorials aren't really geared towards modifying existing chapters anyway; they're largely meant for writing your own events from scratch Quote Link to comment Share on other sites More sharing options...
Umezono Posted April 3, 2016 Share Posted April 3, 2016 (edited) EDIT: NVM, fixed it. Edited April 4, 2016 by Umezono Quote Link to comment Share on other sites More sharing options...
Bamstacks Posted April 13, 2016 Share Posted April 13, 2016 I'm eventing for the first time, and I want to have a chest. However, my enemy thief keeps stealing from it; he does it infinitely. Also, I have the map change of it closing in the game with Tiled, but I'm not sure how to access it and make it occur after the chest is opened. None of the tutorials I've read have done chests specifically in depth. ChestMoney(5000,1,13) How does one make it so that he/any other thief can only open this chest once? Quote Link to comment Share on other sites More sharing options...
Primefusion Posted April 15, 2016 Share Posted April 15, 2016 ChestMoney(5000,1,13) You're missing an event ID for your chest. Without a unique ID, the chest can be used indefinitely. Try something like ChestMoney(0x0A,5000,1,13) Quote Link to comment Share on other sites More sharing options...
BearDuelist Posted April 16, 2016 Share Posted April 16, 2016 Hi all, I've been having trouble with my location events crashing my ROM once I assemble my events. I have three location events: one house, one village, and a vendor. None of them work together or on their own. All of the other events load if I assemble the game without any of the location events present. I bolded the part of the code I'm having trouble with. If it matters, I'm using a Tiled map that was made with the auto map generator from Yeti. Anyone have any ideas? Thank you! =) #define DISABLE_TUTORIALS #include EAstdlib.event EventPointerTable(0x15,Chapter) ORG 0xD11200 Chapter: POIN TurnEvents POIN TalkEvents POIN LocationEvents POIN MiscEvents POIN TerrainEvents TerrainEvents POIN Bad Bad Bad Bad POIN Good Good Good Good POIN OpeningScene EndingScene Good: UNIT Lyn Mercenary Lyn Level(1, Ally, False) [3,4] [3,4] [ironSword] NoAI UNIT Sain Cavalier Lyn Level(1, Ally, False) [1,6] [1,6] [ironSword, IronSpear, Vulnerary] NoAI UNIT Florina PegasusKnight Lyn Level(1, Ally, False) [1,4] [1,4] [slimSpear, Javelin, Vulnerary] NoAI UNIT Eliwood Archer Lyn Level(1, Ally, False) [3,5][3,5] [ironBow, Vulnerary] NoAI UNIT Kent Monk Lyn Level(1, Ally, False) [4,5][4,5] [Lightning, Elixir] NoAI UNIT Matthew Thief Lyn Level(1, Ally, False) [2,6][2,6] [ironSword, SteelSword, LockPick, Vulnerary]NoAI UNIT Canas Shaman Lyn Level(1, Ally, False) [11,5][11,5] [Flux, Vulnerary, Talisman] NoAI UNIT Marcus Princefacingupward Lyn Level(1, Ally, False) [4,16][4,16] [silverAxe, SteelSpear, SteelSword]NoAI UNIT Gibb: UNIT Batta Brigand Batta Level(9, Enemy, True) [12,5][12,5] [HandAxe, DevilAxe]AttackInRange UNIT Bad: UNIT Merc Archer Batta Level(4, Enemy, True) [6,2][6,2] [ironBow,0x00,0x00]AttackInRange UNIT Merc Fighter Batta Level(4, Enemy, True) [7,1][7,1] [HandAxe,0x00,0x00,0x00]AttackInRange UNIT Merc Brigand Batta Level(4, Enemy, True) [9,0][9,0] [steelAxe,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Archer Batta Level(4, Enemy, True) [15,1][15,1] [Longbow,0x00,0x00]AttackInRange UNIT Merc Brigand Batta Level(4, Enemy, True) [14,4][14,4] [ironAxe,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Brigand Batta Level(4, Enemy, True) [13,5][13,5] [HandAxe,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Brigand Batta Level(4, Enemy, True) [14,6][14,6] [ironAxe,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Myrmidon Batta Level(4, Enemy, True) [16,7][16,7] [ironSword,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Cavalier Batta Level(4, Enemy, True) [16,10][16,10] [ironSword,0x00,0x00,0x00]AttackInRange UNIT Merc Mercenary Batta Level(4, Enemy, True) [11,13][11,13] [ironSword,0x00,0x00,0x00]AttackInRange UNIT Merc Cavalier Batta Level(4, Enemy, True) [9,3][9,3] [Javelin,0x00,0x00,0x00]AttackInRange UNIT Merc Myrmidon Batta Level(4, Enemy, True) [7,12][7,12] [KillingEdge,0x00,0x00,0x00]AttackInRange UNIT Merc Mercenary Batta Level(4, Enemy, True) [6,14][6,14] [ironSword,0x00,0x00,0x00]AttackInRange UNIT Merc Fighter Batta Level(4, Enemy, True) [8,15][8,15] [ironAxe,0x00,0x00,0x00]AttackInRange UNIT Merc Archer Batta Level(4, Enemy, True) [8,17][8,17] [steelBow,0x00,0x00]AttackInRange UNIT Merc Brigand Batta Level(4, Enemy, True) [4,15][4,15] [ironAxe,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Mercenary Batta Level(4, Enemy, True) [13,19][13,19] [steelSword,0x00,0x00,0x00]AttackInRange UNIT Merc Myrmidon Batta Level(4, Enemy, True) [12,20][12,20] [steelSword,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Archer Batta Level(4, Enemy, True) [10,21][10,21] [ironBow,0x00,0x00]AttackInRange UNIT Merc Archer Batta Level(4, Enemy, True) [6,21][6,21] [Longbow,Vulnerary,0x00,0x00]AttackInRange UNIT Merc Cavalier Batta Level(4, Enemy, True) [2,18][2,18] [ironSpear,0x00,0x00,0x00]AttackInRange UNIT Merc Fighter Batta Level(4, Enemy, True) [1,21][1,21] [HandAxe,0x00,0x00,0x00]AttackInRange UNIT Reinforcements1: UNIT Merc Cavalier Batta Level(5, Enemy, True) [0,4][0,4] [ironSpear,Javelin,0x00,0x00]PursueWithoutHeed UNIT Merc Cavalier Batta Level(5, Enemy, True) [0,5][0,5] [ironSword,Javelin,0x00,0x00]PursueWithoutHeed UNIT Merc Brigand Batta Level(4, Enemy, True) [12,4][12,4] [ironAxe,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Brigand Batta Level(4, Enemy, True) [13,4][13,4] [ironAxe,0x00,0x00,0x00]PursueWithoutHeed UNIT Reinforcements2: UNIT Merc Archer Glass Level(4, Enemy, True) [16,9][16,9] [Longbow,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Mercenary Glass Level(4, Enemy, True) [16,11][16,11] [LanceReaver,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Archer Glass Level(4, Enemy, True) [13,21][13,21] [steelBow,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Mercenary Glass Level(4, Enemy, True) [11,21][11,21] [steelSword,0x00,0x00,0x00]PursueWithoutHeed UNIT Reinforcements3: UNIT Merc Fighter Glass Level(5, Enemy, True) [0,19][0,19] [ironAxe,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Myrmidon Glass Level(5, Enemy, True) [0,21][0,21] [steelSword,0x00,0x00,0x00]PursueWithoutHeed UNIT Merc Fighter Glass Level(5, Enemy, True) [0,20][0,20] [ironAxe,HandAxe,0x00,0x00]PursueWithoutHeed UNIT Turn5: LOU1 Reinforcements1 ENUN ENDA Turn7: LOU1 Reinforcements2 ENUN ENDA Turn9: LOU1 Reinforcements3 ENUN ENDA TurnEvents: TurnEventPlayer(0x00, OpeningScene,1) TurnEventPlayer(0x00, Turn5,5) TurnEventPlayer(0x00, Turn7,7) TurnEventPlayer(0x00, Turn9,9) ENDA LocationEvents: Village(0x08,Lance,4,12) House(0x11,House1,4,19) Vendor(Shop1,0,17) LOCA Shop1: SHLI Vulnerary Heal Fire Flux IronSword SlimSword IronSpear SlimSpear IronBow Lance: FADI 10 BACG 0x02 FADU 10 TEX1 0x84E REMA ITGV KillerLance ENDA House1: FADI 10 BACG 0x01 FADU 10 TEX1 0x0847 REMA ENDA TalkEvents: CHAR 0x0E Talk1 Marcus Lyn 0x000000 CHAR 0x0A Talk2 Sain Florina 0x000000 End_MAIN Talk2: TEX1 0x846 REMA ENDA Talk1: TEX1 0x845 REMA ENDA MiscEvents: DefeatAll(EndingScene) CauseGameOverIfLordDies AFEV TerrainEvents: BLST ALIGN 4 OpeningScene: MUS1 0x003E FADI 10 BACG 0x1C TEX1 0x840 REMA FADI 10 BACG 0x1C TEX1 0x841 REMA LOU1 Good ENUN LOU1 Gibb ENUN LOU1 Bad ENUN FADI 10 BACG 0x1C TEX1 0x842 REMA MOVE Batta [14,20] MOVE Kent [10,6] BACG 0x1C TEX1 0x843 REMA TEX1 0x844 REMA ENDA EndingScene: MUS1 0x0038 FADI 10 BACG 0x1C TEX1 0x84F REMA FADI 10 BACG 0x1C TEX1 0x850 REMA MoveToChapter(0x04) MESSAGE Events end at offset currentOffset //The map for this chapter is at offset: ???????? Quote Link to comment Share on other sites More sharing options...
Homasa Posted April 16, 2016 Share Posted April 16, 2016 Hi, I'm having issues with alternate texts. Basically, I want the text to change if a certain character visits a certain village. I thought using IFCA would do that, but that doesn't seem the case (the condition will always trigger no matter which character visits the village). Here's my code. Location_events: Village(0x11,ConradVillage,14,3) Village(0x10,HyugaVillage,14,12) Armory(ArmorVisit,16,5) Vendor(VendorVisit,9,11) House(0,House1,8,7) House(0,House2,13,8) House(0,House3,16,12) LOCA ConradVillage: IFCA 0x00 0x12 Conrad VillageEventMoney(0x847,0x02,5000) ELSE 0x13 ENIF 0x12 VillageEventMoney(0x846,0x02,5000) ENIF 0x13 MAC1 0x00 0 ENDA Quote Link to comment Share on other sites More sharing options...
Tequila Posted April 16, 2016 Share Posted April 16, 2016 Shouldn't the ELSE 0x13 be after the first ENIF 0x12? Quote Link to comment Share on other sites More sharing options...
Homasa Posted April 16, 2016 Share Posted April 16, 2016 I thought ELSE would always come after ENIF. Though I did try to change them and nothing changed. Quote Link to comment Share on other sites More sharing options...
Primefusion Posted April 16, 2016 Share Posted April 16, 2016 Hi all, I've been having trouble with my location events crashing my ROM once I assemble my events. I have three location events: one house, one village, and a vendor. None of them work together or on their own. All of the other events load if I assemble the game without any of the location events present. I bolded the part of the code I'm having trouble with. If it matters, I'm using a Tiled map that was made with the auto map generator from Yeti. Anyone have any ideas? Thank you! =) Nothing's really jumping out at me. Are the tile changes inserted correctly? ConradVillage: IFCA 0x00 0x12 Conrad VillageEventMoney(0x847,0x02,5000) ELSE 0x13 ENIF 0x12 VillageEventMoney(0x846,0x02,5000) ENIF 0x13 MAC1 0x00 0 ENDA Hmm... This looks like it should work. It might be worth starting your conditional IDs at 0x00. Conditional IDs and Event IDs are separate from each other. Sort of a stab in the dark, though. Shouldn't the ELSE 0x13 be after the first ENIF 0x12? Nope. It's not intuitive, but you have to start the else branch before you end the main branch. Quote Link to comment Share on other sites More sharing options...
BearDuelist Posted April 16, 2016 Share Posted April 16, 2016 Nothing's really jumping out at me. Are the tile changes inserted correctly? Hmm... This looks like it should work. It might be worth starting your conditional IDs at 0x00. Conditional IDs and Event IDs are separate from each other. Sort of a stab in the dark, though. Nope. It's not intuitive, but you have to start the else branch before you end the main branch. The only tile layer on my map is for the village gate, which I think is correct. But even if it wasn't, the house and vendor should still work without it, shouldn't they? It's all the location events in general that have been crashing the game. I had a village work in a previous chapter. This is the first time I've tried to use a vendor and a house. Quote Link to comment Share on other sites More sharing options...
Primefusion Posted April 16, 2016 Share Posted April 16, 2016 You should have a Main layer, in addition to the changes for the village. Time for process of elimination. Go into the chapter data editor and set the Tile Changes for the chapter to 'None'. Then, comment out the village in your event code and re-assemble. Do the house and vendor work? Quote Link to comment Share on other sites More sharing options...
BearDuelist Posted April 16, 2016 Share Posted April 16, 2016 I took out the tile changes in nightmare, and the vendor and house still caused the game to crash when I start the chapter. So I guess it's not the tile changes =/ Quote Link to comment Share on other sites More sharing options...
Primefusion Posted April 16, 2016 Share Posted April 16, 2016 (edited) I think I found the issue. TurnEvents should not end with ENDA, but with END_MAIN. You're also missing an ENDA on your ending scene, but I'm pretty sure that wasn't what was causing the issue. Edited April 16, 2016 by Primefusion Quote Link to comment Share on other sites More sharing options...
BearDuelist Posted April 16, 2016 Share Posted April 16, 2016 That did it! That was driving me crazy. Thank you so much! =D Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.