Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

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.

In the IFCA syntax, which one are conditional IDs and which one are event IDs ? Are they all conditional or some are considered as event ?

Plus, one thing that's been budging me is the signification of IFCA IDs. I presume the first parameter corresponds to the ID you give to IFCA, but what about the other one ?

Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

In the IFCA syntax, which one are conditional IDs and which one are event IDs ? Are they all conditional or some are considered as event ?

Plus, one thing that's been budging me is the signification of IFCA IDs. I presume the first parameter corresponds to the ID you give to IFCA, but what about the other one ?

From the Event Assembler Language:

IFCA Unknown *Conditional ID* Character

Afaik, we keep the first parameter of IFCA as 0x00 because we're not sure what it does (unless someone already messed with it and found the changes it does).

ConradVillage:
IFCA 0x00 0x12 Conrad
VillageEventMoney(0x847,0x02,5000)
ELSE 0x13
ENIF 0x12
VillageEventMoney(0x846,0x02,5000)
ENIF 0x13
MAC1 0x00 0
ENDA

From the Main Code Helpers in the EA Standard Library:

#define VillageEventMoney(textID,background,money) "MUSI; FADI 16; HIDEMAP; BACG background; FADU 16; SHOWMAP; TEX1 textID; REMA; MUNO; _FADU2; SHOWMAP; MONE 0 money; ENDA"

The extra ENDAs (specifically, the one in VillageEventMoney with 0x847) marks those points as the end of ConradVillage. There are three things (possibly more?) you could do to fix this:

- Replace each macro with all of the code it "represents" except for the ENDA. I don't think this is the best option, but it's there!

- Make another macro that looks similar to that, but change the name to something like "VillageEventMoneyCond" and remove the ENDA.

- Put each VillageEventMoney in a separate label, and go to each label with CALL.

EDIT: A fourth thing (probably the most direct approach) is just delete the ENDA (and the semicolon before it) in that macro. You would have to remember that ENDA is no longer a part of that macro, but you might find that better anyways.

Edited by Aura Wolf
Link to comment
Share on other sites

From the Event Assembler Language:

IFCA Unknown *Conditional ID* Character

Afaik, we keep the first parameter of IFCA as 0x00 because we're not sure what it does (unless someone already messed with it and found the changes it does).

Right, got it.

The extra ENDAs (specifically, the one in VillageEventMoney with 0x847) marks those points as the end of ConradVillage. There are three things (possibly more?) you could do to fix this:

- Replace each macro with all of the code it "represents" except for the ENDA. I don't think this is the best option, but it's there!

- Make another macro that looks similar to that, but change the name to something like "VillageEventMoneyCond" and remove the ENDA.

- Put each VillageEventMoney in a separate label, and go to each label with CALL.

EDIT: A fourth thing (probably the most direct approach) is just delete the ENDA (and the semicolon before it) in that macro. You would have to remember that ENDA is no longer a part of that macro, but you might find that better anyways.

That's it... Yeah I opted for your last solution (removing the ENDA from the Main Code Helpers) and it works perfectly. Thanks a lot !

Link to comment
Share on other sites

I'm getting some really weird glitches... I've isolated one of the problems as a MOVE command, in which I can't figure out what's wrong, and the other I am utterly flabbergasted by. For some reason, the opening event is repeating after every single turn after turn 2, where my conditional event occurs, which works fine except for the MOVE command. It seems as if the initial beginning turn event that starts it is being repeated, as it's the only thing that segues to the opening event. I even gave the opening turn event an eventID, but it still happens. Here's the full event file. Lucius is the enemy thief, for reference. Another problem is map changes, which aren't activating. I used Tiled and the ID's for the map changes are 1 and 2. Also, I modified the chest macros to include eventIDs. I'm bolding the problematic parts.

#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 Brother
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN Opening_event Ending_event
Good:
UNIT 0x03 0x28 0x03 Level(1, Ally, 0) [7,0] [7,1] [0x01, 0x14, 0x6B] NoAI
UNIT
Bad:
UNIT 0x10 0x3C 0x10 Level(1, Enemy, 0) [7,6] [7,7] [0x01, 0x6A] StealFromChests
UNIT
Brother:
UNIT Raven Mercenary 0x00 Level(8, NPC, True) [13,1] [13,1] [steelSword] NoAI
Turn_events:
TurnEventPlayer(0x0A,Opening_event,1)
TurnEventEnemy(0x00,Brother_event,2)
End_MAIN
Character_events:
End_MAIN
Location_events:
House(0x03,House_event,3,5)
Chest(0x08,0x17,10,13)
ChestMoney(0x01,5000,1,13)
End_MAIN
Misc_events:
CauseGameOverIfLordDies
DefeatAll(Ending_event)
End_MAIN
TrapData:
End_MAIN
Opening_event:
OOBB
MUS1 0x44
LOU1 Good
ENUN
FADI 10
BACG 0x04
FADU 10
TEX1 0x801
REMA
LOU1 Bad
ENUN
CAM1 Lucius
FADI 10
BACG 0x04
MUS2 0x0C
FADU 10
TEX1 0x800
REMA
CURF [5,11]
MURE 5
ENDA
House_event:
FADI 10
MUSI
BACG 0x01
FADU 10
TEX1 0x0802
REMA
MUNO
Brother_event:
IFET 0x04 0x03
LOU1 Brother
FADI 10
BACG 0x2A
FADU 10
TEX1 0x803
REMA
MOVE Raven [7,7]
FADI 10
BACG 0x04
FADU 10
TEX1 0x804
REMA
TurnAlly(Raven)
ELSE 0x05
ENIF 0x04
LOU1 Brother
FADI 10
BACG 0x2A
FADU 10
TEX1 0x803
REMA
MOVE Raven [7,7]
FADI 10
BACG 0x04
FADU 10
TEX1 0x807
REMA
ENIF 0x05
ENDA
Ending_event:
IFET 0x06 0x03
FADI 10
BACG 0x04
FADU 10
TEX1 0x805
REMA
MOVE Raven [3,5]
DISA Raven
FADI 10
BACG 0x04
FADU 10
REMA
MoveOff(0x03,5,0)
ELSE 0x07
ENIF 0x06
FADI 10
BACG 0x04
FADU 10
TEX1 0x808
REMA
MoveOff(0x03,5,0)
ENDA
MESSAGE Events end at offset currentoffset
Edited by Bamstacks
Link to comment
Share on other sites

You'll want to change the event IDs you're using. 0x01 through 0x05 are reserved by the game for internal use.

Also, your house event doesn't have an ENDA and some of your LOU1 commands don't have ENUNs after them.

I tinkered around with your events after noticing these issues and I didn't have any weird glitches happen on my end. Here's my modified version of your 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 Brother
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN Opening_event Ending_event
 
Good:
UNIT 0x03 0x28 0x03 Level(1, Ally, 0) [7,0] [7,1] [0x01, 0x14, 0x6B] NoAI
UNIT
 
Bad:
UNIT 0x10 0x3C 0x10 Level(1, Enemy, 0) [7,6] [7,7] [0x01, 0x6A] StealFromChests
UNIT
 
Brother:
UNIT Raven Mercenary 0x00 Level(8, NPC, True) [13,1] [13,1] [SteelSword] Guard
UNIT // ----------------------- ADDED

Turn_events:
TurnEventPlayer(0x0A,Opening_event,1)
TurnEventEnemy(0x00,Brother_event,2)
End_MAIN
 
Character_events:
End_MAIN
 
 
#define GotChest 0x0D
 
Location_events:
House(0x0B,House_event,3,5) // Change Event ID; 0x01 is reserved
Chest(0x08,0x17,10,13)
ChestMoney(GotChest,5000,1,13)  // Change Event ID; 0x03 is reserved
End_MAIN
 
Misc_events:
CauseGameOverIfLordDies
DefeatAll(Ending_event)
End_MAIN
 
TrapData:
End_MAIN
 
Opening_event:
OOBB
MUS1 0x44
LOU1 Good
ENUN
FADI 10
BACG 0x04
FADU 10
TEX1 0x801
REMA
LOU1 Bad
ENUN
CAM1 Lucius
FADI 10
BACG 0x04
MUS2 0x0C
FADU 10
TEX1 0x800
REMA
CURF [5,11]
MURE 5
ENDA
 
House_event:
FADI 10
MUSI
BACG 0x01
FADU 10
TEX1 0x0802
REMA
MUNO
ENDA // ----------------------- ADDED
 
Brother_event:
IFET 0x04 GotChest
    LOU1 Brother
    ENUN // ----------------------- ADDED
    FADI 10
    BACG 0x2A
    FADU 10
    TEX1 0x803
    REMA
    MOVE Raven [6,6]
    ENUN // ----------------------- ADDED
    FADI 10
    BACG 0x04
    FADU 10
    TEX1 0x804
    REMA
    TurnAlly(Raven)
ELSE 0x05
ENIF 0x04
    LOU1 Brother
    ENUN // ----------------------- ADDED
    FADI 10
    BACG 0x2A
    FADU 10
    TEX1 0x803
    REMA
    MOVE Raven [6,6]
    ENUN // ----------------------- ADDED
    FADI 10
    BACG 0x04
    FADU 10
    TEX1 0x807
    REMA
ENIF 0x05
ENDA
 
Ending_event:
IFET 0x06 GotChest
FADI 10
BACG 0x04
FADU 10
TEX1 0x805
REMA
MOVE Raven [3,5]
ENUN // ----------------------- ADDED
DISA Raven
FADI 10
BACG 0x04
FADU 10
REMA
MoveOff(0x03,5,0)
ELSE 0x07
ENIF 0x06
FADI 10
BACG 0x04
FADU 10
TEX1 0x808
REMA
MoveOff(0x03,5,0)
ENDA
 
MESSAGE Events end at offset currentoffset
Link to comment
Share on other sites

Is there any way to supply parameters for ASMCs? It looks like right now you have to call different routines just for different parameters eg money setting. I know SETVAL is a thing, but I'm looking for FE7 specifically. Thanks folks.

Link to comment
Share on other sites

One more thing: I want to move my main lord off the screen to end the chapter, but when she moves off, she clones herself; one moves off, and one stays in place with the running animation. How could I fix this? MoveOff contains a MOVE, ENUN, then a DISA, so I don't know what could be causing it.

Link to comment
Share on other sites

Is there any way to supply parameters for ASMCs? It looks like right now you have to call different routines just for different parameters eg money setting. I know SETVAL is a thing, but I'm looking for FE7 specifically. Thanks folks.

Pretty sure there isn't (at least not in the documentation). All of the ASMCs that I've seen have been parameterless functions anyways. Like "IsItThePlayerPhase()" or "ShowFireRingAnimation()".

One more thing: I want to move my main lord off the screen to end the chapter, but when she moves off, she clones herself; one moves off, and one stays in place with the running animation. How could I fix this? MoveOff contains a MOVE, ENUN, then a DISA, so I don't know what could be causing it.

If the lord is the currently active character you'll need to do some under-the-cover stuff.

Fade Out, clear all units, fade in, show dialogue with a background, fade out, load a new unit group with the lord, fade in, and have the lord move off.

At least, that's the first implementation that comes to mind. Trying to move the unit that triggered the ending event around can cause weird stuff, like cloning.

Link to comment
Share on other sites

  • 3 weeks later...

If I wanted to change the alliance of several generic units, how would I do that? With the macro TurnNPC, I can change the alliance of a character, but that only changes the alliance for 1 of the generics. Is there a better way to do this? Does the CUSN code allow you to specify the unit on a specific pair of coordinates?

Also, reverting a tile change isn't working for me.

MAC1 0x00 activates it, and supposedly MAC1 0x08 reverts it, but it isn't reverting it in my map.

Here are the full events.

//Made by markyjoe1990 of Youtube
//Modified by Nintenlord
#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 Mercenaries Reinforcements
POIN MainGroup SecondGroup MilltonnteSoldiers
POIN ColbertvsBatta ReinforcementsCome MakeAllies
POIN OldManDaughter
POIN Opening_event Ending_event
MainGroup:
UNIT Verbrannt Archer Verbrannt Level(12,Ally,False) [24,2] [24,2] [steelBow,Vulnerary] NoAI
UNIT Verdan Mercenary Verbrannt Level(11,Ally,False) [24,3] [24,3] [steelSword] NoAI
UNIT Taylor Lancer Verbrannt Level(13,Ally,False) [23,3] [23,3] [steelLance, Elixir] NoAI
UNIT Darius Ranger Verbrannt Level(10,Ally,False) [22,2] [22,2] [ironBow,Vulnerary] NoAI
UNIT
SecondGroup:
UNIT Eoin Missionary Verbrannt Level(9, Ally, False) [24,4] [24,4] [Mend] NoAI
UNIT Eliza PegasusKnight Verbrannt Level(1,Ally,False) [25,4] [25,4] [steelLance] NoAI
UNIT Thatch Mercenary Verbrannt Level(11,Ally,False) [22,3] [22,3] [steelSword] NoAI
UNIT Colbert Warrior Verbrannt Level(5,Ally,False) [22,4] [22,4] [steelAxe,SteelBow] NoAI
UNIT
MilltonnteSoldiers:
UNIT MilltonnteC Lancer 0x00 Level(20,Ally,True) [21,9] [21,9] [silverLance] Guard
UNIT PMilltonnteC General 0x00 Level(1,Ally,True) [25,5] [25,5] [ironLance] Guard
UNIT PMilltonnteC Paladin 0x00 Level(1,Ally,True) [26,6] [26,6] [steelSword, SteelLance] Guard
UNIT
Mercenaries:
UNIT Merc Mercenary 0x00 Level(20,Enemy,True) [6,1] [6,1] [silverSword] PursueWithoutHeed
UNIT Merc Mercenary 0x00 Level(20,Enemy,True) [5,1] [5,1] [silverSword] PursueWithoutHeed
UNIT Merc Mercenary 0x00 Level(20,Enemy,True) [7,1] [7,1] [silverSword] PursueWithoutHeed
UNIT Merc Fighter 0x00 Level(20,Enemy,True) [7,0] [7,0] [silverAxe] PursueWithoutHeed
UNIT Merc Fighter 0x00 Level(20,Enemy,True) [8,0] [8,0] [silverAxe] PursueWithoutHeed
UNIT Merc Archer 0x00 Level(20,Enemy,True) [5,0] [5,0] [silverBow] PursueWithoutHeed
UNIT Batta Swordmaster 0x00 Level(2,Enemy,False) [3,0] [3,0] [KillingEdge] PursueWithoutHeed
UNIT
Reinforcements:
UNIT PMerc Hero 0x00 Level(1,Enemy,True) [6,1] [6,1] [steelAxe] PursueWithoutHeed
UNIT PMerc Warrior 0x00 Level(1,Enemy,True) [7,1] [7,1] [silverAxe] PursueWithoutHeed
UNIT PMerc Huntsman 0x00 Level(1,Enemy,True) [5,1] [5,1] [silverBow] PursueWithoutHeed
UNIT
Turn_events:
OpeningTurnEvent(Opening_event)
TurnEventPlayer(0x09,ReinforcementsCome,3)
END_MAIN
Character_events:
END_MAIN
Location_events:
Chest(0,SilverSword,29,10)
ChestMoney(0,1000,32,10)
House(0x07,OldManDaughter,2,15)
END_MAIN
Misc_events:
CauseGameOverIfLordDies
DefeatAll(Ending_event)
AREA 0x08 MakeAllies [20,13] [21,13]
END_MAIN
Opening_event:
OOBB
MUS1 FriendshipandAdventure
LOU1 MilltonnteSoldiers
ENUN
LOU1 MainGroup
ENUN
FADI 10
BACG InsideCastle
FADU 10
TEX1 0x800
REMA
MOVE Darius [4,9]
MOVE Verbrannt [4,7]
MOVE Taylor [5,8]
MOVE Verdan [6,8]
ENUN
MOVE [21,9] [21,10]
ENUN
MAC1 1 0x00
LOU1 SecondGroup
ENUN
FADI 10
BACG InsideCastle
FADU 10
TEX1 0x801
REMA
MOVE Thatch [20,10]
MOVE Colbert [20,9]
MOVE Eoin [21,9]
MOVE Eliza [20,8]
ENUN
MAC1 1 0x08
MOVE Thatch [4,10]
MOVE Colbert [7,8]
MOVE Eoin [5,9]
MOVE Eliza [8,11]
ENUN
MAC1 1 0x00
FADI 10
BACG 0x2A
FADU 10
TEX1 0x802
REMA
LOU1 Mercenaries
ENUN
FADI 10
BACG 0x23
FADU 10
TEX1 0x803
REMA
CAM1 Verbrannt
TEX1 0x804
REMA
MOVE Colbert [4,0]
ENUN
FIGH Colbert Batta ColbertvsBatta [0x00,0x00,0x00,0x00]
MOVE Colbert [7,8]
ENUN
TEX1 0x807
REMA
TurnNPC(MilltonnteC)
ENDA
ColbertvsBatta:
BLDT 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0
BLDT 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 15
EndOfBattle
ReinforcementsCome:
LOU1 Reinforcements
ENUN
ENDA
MakeAllies:
FADI 10
BACG InsideCastle
FADU 10
TEX1 0x806
REMA
TurnAlly(MilltonnteC)
ENDA
OldManDaughter:
FADI 10
BACG Housewithfireplace
FADU 10
TEX1 0x805
REMA
ITGV KillingEdge
ENDA
Ending_event:
MNCH(0x01)
ENDA
TrapData:
ENDTRAP
MESSAGE Events end at offset currentOffset
//The map for this chapter is at offset: ????????

Edited by Bamstacks
Link to comment
Share on other sites

If I wanted to change the alliance of several generic units, how would I do that? With the macro TurnNPC, I can change the alliance of a character, but that only changes the alliance for 1 of the generics. Is there a better way to do this? Does the CUSN code allow you to specify the unit on a specific pair of coordinates?

Also, reverting a tile change isn't working for me.

MAC1 0x00 activates it, and supposedly MAC1 0x08 reverts it, but it isn't reverting it in my map.

Here are the full events.

//Made by markyjoe1990 of Youtube
//Modified by Nintenlord
#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 Mercenaries Reinforcements
POIN MainGroup SecondGroup MilltonnteSoldiers
POIN ColbertvsBatta ReinforcementsCome MakeAllies
POIN OldManDaughter
POIN Opening_event Ending_event
MainGroup:
UNIT Verbrannt Archer Verbrannt Level(12,Ally,False) [24,2] [24,2] [steelBow,Vulnerary] NoAI
UNIT Verdan Mercenary Verbrannt Level(11,Ally,False) [24,3] [24,3] [steelSword] NoAI
UNIT Taylor Lancer Verbrannt Level(13,Ally,False) [23,3] [23,3] [steelLance, Elixir] NoAI
UNIT Darius Ranger Verbrannt Level(10,Ally,False) [22,2] [22,2] [ironBow,Vulnerary] NoAI
UNIT
SecondGroup:
UNIT Eoin Missionary Verbrannt Level(9, Ally, False) [24,4] [24,4] [Mend] NoAI
UNIT Eliza PegasusKnight Verbrannt Level(1,Ally,False) [25,4] [25,4] [steelLance] NoAI
UNIT Thatch Mercenary Verbrannt Level(11,Ally,False) [22,3] [22,3] [steelSword] NoAI
UNIT Colbert Warrior Verbrannt Level(5,Ally,False) [22,4] [22,4] [steelAxe,SteelBow] NoAI
UNIT
MilltonnteSoldiers:
UNIT MilltonnteC Lancer 0x00 Level(20,Ally,True) [21,9] [21,9] [silverLance] Guard
UNIT PMilltonnteC General 0x00 Level(1,Ally,True) [25,5] [25,5] [ironLance] Guard
UNIT PMilltonnteC Paladin 0x00 Level(1,Ally,True) [26,6] [26,6] [steelSword, SteelLance] Guard
UNIT
Mercenaries:
UNIT Merc Mercenary 0x00 Level(20,Enemy,True) [6,1] [6,1] [silverSword] PursueWithoutHeed
UNIT Merc Mercenary 0x00 Level(20,Enemy,True) [5,1] [5,1] [silverSword] PursueWithoutHeed
UNIT Merc Mercenary 0x00 Level(20,Enemy,True) [7,1] [7,1] [silverSword] PursueWithoutHeed
UNIT Merc Fighter 0x00 Level(20,Enemy,True) [7,0] [7,0] [silverAxe] PursueWithoutHeed
UNIT Merc Fighter 0x00 Level(20,Enemy,True) [8,0] [8,0] [silverAxe] PursueWithoutHeed
UNIT Merc Archer 0x00 Level(20,Enemy,True) [5,0] [5,0] [silverBow] PursueWithoutHeed
UNIT Batta Swordmaster 0x00 Level(2,Enemy,False) [3,0] [3,0] [KillingEdge] PursueWithoutHeed
UNIT
Reinforcements:
UNIT PMerc Hero 0x00 Level(1,Enemy,True) [6,1] [6,1] [steelAxe] PursueWithoutHeed
UNIT PMerc Warrior 0x00 Level(1,Enemy,True) [7,1] [7,1] [silverAxe] PursueWithoutHeed
UNIT PMerc Huntsman 0x00 Level(1,Enemy,True) [5,1] [5,1] [silverBow] PursueWithoutHeed
UNIT
Turn_events:
OpeningTurnEvent(Opening_event)
TurnEventPlayer(0x09,ReinforcementsCome,3)
END_MAIN
Character_events:
END_MAIN
Location_events:
Chest(0,SilverSword,29,10)
ChestMoney(0,1000,32,10)
House(0x07,OldManDaughter,2,15)
END_MAIN
Misc_events:
CauseGameOverIfLordDies
DefeatAll(Ending_event)
AREA 0x08 MakeAllies [20,13] [21,13]
END_MAIN
Opening_event:
OOBB
MUS1 FriendshipandAdventure
LOU1 MilltonnteSoldiers
ENUN
LOU1 MainGroup
ENUN
FADI 10
BACG InsideCastle
FADU 10
TEX1 0x800
REMA
MOVE Darius [4,9]
MOVE Verbrannt [4,7]
MOVE Taylor [5,8]
MOVE Verdan [6,8]
ENUN
MOVE [21,9] [21,10]
ENUN
MAC1 1 0x00
LOU1 SecondGroup
ENUN
FADI 10
BACG InsideCastle
FADU 10
TEX1 0x801
REMA
MOVE Thatch [20,10]
MOVE Colbert [20,9]
MOVE Eoin [21,9]
MOVE Eliza [20,8]
ENUN
MAC1 1 0x08
MOVE Thatch [4,10]
MOVE Colbert [7,8]
MOVE Eoin [5,9]
MOVE Eliza [8,11]
ENUN
MAC1 1 0x00
FADI 10
BACG 0x2A
FADU 10
TEX1 0x802
REMA
LOU1 Mercenaries
ENUN
FADI 10
BACG 0x23
FADU 10
TEX1 0x803
REMA
CAM1 Verbrannt
TEX1 0x804
REMA
MOVE Colbert [4,0]
ENUN
FIGH Colbert Batta ColbertvsBatta [0x00,0x00,0x00,0x00]
MOVE Colbert [7,8]
ENUN
TEX1 0x807
REMA
TurnNPC(MilltonnteC)
ENDA
ColbertvsBatta:
BLDT 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0
BLDT 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 15
EndOfBattle
ReinforcementsCome:
LOU1 Reinforcements
ENUN
ENDA
MakeAllies:
FADI 10
BACG InsideCastle
FADU 10
TEX1 0x806
REMA
TurnAlly(MilltonnteC)
ENDA
OldManDaughter:
FADI 10
BACG Housewithfireplace
FADU 10
TEX1 0x805
REMA
ITGV KillingEdge
ENDA
Ending_event:
MNCH(0x01)
ENDA
TrapData:
ENDTRAP
MESSAGE Events end at offset currentOffset
//The map for this chapter is at offset: ????????

The my knowledge, you'd have to just use different character IDs for each of the ones you wanted to change.

I'm not 100% certain and am too lazy to check right now, but I believe that it's a different code that reverted changes.

Pretty sure there isn't (at least not in the documentation). All of the ASMCs that I've seen have been parameterless functions anyways. Like "IsItThePlayerPhase()" or "ShowFireRingAnimation()".

If the lord is the currently active character you'll need to do some under-the-cover stuff.

Fade Out, clear all units, fade in, show dialogue with a background, fade out, load a new unit group with the lord, fade in, and have the lord move off.

At least, that's the first implementation that comes to mind. Trying to move the unit that triggered the ending event around can cause weird stuff, like cloning.

Is she the active unit? DISA doesn't work on the active unit. In fact, most event commands don't. It's rather unfortunate.

Link to comment
Share on other sites

Is she the active unit? DISA doesn't work on the active unit. In fact, most event commands don't. It's rather unfortunate.

True, but I never mentioned DISA. UnitClear is the thing to use in this case.

Link to comment
Share on other sites

HI, so new to hacking here, I may have more questions in the future, but for now just one.

If I wanted to have a unit run across the map, from like point a (one fort) to point b (another fort) how would I go about that?

EDIT: I Figured it out! Should've looked a bit harder, but apparently I missed it when looking throufh Arch's event hacking for dummies tutotorial. I found it while looking through the tutoiral for scripted fights since it was right after. I will probably have mroe questions later.

Edited by StrykerZ
Link to comment
Share on other sites

Hello, i made some modifications on Lyn Mode, then in chapter 12 when the Units load, it wont load Dorcas, it will load the new units recruited in Lyn mode, even the next chapter, chapter 13, it wont load Mathew, Hector and Oswin, it will load the new recruited units instead...Does anyone now how do i change that? There is the LOUFILTERED, but how do i change it to work?

ORG $CA1A74
TurnBasedEvents:
TURN 0x0 BeginningScene [1,0] 0x0 0x0
TURN 0x0 label14 [4,0] 0x0 0x1
TURN 0x0 label15 [3,0] 0x8 0x1
TURN 0x0 label15 [2,0] 0x8 0x2
TURN 0x0 label14 [4,0] 0x0 0x3
TURN 0x0 label15 [3,0] 0x8 0x3
TURN 0x0 label15 [3,0] 0x8 0x4
AFEV

CharacterBasedEvents:
CHAR 0x7 label16 [0x1,0x2] 0x0
CHAR 0x7 label16 [0x2,0x1] 0x0
AFEV

LocationBasedEvents:
LOCA 0x0 label17 [0,13] 0xE
LOCA 0x0 label18 [7,4] 0xE
LOCA 0x0 label19 [7,15] 0xE
VILL 0x8 label20 [1,8] 0xE
LOCA 0x8 [1,7] 0x1D
SHOP 0x0 label21 [1,13] 0x14
SHOP 0x0 label22 [7,10] 0x13
AFEV

MiscBasedEvents:
ASME 0x0 EndingScene 0x79FE9
AFEV 0x0 label23 0x65
AFEV

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

ORG $CA1B84
PointerList:
POIN TurnBasedEvents
POIN CharacterBasedEvents
POIN LocationBasedEvents
POIN MiscBasedEvents
POIN TrapsEliwoodMode TrapsHectorMode
POIN EnemyUnitsENM EnemyUnitsENM EnemyUnitsHNM EnemyUnitsENM
POIN AllyUnitsENM AllyUnitsENM AllyUnitsHNM AllyUnitsENM
POIN BeginningScene EndingScene

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

ORG $CA6F76
label21:
SHLI 0x6B

label22:
SHLI 0x1 0x14 0x1F 0x2C

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

ORG $CA71BC
TrapsEliwoodMode:
ENDTRAP

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

ORG $CA7318
TrapsHectorMode:
ENDTRAP

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

ORG $CA749C
label23:
_0x87
STAL 30
ASMC 0x7A455
STAL 10
ASMC 0x13FA5
STAL 80
ASMC 0x6CCB9
IFAT 0x1 0x7A47D
ASMC 0x20479
ENIF 0x1
ASMC 0xB2F95
ENDA

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

ORG $CAE9CC
label27:
MOMA 0x0

label25:
MOMA 0x0 0x0

label28:
MOMA 0x2

label26:
MOMA 0xC 0x12 0x2 0x2 0x2 0x1 0x1 0x1 0x2 0x2

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

ORG $CAE9E0
BeginningScene:
CMOF
IFEM 0x1E
LOMA 0x33 [0,0]
FADU 4
SHOWMAP
TEX8 0x5DB [120,12]
STAL 100
RETB
STAL 32
CURF [8,5]
FADI 16
HIDEMAP
BACG 0x10
FADU 16
SHOWMAP
TEX1 0xA1B
REMA
STAL 60
FADI 4
HIDEMAP
STAL 32
LOMA 0xE [0,0]
LOUFILTERED2 0x2 AllyUnitsENM
ENUN
REPOS 0x1 [9,15]
REPOS 0x1A [11,15]
_ASM0x5A 0x1 0x7A3B9
LOEV 0xCD 0x51 [10,15]
ENUN
FADU 4
SHOWMAP
MUEN 4
CAM2 [10,11]
MOVE 0x1 [9,11]
MOVE 0x1A [11,11]
_ASM0x5A 0x1 0x7A3B9
MOVE 0xCD [10,12] 24
ENUN
FADI 16
HIDEMAP
BACG 0x1C
MUS1 0x33
FADU 4
SHOWMAP
TEXTIFASM 0x7A3B9 0xA1D 0xA1C
MUS1 0x32
MORETEXT 0xA1E
REMA
LOUFILTERED 0x2 label24
CAM2 [10,10]
ENUN
MOVE 0x1A label25
MOVE 0x1 [9,12]
MOVE 0x3F label26
ENUN
FADI 16
HIDEMAP
BACG 0x1C
FADU 16
SHOWMAP
TEX1 0xA1F
REMA
IFAF 0x5 0x7A3B9
MOVE 0xCD label27
ENUN
DISA 0xCD
ENIF 0x5
IFAT 0x6 0x79D7D
MOVE 0x1A label28
ENUN
REPA 0x1A
ENIF 0x6
STAL 30
CAM2 [16,0]
MOVE 0x3F [6,4]
ENUN
MOVE [8,8] [8,1]
MOVE [10,8] [7,2]
ENUN
MOVE 0x1 [3,14]
_ASM0x5A 0x1 0x79D7D
MOVE 0x1A [3,12]
ENUN
LOU1 label29
ENUN
MOVE 0x3F [15,1]
ENUN
LOUFILTERED 0x10002 label30
IFAF 0x8 0x7A3B9
IFUF 0x0 0x8 0x8
STAL 60
MUEN 4
CAM1 0x8
CURF 0x8
MUS1 0x1
TEX1 0xA20
REMA
ENIF 0x8
ELSE 0x28
ENIF 0x1E
FADI 16
HIDEMAP
BACG 0x1C
LOU1 EnemyUnitsHNM
FADU 4
SHOWMAP
IFAF 0x14 0x79DBD
TEX1 0xA26
MORETEXT 0xA28
MUS1 0x32
MORETEXT 0xA29
ELSE 0x15
ENIF 0x14
TEX1 0xA27
MORETEXT 0xA28
MUS1 0x32
MORETEXT 0xA2A
ENIF 0x15
REMA
CAM2 [0,0]
STAL 32
LOU1 label31 label32

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

ORG $CAED3C
ENUN
STAL 16
FADI 16
HIDEMAP
BACG 0x1C
LOU1 AllyUnitsENM
FADU 16
SHOWMAP
TEX1 0xA23
SOUN 0xD2
MORETEXT 0xA24
DISA 0xCD
REMA
ENUN
_ASM0x5A 0x1 0x79DBD
LOU1 label33 label34

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

ORG $CAED9C
ENUN
STAL 16
FADI 16
HIDEMAP
BACG 0x1C
FADU 16
SHOWMAP
TEXTIFASM 0x79DBD 0xA2B 0xA2C
REMA
MURE 0x6
MOVE 0x2 [4,2]
ENUN
MOVE 0xB [3,2]
ENUN
LOUFILTERED 0x10003 label35
ENIF 0x28
ENDA

label14:
CAM1 0x1
CURF 0x1
TEX1 0xA22
REMA
CAM2 [0,0]
STAL 32
LOU1 label31 label32

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

ORG $CAEE3C
ENUN
MUEN 4
STAL 16
FADI 16
HIDEMAP
BACG 0x1C
FADU 16
SHOWMAP
MUS2 0x42
TEX1 0xA23
SOUN 0xD2
MORETEXT 0xA24
DISA 0xCD
REMA
ENUN
LOU1 label33 label34

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

ORG $CAEE94
ENUN
STAL 16
FADI 16
HIDEMAP
BACG 0x1C
FADU 16
SHOWMAP
TEX1 0xA25
REMA
MURE 0x6
MOVE 0x2 [4,2]
ENUN
MOVE 0xB [3,2]
ENUN
MOVE 0x23 [1,-1]
MOVE 0x11 [2,-1]
ENUN
REPA 0x23
REPA 0x11
ENDA

label15:
IFEM 0x1
MUS1 0xC
CAM1 0x3F
CURF 0x3F
TEX1 0xA21
REMA
CHAI [15,1] [0x0,0xE,0x0,0x0]
CHAI [16,3] [0x0,0xE,0x0,0x0]
CHAI [16,5] [0x0,0xE,0x0,0x0]
CHAI [14,0] [0x0,0xE,0x0,0x0]
CHAI [15,5] [0x0,0x0,0x0,0x0]
CHAI [15,9] [0x0,0x0,0x0,0x0]
CHAI [14,4] [0x0,0x0,0x0,0x0]
CHAI [14,6] [0x0,0x0,0x0,0x0]
CHAI [14,2] [0x0,0xE,0x0,0x0]
CHAI [15,3] [0x0,0xE,0x0,0x0]
CHAI [12,4] [0x0,0xE,0x0,0x0]
CHAI [14,14] [0x0,0x0,0x0,0x0]
CHAI [15,15] [0x0,0x0,0x0,0x0]
ELSE 0x2
ENIF 0x1
CHAI [11,5] [0x0,0x0,0x0,0x0]
CHAI [16,0] [0x0,0x0,0x0,0x0]
CHAI [14,2] [0x0,0xF,0x0,0x0]
CHAI [15,3] [0x0,0xF,0x0,0x0]
CHAI [15,9] [0x0,0xF,0x0,0x0]
CHAI [9,0] [0x0,0xF,0x0,0x0]
ENIF 0x2
ENDA

label16:
IFEM 0x1
MUS2 0x3D
ELSE 0x2
ENIF 0x1
MUS2 0x3E
ENIF 0x2
TEX1 0xA2D
REMA
MURE 0x6
ENDA

label17:
MUSI
FADI 16
HIDEMAP
BACG 0x1
FADU 16
SHOWMAP
TEX1 0xA2F
REMA
MUNO
ENDA

label18:
MUSI
FADI 16
HIDEMAP
BACG 0x1
FADU 16
SHOWMAP
TEX1 0xA30
REMA
MUNO
ENDA

label19:
MUSI
FADI 16
HIDEMAP
BACG 0x1
FADU 16
SHOWMAP
TEX1 0xA31
REMA
MUNO
ENDA

label20:
MUSI
FADI 16
HIDEMAP
BACG 0x2
FADU 16
SHOWMAP
TEX1 0xA2E
REMA
MUNO
_FADU2
SHOWMAP
ITGV 0x5C
ENDA

EndingScene:
MUS1 0x3E
STAL 60
FADI 4
HIDEMAP
ASMC 0x7A869
BACG 0x1C
FADU 4
SHOWMAP
TEX1 0xA34
MUEN 2
STAL 30
MUS3 0x38 0x2
MORETEXT 0xA35
IFEM 0xA
MORETEXT 0xA36
ELSE 0xF
ENIF 0xA
IFAF 0xC 0x79DBD
IFAF 0xD 0x79E0D
MORETEXT 0xA36
ELSE 0xF
ENIF 0xC
IFAF 0xE 0x79E0D
MORETEXT 0xA37
ELSE 0xF
ENIF 0xD
MORETEXT 0xA38
ELSE 0xF
ENIF 0xE
MORETEXT 0xA39
ENIF 0xF
_ASM0x5A 0x1 0x79DBD
UNCR 0x23 10000000000000000b
UNCR 0x11 10000000000000000b
MORETEXT 0xA3A
IFAF 0x5 0x7A3B9
FADI 4
HIDEMAP
STAL 30
BACG 0x1C
FADU 4
SHOWMAP
TEX1 0xA3B
REBU
STAL 60
MORETEXT 0xA3C
MORETEXT 0xA3D
IFAF 0x5 0x79DBD
IFAF 0x5 0x79E0D
FADI 16
HIDEMAP
BACG 0x1C
FADU 16
SHOWMAP
TEX1 0xA3E
ENIF 0x5
GOTO label36
_0x9A
FADI 4
HIDEMAP
BACG 0x5B
MNCH 0xF
STAL 1
_0x1
ENDA

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

ORG $CC0C14
label36:
ENUF 0x9D
IFCD 0x1 0x1A 0x7E
_FADI2
HIDEMAP
_0x8
FADU 4
SHOWMAP
TEX1 0x7C8
ENIF 0x1
IFCD 0x2 0x26 0x7B
_FADI2
HIDEMAP
_0x8
FADU 4
SHOWMAP
TEX1 0x7FB
ENIF 0x2
IFCD 0x3 0x25 0x7F
_FADI2
HIDEMAP
_0x8
FADU 4
SHOWMAP
TEX1 0x7E2
ENIF 0x3
IFCD 0x4 0x27 0x80
_FADI2
HIDEMAP
_0x8
FADU 4
SHOWMAP
TEX1 0x7FE
ENIF 0x4
IFCD 0x5 0xB 0x92
_FADI2
HIDEMAP
_0x8
FADU 4
SHOWMAP
TEX1 0x7CE
ENIF 0x5
IFCD 0xB 0x7 0x93
_FADI2
HIDEMAP
_0x8
FADU 4
SHOWMAP
TEX1 0x7F3
ENIF 0xB
IFCD 0xC 0x14 0x94
IFAT 0xC 0x7EEE9
_FADI2
HIDEMAP
_0x8
FADU 4
SHOWMAP
TEX1 0x7F6
ENIF 0xC
IFCD 0xD 0x32 0x78
_FADI2
HIDEMAP
_0x8
FADU 4
SHOWMAP
TEX1 0x7E5
ENIF 0xD
IFCD 0xE 0x9 0x95
_FADI2
HIDEMAP
_0x8
FADU 4
SHOWMAP
TEX1 0x7CB
ENIF 0xE
IFCD 0xF 0x37 0x96
_FADI2
HIDEMAP
_0x8
FADU 4
SHOWMAP
TEX1 0x7F9
ENIF 0xF
IFET 0x63 0x9D
MURE 0x6
ENUF 0x9D
ENIF 0x63
ENDA

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

ORG $CC820C
AllyUnitsENM:
UNIT 0x1 0x1 0x0 0x8 [3,14] [3,14] [0x9,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x1A 0x2B 0x1 0x8 [3,12] [3,12] [0x4,0x1C,0x5B,0x0] [0x0,0x0,0x0,0x0]
UNIT 0xE 0x19 0x1 0x8 [2,13] [2,13] [0x2C,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x19 0x28 0x1 0x10 [4,13] [4,13] [0x1,0x14,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x8 0x6 0x1 0x18 [5,14] [5,14] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x9 0x12 0x1 0x10 [4,15] [4,15] [0x1F,0x28,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

EnemyUnitsENM:
UNIT

EnemyUnitsHNM:
UNIT 0x3F 0x12 0x0 0x4C [16,0] [16,0] [0x20,0x0,0x0,0x0] [0x3,0x3,0x9,0x0]
UNIT 0x42 0x3A 0x3F 0xD [9,0] [9,0] [0x28,0x1,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x42 0x32 0x3F 0x2D [15,9] [15,9] [0x14,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x42 0xA 0x3F 0xD [6,9] [6,9] [0x1,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x42 0x12 0x3F 0x1D [12,13] [12,13] [0x1F,0x1,0x28,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x42 0x39 0x3F 0xD [16,10] [16,10] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x42 0x32 0x3F 0x1D [15,3] [15,3] [0x14,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x42 0x32 0x3F 0x1D [14,2] [14,2] [0x14,0x0,0x0,0x0] [0x0,0x3,0x29,0x0]
UNIT 0x42 0x18 0x3F 0x15 [10,9] [10,9] [0x2C,0x0,0x0,0x0] [0x0,0x3,0x29,0x0]
UNIT 0x42 0x39 0x3F 0xD [5,5] [5,5] [0x1F,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x42 0x19 0x3F 0x15 [7,6] [7,6] [0x2C,0x0,0x0,0x0] [0x0,0x3,0x29,0x0]
UNIT 0x42 0x32 0x3F 0x1D [12,6] [12,6] [0x14,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT

label30:
UNIT 0x42 0x39 0x3F 0x15 [16,4] [16,5] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x42 0x12 0x3F 0x15 [16,4] [14,0] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x42 0x39 0x3F 0x15 [16,4] [15,14] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x42 0x3A 0x3F 0x15 [16,4] [6,8] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x42 0x39 0x3F 0x15 [16,4] [6,1] [0x1F,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT

label35:
UNIT 0x42 0x32 0x3F 0x1D [14,2] [8,2] [0x14,0x0,0x0,0x0] [0x0,0x3,0x29,0x0]
UNIT 0x42 0x32 0x3F 0x1D [14,2] [13,15] [0x14,0x0,0x0,0x0] [0x0,0x3,0x29,0x0]
UNIT 0x42 0x32 0x3F 0x1D [14,2] [11,5] [0x14,0x0,0x0,0x0] [0x0,0x3,0x29,0x0]
UNIT 0x42 0x39 0x3F 0xD [5,5] [14,12] [0x1F,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT

label31:
UNIT 0x2 0x3 0x1 0x8 [2,0] [2,1] [0x8D,0x6B,0x82,0x0] [0x0,0x0,0x0,0x0]
UNIT

label33:
UNIT 0x23 0x3C 0x1 0x10 [1,0] [1,0] [0x1,0x6A,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

label34:
UNIT 0xB 0x14 0x1 0x48 [2,0] [2,0] [0x14,0x1C,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT 0x11 0x1D 0x1 0x8 [1,0] [1,1] [0x4A,0x6B,0x0,0x0] [0x0,0x0,0x0,0x0]
UNIT

AllyUnitsHNM:
UNIT 0x2 0x3 0x1 0x8 [4,2] [4,2] [0x8D,0x6B,0x82,0x0] [0x0,0x0,0x0,0x0]
UNIT 0xB 0x14 0x1 0x48 [3,2] [3,2] [0x14,0x1C,0x6B,0x0] [0x0,0x0,0x0,0x0]
UNIT

label24:
UNIT 0x3F 0x12 0x0 0x4C [6,2] [6,4] [0x20,0x0,0x0,0x0] [0x3,0x3,0x9,0x0]
UNIT 0x42 0x38 0x3F 0x15 [5,3] [8,8] [0x14,0x1E,0x0,0x0] [0x0,0x6,0x9,0x0]
UNIT 0x42 0x38 0x3F 0xD [6,3] [10,8] [0x14,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT

label29:
UNIT 0x42 0x39 0x3F 0xD [16,9] [15,9] [0x1F,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x42 0xA 0x3F 0xD [7,7] [8,6] [0x1,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x42 0xA 0x3F 0xD [15,1] [14,4] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x42 0xA 0x3F 0x15 [15,1] [15,5] [0x1,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x42 0x39 0x3F 0x1D [12,12] [12,13] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x42 0x39 0x3F 0xD [16,9] [14,6] [0x1F,0x0,0x0,0x0] [0x0,0x0,0x9,0x0]
UNIT 0x42 0x12 0x3F 0xD [15,1] [16,3] [0x1F,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x42 0x18 0x3F 0x15 [16,1] [14,2] [0x2C,0x0,0x0,0x0] [0x0,0x3,0x29,0x0]
UNIT 0x42 0x18 0x3F 0x15 [6,7] [4,5] [0x2C,0x0,0x0,0x0] [0x0,0x3,0x29,0x0]
UNIT 0x42 0x38 0x3F 0x15 [5,7] [7,5] [0x14,0x0,0x0,0x0] [0x0,0x3,0x29,0x0]
UNIT 0x42 0x38 0x3F 0xD [5,8] [5,6] [0x14,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT 0x42 0x39 0x3F 0x15 [16,4] [12,4] [0x1F,0x1,0x28,0x0] [0x0,0x3,0x9,0x0]
UNIT

label32:
UNIT 0xCD 0x38 0x3F 0x15 [3,1] [2,2] [0x28,0x0,0x0,0x0] [0x0,0x3,0x9,0x0]
UNIT

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

Edited by marlon0024
Link to comment
Share on other sites

Hello everyone... back with a weird error with the Event Assembler.

Here's the error message it shows:

1 errors encountered:
Exception: System.ArgumentException: An entry with the same key already exists.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.SortedList`2.Add(TKey key, TValue value)
at Nintenlord.Collections.DataChange`1.AddChangedData(Int32 offset, T[] data, Int32 index, Int32 count)
at Nintenlord.IO.ChangeStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.SecondPass(BinaryWriter output, IExpression`1 expression, ScopeStructure`1 parentScope)
at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.SecondPass(BinaryWriter output, IExpression`1 expression, ScopeStructure`1 parentScope)
at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.Assemble(IPositionableInputStream input, BinaryWriter output, ILog log)
at Nintenlord.Event_Assembler.Core.Program.Assemble(EACodeLanguage language, TextReader input, BinaryWriter output, ILog log)
at Nintenlord.Event_Assembler.Core.Program.Assemble(String inputFile, String outputFile, String languageName, ILog messageLog)
at Nintenlord.Event_Assembler.UserInterface.MainForm.<.ctor>b__1(Object sender, DoWorkEventArgs args)

Also, I didn't get the question of how to revert tile changes answered... should I just make another tile change and change to that? Or is there a command?
MAC1 Tilechange 0x00 activates it, and I was under the impression from Arch's tutorial that 0x08 for the 2nd parameter would revert it, but that didn't work.
From Arch's tutorial:

DoorRemoval:
MAC1 TCN Status
ENDAMAC1 forces a tile change. For the second parameter you use the TCN of the tile change you wish to force. For our "Status" variable, 0x00 causes tile changes and 0x08 reverses already triggered tile changes. For MAC1 you will almost always use 0x00.

Am I misunderstanding something?
Link to comment
Share on other sites

Hello everyone... back with a weird error with the Event Assembler.

Here's the error message it shows:

1 errors encountered:
Exception: System.ArgumentException: An entry with the same key already exists.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.SortedList`2.Add(TKey key, TValue value)
at Nintenlord.Collections.DataChange`1.AddChangedData(Int32 offset, T[] data, Int32 index, Int32 count)
at Nintenlord.IO.ChangeStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.SecondPass(BinaryWriter output, IExpression`1 expression, ScopeStructure`1 parentScope)
at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.SecondPass(BinaryWriter output, IExpression`1 expression, ScopeStructure`1 parentScope)
at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.Assemble(IPositionableInputStream input, BinaryWriter output, ILog log)
at Nintenlord.Event_Assembler.Core.Program.Assemble(EACodeLanguage language, TextReader input, BinaryWriter output, ILog log)
at Nintenlord.Event_Assembler.Core.Program.Assemble(String inputFile, String outputFile, String languageName, ILog messageLog)
at Nintenlord.Event_Assembler.UserInterface.MainForm.<.ctor>b__1(Object sender, DoWorkEventArgs args)

Figuring this one out would require diving into the source code. How exactly did you cause this?

Also, I didn't get the question of how to revert tile changes answered... should I just make another tile change and change to that? Or is there a command?
MAC1 Tilechange 0x00 activates it, and I was under the impression from Arch's tutorial that 0x08 for the 2nd parameter would revert it, but that didn't work.
From Arch's tutorial:

DoorRemoval:

MAC1 TCN Status

ENDAMAC1 forces a tile change. For the second parameter you use the TCN of the tile change you wish to force. For our "Status" variable, 0x00 causes tile changes and 0x08 reverses already triggered tile changes. For MAC1 you will almost always use 0x00.

Am I misunderstanding something?
Try 0x80 to undo instead. It's what Night of Farewells uses.
Link to comment
Share on other sites

It was working previous to yesterday, but then I was editing text in FEditor Adv, then I edited some events in notepad and tried to assemble it, and it gave this. FEditor was running while I was assembling. I have edited nothing in the event assembler aside from renaming a few characters in the FE7 definitions file and editing the Chest macro to include an event ID. The only files in there that are different are the FE7 Definitions.txt and Main Code Helpers.txt.

EDIT: I tried re-downloading a clean Event Assembler and ran my events through, and it didn't come up with the weird error. Must've been that my edits to the definitions files did something weird. Anyway, the problem's fixed.

Edited by Bamstacks
Link to comment
Share on other sites

I've got a slight problem in my chapter with chests being able to be opened over and over again. How do I make it so that they can only be opened once?

Chests should only be able to be opened if they have the "Chest" tile. Do you have working map tile changes on your map? If they are working, then maybe try to assign an event ID to the chests.

Link to comment
Share on other sites

Welp, time to install tiled :/

Or you can just do your tile changes in EA like I used to. You youngsters nowadays and your tiled and mappy and tools and insertions and hex editors. Why, back in my day, if you wanted to change a tile, you used a magnetized needle to change the hex.

Link to comment
Share on other sites

Or you can just do your tile changes in EA like I used to. You youngsters nowadays and your tiled and mappy and tools and insertions and hex editors. Why, back in my day, if you wanted to change a tile, you used a magnetized needle to change the hex.

i tried to do that, but then the event assembler decided to bug out and say something was wrong with my tile change code, stopping at the first comma >_>

Also, the tutorials aren't clear on what you're supposed to do for the actual tile change data (the CODE 0x00 0x00 0x00 0x00 stuff and how you format it).

Edited by RandomSwordmaster
Link to comment
Share on other sites

i tried to do that, but then the event assembler decided to bug out and say something was wrong with my tile change code, stopping at the first comma >_>

Also, the tutorials aren't clear on what you're supposed to do for the actual tile change data (the CODE 0x00 0x00 0x00 0x00 stuff and how you format it).

I would still say that Tiled is easier to use than Mappy. I mean... I tried both and though Tiled was way easier and user-friendly.

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