Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

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 :

171803DQEE.png

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 by Solum
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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
ENDA
The general format for DeathQuoteTable is:

DeathQuoteTable(index,CharacterID,ChapterID,TextPointer,EventPointer,TriggerID)
Link to comment
Share on other sites

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 by Agro
Link to comment
Share on other sites

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 by Shamison
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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 by Agro
Link to comment
Share on other sites

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 by Solum
Link to comment
Share on other sites

Solum, I think he's okay :P:

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.

Link to comment
Share on other sites

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 0x83181
ENDA

So yeah. A tiny little question =)

Edited by Solum
Link to comment
Share on other sites

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 :(:

Link to comment
Share on other sites

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.

JKio64L.png

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

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