Agro Posted March 29, 2014 Share Posted March 29, 2014 No, what did you try to do? Did you set the text pointer to 0? Quote Link to comment Share on other sites More sharing options...
Solum Posted March 29, 2014 Share Posted March 29, 2014 (edited) Example : ( with one of my chapter's events.) Misc_events: CauseGameOverIfLordDies DefeatBoss(Ending_event)AFEV Ending_event: // Stuff and no event ID with 0x02 as value. THEN We want to have Oleg as the new boss in the Prologue, and of course his death quote must be up when he dies. Let's open The death quote editor part 2, you have multiple ways to fix the death quote : Changing Trigger ID with 0x03 for example will also mean that you don't have any event ID in you event file that use the 0x03 value Note that if you do this with the trigger ID you can have two boss like Paul & Jasmine and both their death quote will work because they have it in the same chapter but with a different ID. Well... If it still doesn't work after all this. Then I'm bad at explaining things. Or you just failed something once again >< Edited March 29, 2014 by Solum Quote Link to comment Share on other sites More sharing options...
Pack yak Posted March 29, 2014 Share Posted March 29, 2014 ^ Its not that you are bad at explaining things. I did everything you said, still no results. Although I don't think it is, but is it possible that by switching the maps of two levels (in this case, map 6 with map 29/30) would in anyway affect how this works? In this case, the old boss, Bool is being switched with Oleg as the example. Into text doc. Oleg Warrior 0x00 XXXXXXX Misc_events GameOverIfLordDies DefeatBoss(Ending_event) AFEV Ending_event /stuff No event has the event ID of 0x02 As for the death quote editor, I've switched Oleg's and Bool's info each way, both seperatly and independently with no results. So 0x34 became Oleg Blood of pride BFB 0x00 0x02 And 4A became Oleg Blood of Pride BFB 0x00 0x02 No death quote showing up, even when doing Bool with his default options none would come up. Unless I'm doing something wrong by spawning them in the text doc/map change, I'm unsure of what I'm doing wrong. Quote Link to comment Share on other sites More sharing options...
Shamison Posted March 29, 2014 Share Posted March 29, 2014 First how do I make the fog that doesn't allow you to see the map? Second how do I make doors open and chests unlock? I have the properties and such in tiled. Quote Link to comment Share on other sites More sharing options...
CT075 Posted March 29, 2014 Author Share Posted March 29, 2014 (edited) opaque fog is done by editing the tileset palette Edited March 29, 2014 by CT075 Quote Link to comment Share on other sites More sharing options...
Shamison Posted March 29, 2014 Share Posted March 29, 2014 Thanks for the info but in nightmare or something else? Quote Link to comment Share on other sites More sharing options...
CT075 Posted March 29, 2014 Author Share Posted March 29, 2014 you could probably do it in nightmare if you wrote the module for it Quote Link to comment Share on other sites More sharing options...
Shamison Posted March 29, 2014 Share Posted March 29, 2014 Then what other methods are used? I've seen it used before. Quote Link to comment Share on other sites More sharing options...
CT075 Posted March 29, 2014 Author Share Posted March 29, 2014 nightmare is pr much just a hex editor so you could probably do it with hxd or something or you could try using a general purpose palette editor Quote Link to comment Share on other sites More sharing options...
Agro Posted March 29, 2014 Share Posted March 29, 2014 Sigh, packyaaaaaaaaaaaaaaaaak you ain't even tried what I said. Make an event file with this: //obviously set this to include your own definitions files, too #include EAstdlib.event //Death quote events #define DQTableOffset 0xC9F2EC #define DeathQuoteTable(index,CharacterID,ChapterID,TextPointer,EventPointer,TriggerID) "ORG DQTableOffset+(16*index); BYTE CharacterID; BYTE ChapterID; ALIGN 4; SHORT TextPointer; ALIGN 4; POIN EventPointer; BYTE TriggerID; ALIGN 4" //The List DeathQuoteTable(0x00,Henrick,0x43,0x00,HenrickDies,0x65)//TextPointer MUST be 0x00 if you want to use events //Death Quote Events ORG 0x71ED5C//CHANGE THIS TO YOUR DESIRED ADDRESS HenrickDies: MUS1 HeroHasFallen TEX1 0x7A8 ENUT 0x45 ENUT 0x02//CHANGE THIS TO THE EVENT ID DESIRED ENDAThe general format for DeathQuoteTable is: DeathQuoteTable(index,CharacterID,ChapterID,TextPointer,EventPointer,TriggerID) Quote Link to comment Share on other sites More sharing options...
Pack yak Posted March 29, 2014 Share Posted March 29, 2014 (edited) I said that I have already tried it, yet somehow failed-, i'll try again however Should the desired address be free space, or the hex of the death quote? Edited March 29, 2014 by Pack yak Quote Link to comment Share on other sites More sharing options...
Agro Posted March 29, 2014 Share Posted March 29, 2014 (edited) Free space. Hex of the death quote is what the pointer is for, but the EA does that for you. What do you mean you "tried it"? And what "failed"? Pack yak, please remember that vague details such as this are huge roadblocks to us helping you and if something goes wrong we need as much detail as possible. Edited March 29, 2014 by Agro Quote Link to comment Share on other sites More sharing options...
Shamison Posted March 29, 2014 Share Posted March 29, 2014 If I did would I be editing the fog? What I'm asking how does the fog work? Is it a tile? Or something else? Quote Link to comment Share on other sites More sharing options...
CT075 Posted March 29, 2014 Author Share Posted March 29, 2014 you'd be editing the fog palette of the tileset, which is tied to the regular tileset palette Quote Link to comment Share on other sites More sharing options...
Shamison Posted March 30, 2014 Share Posted March 30, 2014 (edited) I've never heard or seen it. Where would it be found? And to get back on topic If I have a scripted battle already made how do I trigger it? With a turn event? If so what would the code be? EDIT: Another problem. Every time I move my thief(legault)any distance then press A it freezes. Code: #define DISABLE_TUTORIALS #include EAstdlib.event EventPointerTable(0x06,Pointers) ORG 0xD80000 Pointers: POIN Turn_events POIN Character_events POIN Location_events POIN Misc_events POIN TrapData TrapData POIN Bad Bad Bad Bad POIN Good Good Good Good POIN Opening_event Ending_event // Units Chests: UNIT 0x3E 0x0A 0x00 Level(5, Enemy, 0) [1,4] [1,4] [0x03, 0x6A] PursueWithoutHeed UNIT 0x3E 0x0A 0x00 Level(5, Enemy, 0) [12,10] [12,10] [0x03, 0x88] PursueWithoutHeed UNIT 0x3E 0x18 0x00 Level(10, Enemy, 0) [40,18] [40,18] [0x2C] NoAI UNIT 0x3E 0x18 0x00 Level(10, Enemy, 0) [39,17] [39,17] [0x2C] NoAI UNIT Gaurdian: UNIT 0x53 0x3B 0x00 Level(5, Enemy, 0) [2,11] [2,11] [0x29, 0x2A, 0x24] PursueWithoutHeed UNIT Jailed: UNIT 0x06 0x34 0x00 Level(15, NPC, 0) [12,4] [12,4] [0x1C, 0x1B, 0x14, 0x67] NoAI UNIT 0x08 0x1C 0x00 Level(15, NPC, 0) [19,7] [19,7] [0x3F, 0x40, 0x66] NoAI UNIT 0x0B 0x0C 0x00 Level(5, NPC, 0) [1,7] [1,7] [0x07, 0x23, 0x89] NoAI UNIT Good: UNIT 0x03 0x02 0x00 Level(1, Ally, 0) [13,7] [13,7] [0x0A, 0x6A, 0x02] NoAI UNIT 0x36 0x3C 0x03 Level(1, Ally, 0) [0,14] [3,15] [0x01, 0x69, 0x69] NoAI UNIT Bad: UNIT 0x01 0x07 0x00 Level(10, Enemy, 0) [47,14] [47,14] [0x84, 0x09, 0x1D] Guard UNIT 0x61 0x0C 0x01 Level(10, Enemy, 0) [46,16] [46,16] [0x0B, 0x24] AttackInRange UNIT 0x61 0x10 0x01 Level(10, Enemy, 0) [48,16] [48,16] [0x0B, 0x0C] AttackInRange UNIT 0x61 0x3B 0x01 Level(10, Enemy, 0) [47,17] [47,17] [0x29, 0x2A] AttackInRange UNIT Bad2: UNIT 0x61 0x26 0x01 Level(10, Enemy, 0) [46,13] [46,13] [0x48, 0x45, 0x4B] HealUnits UNIT 0x61 0x22 0x01 Level(10, Enemy, 0) [48,13] [48,13] [0x3D, 0x3B, 0x4B] AttackInRange UNIT 0x61 0x1E 0x01 Level(10, Enemy, 0) [47,12] [47,12] [0x43, 0x42, 0x4C] HealUnits UNIT Ney: UNIT 0x1A 0x5A 0x00 Level(20, Ally, 0) [17,3] [17,3] [0x3C, 0x43, 0x4E] NoAI UNIT Anti: UNIT 0x24 0x3E 0x00 Level(20, Enemy, 0) [18,3] [18,3] [0x0E] Guard UNIT Turn_events: TurnEventPlayer(0x0,Opening_event,1) TurnEventPlayer(0x5,JoinRNG,10) TurnEventPlayer(0x5,RNGLeave,11) End_MAIN Character_events: End_MAIN Location_events: //SecretShop(Secret,1,11) Seize(47,14) Door(6,14) Door(4,10) Door(4,7) Door(4,4) Door(4,2) Door(10,3) Door(10,7) Door(17,6) Door(22,6) Door(20,1) Door(24,17) Door(25,16) Door(25,14) Door(26,10) Door(19,10) Door(28,16) Door(44,13) Door(44,17) Chest(0x70,1,1) ChestMoney(10000,14,16) Chest(0x0B,15,16) Chest(0x43,23,8) Chest(0x8C,23,1) End_MAIN Misc_events: CauseGameOverIfLordDies GAST [36,17] 0x2 [1,1] FIRE [11,10] 0x0 [1,1] FIRE [28,13] 0x0 [1,1] FIRE [30,13] 0x0 [1,1] FIRE [32,13] 0x0 [1,1] FIRE [34,13] 0x0 [1,1] FIRE [36,13] 0x0 [1,1] FIRE [38,13] 0x0 [1,1] FIRE [40,13] 0x0 [1,1] FIRE [42,13] 0x0 [1,1] FIRE [9,7] 0x0 [1,1] FIRE [5,10] 0x0 [1,1] FIRE [5,7] 0x0 [1,1] FIRE [5,4] 0x0 [1,1] FIRE [5,2] 0x0 [1,1] FIRE [9,3] 0x0 [1,1] FIRE [19,1] 0x0 [1,1] GAST [16,5] 0x1 [1,1] GAST [23,5] 0x0 [1,1] ALIGN 4 End_MAIN TrapData: End_MAIN Opening_event: VCBF 1 OOBB LOU1 Good LOU1 Bad LOU1 Bad2 LOU1 Chests LOU1 Jailed LOU1 Gaurdian ENUN CAM1 0x36 FADI 0x10 HIDEMAP BACG 0x3C FADU 0x10 SHOWMAP CAM1 0x03 STAL 15 TEX1 0x0810 REMA FADI 0x10 HIDEMAP BACG 0x3C FADU 0x10 SHOWMAP TEX1 0x0811 REMA ALIGN 4 ENDA Ending_event: ENDA // Events GuyTalk: TurnAlly(0x06) ENDA DorcTalk: TurnAlly(0x08) ENDA WinTalk: TurnAlly(0x0B) ENDA JoinRNG: WarpIn(Ney,17,3) ENUN LOU1 Anti _0xE3 0xCB401C [18*0x10-1,3*0x10-1] SOUN 0x2F6 ENUN ENDA RNGLeave: UNCM 0x24 1b STAL 3 UNCR 0x24 1b STAL 3 UNCM 0x24 1b STAL 3 UNCR 0x24 1b STAL 3 UNCM 0x24 1b STAL 3 UNCR 0x24 1b STAL 3 UNCM 0x24 1b STAL 3 UNCR 0x24 1b STAL 3 DISA 0x24 ENUN ENUN LOU1 Anti _0xE3 0xCB401C [18*0x10-1,3*0x10-1] SOUN 0x2F6 ENUN ENDA // Manual Movement // Scripted Fights Lol: AttackerSilencer(60,1) BLDT // Shop Data MESSAGE Events end at offset currentOffset Edited March 30, 2014 by Shamison Quote Link to comment Share on other sites More sharing options...
CT075 Posted March 30, 2014 Author Share Posted March 30, 2014 FIRE and etc codes go in trapdata, not misc_events Quote Link to comment Share on other sites More sharing options...
Pack yak Posted March 30, 2014 Share Posted March 30, 2014 To Agro: After 2 hours, I have finally figured out what I did wrong with your macro, and it now works- resulting in the death quote showing up AND the chapter ending. Thank you so much. One last thing- For using this macro in other chapters, do I use the same ORG, or change it each chapter? Quote Link to comment Share on other sites More sharing options...
Agro Posted March 30, 2014 Share Posted March 30, 2014 (edited) You can change it if you want to but there's not a lot of point in it. Just keep it the same--each death quote event has its own label so the EA will sort out all the data on its own. Just make sure you leave enough space for the events so that they don't overwrite anything in the future. Just in case it wasn't obvious, you should only have to have one text file for it ever. Example: //obviously set this to include your own definitions files, too #include EAstdlib.event #include owndefinitions.txt #define EveryChapter 0x43 //Death quote events #define DQTableOffset 0xC9F2EC #define DeathQuoteTable(index,CharacterID,ChapterID,TextPointer,EventPointer,ID) "ORG DQTableOffset+(16*index); BYTE CharacterID; BYTE ChapterID; ALIGN 4; SHORT TextPointer; ALIGN 4; POIN EventPointer; BYTE ID; ALIGN 4" //The List DeathQuoteTable(0x00,Henrick,0x43,0x00,HenrickDies,0x65)//TextPointer MUST be 0x00 if you want to use events DeathQuoteTable(0x11,Ethan,0x43,0x00,ETHAN_DIE_SPECIAL,0x00) DeathQuoteTable(0x12,Wakeley,0x43,0x00,WAKELEY_DIE_SPECIAL,0x00) DeathQuoteTable(0x1B,Rori,0x43,0x00,RORI_DIE_SPECIAL,0x00) //DeathQuoteEvents ORG 0x71ED5C//you should only need to do this once HenrickDies: MUS1 HeroHasFallen TEX1 0x7A8 ENDA ETHAN_DIE_SPECIAL: ENUT 0x30 MUS1 PainfulFarewell TEX1 0x8AB ENDA WAKELEY_DIE_SPECIAL: ENUT 0x31 MUS1 PainfulFarewell TEX1 0x8AC ENDA RORI_DIE_SPECIAL: ENUT 0x32 MUS1 PainfulFarewell TEX1 0x7E3 ENDA Edited March 30, 2014 by Agro Quote Link to comment Share on other sites More sharing options...
Solum Posted March 30, 2014 Share Posted March 30, 2014 (edited) Glad you solve your problem. But actually. You did just what I gave you... Wrong again. See : So 0x34 became Oleg Blood of pride BFB 0x00 0x02 And 4A became Oleg Blood of Pride BFB 0x00 0x02 These, even if they have the same datas, are (I think) two differents death quotes. Which use the same trigger ID. And for me it's also the reason why it still didn't work. To be correct it would be like this : So 0x34 became Bool Other Chapter BFB 0x00 0x02 And 4A became Oleg Blood of Pride BFB 0x00 0x02 OR So 0x34 became Oleg Blood of Pride BFB 0x00 0x02 And 4A became Oleg Other Chapter BFB 0x00 0x02 OR (Version where you have multiple death quote. Useful for when you have multiple boss) So 0x34 became Bool Blood of Pride BFB 0x00 0x02 And 4A became Oleg Blood of Pride BFB 0x00 0x03 If I am wrong please correct me. But all these worked fine for me so... If I keep putting explanations now it is more for eventual other death quote problem since they are solved like above the most of the time Edited March 30, 2014 by Solum Quote Link to comment Share on other sites More sharing options...
Agro Posted March 30, 2014 Share Posted March 30, 2014 Solum, I think he's okay I've had a similar issue before where a death quote wouldn't work for an NPC character. I'm not sure what causes it, to be honest, but it seems that the best way to fix it is just to use events. Quote Link to comment Share on other sites More sharing options...
Solum Posted March 30, 2014 Share Posted March 30, 2014 (edited) I just though it may be useful for someone else with death quote difficulties. Not only for Pack yak. I have a question now : When you use a TEX8 to load a text on the map with a brown colored box. Is there a way to auto center it after an event occurring anywhere on the map? My example is a recruitment event (text etc) and right after a little text opens in the center of the screen saying "RandomGuy Joined the party" This is the TEX6 version, which is pretty fine too. But I think I prefer the TEX8's shape. OmbeXTudel:Text(0x0826)TEX6 0x5 [0,0] 0x0827_ASM0x42 0x83181ENDA So yeah. A tiny little question =) Edited March 30, 2014 by Solum Quote Link to comment Share on other sites More sharing options...
Agro Posted March 30, 2014 Share Posted March 30, 2014 No, unfortunately there's no way to auto-centre the textbox. You just have to fumble around with the co-ordinates until you get it right Quote Link to comment Share on other sites More sharing options...
Shamison Posted March 30, 2014 Share Posted March 30, 2014 Well now I get this when I unlock the door. Also my traps only activate once. As in a fire trap in one place works once and then none of them do. Or the other doors. Could it be that I need to set different ID's for the different doors/traps. Code is this define DISABLE_TUTORIALS #include EAstdlib.event EventPointerTable(0x06,Pointers) ORG 0xD80000 Pointers: POIN Turn_events POIN Character_events POIN Location_events POIN Misc_events POIN TrapData TrapData POIN Bad Bad Bad Bad POIN Good Good Good Good POIN Opening_event Ending_event // Units Chests: UNIT 0x3E 0x0A 0x00 Level(5, Enemy, 0) [1,4] [1,4] [0x03, 0x6A] PursueWithoutHeed UNIT 0x3E 0x0A 0x00 Level(5, Enemy, 0) [12,10] [12,10] [0x03, 0x88] PursueWithoutHeed UNIT 0x3E 0x18 0x00 Level(10, Enemy, 0) [40,18] [40,18] [0x2C] NoAI UNIT 0x3E 0x18 0x00 Level(10, Enemy, 0) [39,17] [39,17] [0x2C] NoAI UNIT Gaurdian: UNIT 0x53 0x3B 0x00 Level(5, Enemy, 0) [2,11] [2,11] [0x29, 0x2A, 0x24] PursueWithoutHeed UNIT Jailed: UNIT 0x06 0x34 0x00 Level(15, NPC, 0) [12,4] [12,4] [0x1C, 0x1B, 0x14, 0x67] NoAI UNIT 0x08 0x1C 0x00 Level(15, NPC, 0) [19,7] [19,7] [0x3F, 0x40, 0x66] NoAI UNIT 0x0B 0x0C 0x00 Level(5, NPC, 0) [1,7] [1,7] [0x07, 0x23, 0x89] NoAI UNIT Good: UNIT 0x03 0x02 0x00 Level(1, Ally, 0) [13,7] [13,7] [0x0A, 0x6A, 0x02] NoAI UNIT 0x36 0x3C 0x03 Level(1, Ally, 0) [0,14] [3,15] [0x01, 0x69, 0x69] NoAI UNIT Bad: UNIT 0x01 0x07 0x00 Level(10, Enemy, 0) [47,14] [47,14] [0x84, 0x09, 0x1D] Guard UNIT 0x61 0x0C 0x01 Level(10, Enemy, 0) [46,16] [46,16] [0x0B, 0x24] AttackInRange UNIT 0x61 0x10 0x01 Level(10, Enemy, 0) [48,16] [48,16] [0x0B, 0x0C] AttackInRange UNIT 0x61 0x3B 0x01 Level(10, Enemy, 0) [47,17] [47,17] [0x29, 0x2A] AttackInRange UNIT Bad2: UNIT 0x61 0x26 0x01 Level(10, Enemy, 0) [46,13] [46,13] [0x48, 0x45, 0x4B] HealUnits UNIT 0x61 0x22 0x01 Level(10, Enemy, 0) [48,13] [48,13] [0x3D, 0x3B, 0x4B] AttackInRange UNIT 0x61 0x1E 0x01 Level(10, Enemy, 0) [47,12] [47,12] [0x43, 0x42, 0x4C] HealUnits UNIT Ney: UNIT 0x1A 0x5A 0x00 Level(20, Ally, 0) [17,3] [17,3] [0x3C, 0x43, 0x4E] NoAI UNIT Anti: UNIT 0x24 0x3E 0x00 Level(20, Enemy, 0) [18,3] [18,3] [0x0E] Guard UNIT Turn_events: TurnEventPlayer(0x0,Opening_event,1) TurnEventPlayer(0x5,JoinRNG,10) TurnEventPlayer(0x5,RNGLeave,11) End_MAIN Character_events: End_MAIN Location_events: //SecretShop(Secret,1,11) Seize(47,14) Door(6,14) Door(4,10) Door(4,7) Door(4,4) Door(4,2) Door(10,3) Door(10,7) Door(17,6) Door(22,6) Door(20,1) Door(24,17) Door(25,16) Door(25,14) Door(26,10) Door(19,10) Door(28,16) Door(44,13) Door(44,17) Chest(0x70,1,1) ChestMoney(10000,14,16) Chest(0x0B,15,16) Chest(0x43,23,8) Chest(0x8C,23,1) End_MAIN Misc_events: CauseGameOverIfLordDies End_MAIN TrapData: GAST [36,17] 0x2 [1,1] FIRE [11,10] 0x0 [1,1] FIRE [28,13] 0x0 [1,1] FIRE [30,13] 0x0 [1,1] FIRE [32,13] 0x0 [1,1] FIRE [34,13] 0x0 [1,1] FIRE [36,13] 0x0 [1,1] FIRE [38,13] 0x0 [1,1] FIRE [40,13] 0x0 [1,1] FIRE [42,13] 0x0 [1,1] FIRE [9,7] 0x0 [1,1] FIRE [5,10] 0x0 [1,1] FIRE [5,7] 0x0 [1,1] FIRE [5,4] 0x0 [1,1] FIRE [5,2] 0x0 [1,1] FIRE [9,3] 0x0 [1,1] FIRE [19,1] 0x0 [1,1] GAST [16,5] 0x1 [1,1] GAST [23,5] 0x0 [1,1] ALIGN 4 End_MAIN Opening_event: VCBF 1 OOBB LOU1 Good LOU1 Bad LOU1 Bad2 LOU1 Chests LOU1 Jailed LOU1 Gaurdian ENUN CAM1 0x36 FADI 0x10 HIDEMAP BACG 0x3C FADU 0x10 SHOWMAP CAM1 0x03 STAL 15 TEX1 0x0810 REMA FADI 0x10 HIDEMAP BACG 0x3C FADU 0x10 SHOWMAP TEX1 0x0811 REMA ALIGN 4 ENDA Ending_event: ENDA // Events GuyTalk: TurnAlly(0x06) ENDA DorcTalk: TurnAlly(0x08) ENDA WinTalk: TurnAlly(0x0B) ENDA JoinRNG: WarpIn(Ney,17,3) ENUN LOU1 Anti _0xE3 0xCB401C [18*0x10-1,3*0x10-1] SOUN 0x2F6 ENUN ENDA RNGLeave: UNCM 0x24 1b STAL 3 UNCR 0x24 1b STAL 3 UNCM 0x24 1b STAL 3 UNCR 0x24 1b STAL 3 UNCM 0x24 1b STAL 3 UNCR 0x24 1b STAL 3 UNCM 0x24 1b STAL 3 UNCR 0x24 1b STAL 3 DISA 0x24 ENUN ENUN LOU1 Anti _0xE3 0xCB401C [18*0x10-1,3*0x10-1] SOUN 0x2F6 ENUN ENDA // Manual Movement // Scripted Fights Lol: AttackerSilencer(60,1) BLDT // Shop Data MESSAGE Events end at offset currentOffset Quote Link to comment Share on other sites More sharing options...
CT075 Posted March 30, 2014 Author Share Posted March 30, 2014 each door/chest should have its own tile ID it's also END_MAIN, not End_MAIN Quote Link to comment Share on other sites More sharing options...
Shamison Posted March 30, 2014 Share Posted March 30, 2014 (edited) Okay would that be the 0x0 that I change? And would it be based on the tile ID in tiled? Edited March 30, 2014 by Shamison 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.