Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

One other question, is there a command for warping in a unit in FE8? Or is that FE7 only?

Never mind, there is one, though when I try to use it, it says incorrect parameters. These are the macros.

WarpIn(char,x,y)

WarpOut(char,x,y)

Also, I have no idea how the LOAD1 command works in FE8. It apparently requires 2 parameters, one of which is the unit list. I have no idea what the other is.

That and displaying text in FE8 seems to be messed up.

EDIT: figured out the text.

Edited by RandomSwordmaster
Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

@Cam: That's good info. So then it should theoretically cause a GameOver on the NPC phase too then, right?

@Prime: I think I see what you're saying, and it did lead to a bit of a breakthrough in terms of understanding events a little bit better, but I still can't get it to work. What you suggested was a needed fix, because it would screw up the chapter if the player units could disable the event by standing there, but my issue is the step before that: when the player unit waits there, the GameOver triggers, which I don't want to happen on the Player Phase.

Here's what I have now (relevant bits only):

Misc_events:
CauseGameOverIfLordDies
AREA 0x09 Protect [9,4] [9,4] 
AFEV

//...

Protect:
IFAF 0x01 0x7A2F1 //Tried IFAT, same result but no text.
TEX1 0x0059
REMA
ELSE 0x02
ENIF 0x01
ENUF 0x09
ENIF 0x02
GameOver
ENDA 
Link to comment
Share on other sites

Well....now my game crashes on turn 18 when I spawn in a unit to troll the player.
Here's my events.

//Made by Camtech075 of SerenesForest
//Modified by Nintenlord

#define DISABLE_TUTORIALS
#include EAstdlib.event

EventPointerTable(0x07,ThisChapter)

ORG 0x1000BD0
ThisChapter:
Pointers:
POIN TurnBasedEvents
POIN CharacterBasedEvents
POIN LocationBasedEvents
POIN MiscBasedEvents
POIN TrapData TrapData
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN BeginningScene EndingScene

Bad:
UNIT

Good:
UNIT

Eslicer:
UNIT Eliwood Myrmidon 0x00 Level(20,Ally,False) [2,27] [2,27] [Armourslayer] NoAI
UNIT 0x75 Bishop 0x00 Level(20,Ally,False) [29,29] [29,29] [TorchStaff] NoAI
UNIT

Blockers:
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [8,28] [8,28] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [8,27] [8,27] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [8,26] [8,26] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,28] [15,28] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,27] [15,27] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,26] [15,26] [slimLance] Guard
UNIT 0x6E Knight 0x00 Level(1,Enemy,False) [24,26] [24,26] [slimLance, MemberCard] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,27] [24,27] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,23] [24,23] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,22] [24,22] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,21] [24,21] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [17,23] [17,23] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [17,22] [17,22] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [17,21] [17,21] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(20,Enemy,True) [2,21] [2,21] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(20,Enemy,True) [3,20] [3,20] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [5,18] [5,18] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [5,17] [5,17] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [5,16] [5,16] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [13,18] [13,18] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [13,17] [13,17] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [13,16] [13,16] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [26,16] [26,16] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [27,17] [27,17] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [28,18] [28,18] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,13] [24,13] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,12] [24,12] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,11] [24,11] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,13] [15,13] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,12] [15,12] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,11] [15,11] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [2,9] [2,9] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [3,9] [3,9] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,8] [6,8] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,7] [6,7] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,6] [6,6] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,5] [6,5] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,4] [6,4] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,3] [6,3] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,8] [15,8] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,7] [15,7] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,6] [15,6] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,5] [15,5] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,4] [15,4] [slimLance] Guard
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,3] [15,3] [slimLance] Guard
UNIT

Evil:
UNIT Bauker Paladin 0x00 Level(20,Enemy,False) [28,5] [28,5] [slimLance] Guard
UNIT

Trapperone1:
UNIT 0x6D General 0x00 Level(20,Enemy,False) [23,23] [23,23] [slimLance] Guard
UNIT

Trapperone2:
UNIT 0x6D General 0x00 Level(20,Enemy,False) [23,22] [23,22] [slimLance] Guard
UNIT

Trapperone3:
UNIT 0x6D General 0x00 Level(20,Enemy,False) [23,21] [23,21] [slimLance] Guard
UNIT

Trapperone4:
UNIT 0x6D General 0x00 Level(20,Enemy,False) [26,23] [26,23] [slimLance] Guard
UNIT

Trapperone5:
UNIT 0x6D General 0x00 Level(1,Enemy,False) [26,22] [26,22] [slimLance] Guard
UNIT

Trapperone6:
UNIT 0x6D General 0x00 Level(20,Enemy,False) [26,21] [26,21] [slimLance] Guard
UNIT

Trappertwo1:
UNIT 0x6D General 0x00 Level(20,Enemy,False) [8,23] [8,23] [slimLance] Guard
UNIT

Trappertwo2:
UNIT 0x6D General 0x00 Level(20,Enemy,False) [8,21] [8,21] [slimLance] Guard
UNIT

Trappertwo3:
UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [8,22] [8,22] [slimLance] Guard
UNIT

Trappertwo4:
UNIT 0x6D General 0x00 Level(20,Enemy,False) [4,23] [4,23] [slimLance] Guard
UNIT

Trappertwo5:
UNIT 0x6D General 0x00 Level(20,Enemy,False) [4,22] [4,22] [slimLance] Guard
UNIT

Trappertwo6:
UNIT 0x6D General 0x00 Level(20,Enemy,False) [4,21] [4,21] [slimLance] Guard
UNIT

Chesttrap:
UNIT 0x6D General 0x00 Level(1,Enemy,False) [1,11] [1,11] [slimLance] Guard
UNIT 0x6D General 0x00 Level(1,Enemy,False) [1,13] [1,13] [slimLance] Guard
UNIT 0x6E Knight 0x00 Level(1,Enemy,False) [2,12] [2,12] [Vulnerary] Guard
UNIT

GHEBSPAWN:
UNIT Batta Warrior 0x00 Level(1,Enemy,False) [28,12] [28,12] [swordSlayer] PursueWithoutHeed
UNIT

MONIKER:
UNIT Jaffar Sage 0x00 Level(20,NPC,False) [15,12] [15,12] [Excalibur] NoAI
UNIT

List:
SHLI HeroCrest

FirstTrap:
WarpIn(Trapperone1,23,23)
WarpIn(Trapperone2,23,22)
WarpIn(Trapperone3,23,21)
WarpIn(Trapperone4,26,23)
WarpIn(Trapperone5,26,22)
WarpIn(Trapperone6,26,21)
ENUN
Text(0x904)
REMA
ENDA

SecondTrap:
WarpIn(Trappertwo1,8,23)
WarpIn(Trappertwo2,8,22)
WarpIn(Trappertwo3,8,21)
WarpIn(Trappertwo4,4,23)
WarpIn(Trappertwo5,4,22)
WarpIn(Trappertwo6,4,21)
ENUN
Text(0x905)
REMA
ENDA

DelTrap2:
WarpOut(8,23)
WarpOut(8,22)
WarpOut(8,21)
WarpOut(4,23)
WarpOut(4,22)
WarpOut(4,21)
ENUN
ENDA

DelTrap1:
WarpOut(23,23)
WarpOut(23,22)
WarpOut(23,21)
WarpOut(26,23)
WarpOut(26,22)
WarpOut(26,21)
ENUN
ENDA

Ghebishere:
WarpIn(Lucius,28,12)
ENUN
Text(0x909)
REMA
ENDA

GhebFight:
DefenderMiss(0x00)
AttackerCritical(120,0x01)
BLDT

GhebSuicide:
Text(0x906)
WarpIn(Jaffar,15,12)
FIGH Lucius Jaffar GhebFight 00000000
TEX1 0x910
REMA
WarpOut(15,12)
Text(0x908)
REMA
ENDA

GOver:
TEX1 0x91B
REMA
KILL Eliwood
ENDA

FreeGold:
MONE 0x00 0x0001
TEX1 0x91C
REMA
LOU1 Chesttrap
ENDA

TurnBasedEvents:
TURN 0x00 BeginningScene [1,1] 0x0 0x00
TURN 0x00 GOver [25,25] 0x0 0x00
TURN 0x00 Ghebishere [18,18] 0x0 0x00
TURN 0x00 GhebSuicide [20,20] 0x0 0x00
TURN 0x00 FirstTrap [6,6] 0x0 0x00
TURN 0x00 DelTrap1 [7,7] 0x0 0x00
TURN 0x00 SecondTrap [12,12] 0x0 0x00
TURN 0x00 DelTrap2 [13,13] 0x0 0x00
END_MAIN

CharacterBasedEvents:
END_MAIN

LocationBasedEvents:
SecretShop(List,1,1)
END_MAIN

MiscBasedEvents:
CauseGameOverIfLordDies
AREA 0x15 FreeGold [1,11] [2,12]
DefeatBoss(EndingScene)
END_MAIN

BeginningScene:
FADI 5
LOU1 Blockers
LOU1 Evil
LOU1 Eslicer
ENUN
FADU 5
Text(0x10,0x903)
REMA
ENDA

EndingScene:
Text(0x91A)
REMA
MNCH 0x00
ENDA

TrapData:
ENDTRAP

MESSAGE Events end at offset currentOffset

Link to comment
Share on other sites

@Cam: That's good info. So then it should theoretically cause a GameOver on the NPC phase too then, right?

@Prime: I think I see what you're saying, and it did lead to a bit of a breakthrough in terms of understanding events a little bit better, but I still can't get it to work. What you suggested was a needed fix, because it would screw up the chapter if the player units could disable the event by standing there, but my issue is the step before that: when the player unit waits there, the GameOver triggers, which I don't want to happen on the Player Phase.

Here's what I have now (relevant bits only):

Misc_events:
CauseGameOverIfLordDies
AREA 0x09 Protect [9,4] [9,4] 
AFEV

//...

Protect:
IFAF 0x01 0x7A2F1 //Tried IFAT, same result but no text.
TEX1 0x0059
REMA
ELSE 0x02
ENIF 0x01
ENUF 0x09
ENIF 0x02
GameOver
ENDA 

Let me see if I understand what you want to happen: If an enemy steps into this area, display some text and cause a game over. Is this correct?

You're causing a game over to occur regardless of whether the condition is true or false, since GameOver is outside the conditional. Move it to immediately after the REMA and before the ELSE.

Well....now my game crashes on turn 18 when I spawn in a unit to troll the player.

Here's my events.

//Made by Camtech075 of SerenesForest

//Modified by Nintenlord

#define DISABLE_TUTORIALS

#include EAstdlib.event

EventPointerTable(0x07,ThisChapter)

ORG 0x1000BD0

ThisChapter:

Pointers:

POIN TurnBasedEvents

POIN CharacterBasedEvents

POIN LocationBasedEvents

POIN MiscBasedEvents

POIN TrapData TrapData

POIN Bad Bad Bad Bad

POIN Good Good Good Good

POIN BeginningScene EndingScene

Bad:

UNIT

Good:

UNIT

Eslicer:

UNIT Eliwood Myrmidon 0x00 Level(20,Ally,False) [2,27] [2,27] [Armourslayer] NoAI

UNIT 0x75 Bishop 0x00 Level(20,Ally,False) [29,29] [29,29] [TorchStaff] NoAI

UNIT

Blockers:

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [8,28] [8,28] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [8,27] [8,27] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [8,26] [8,26] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,28] [15,28] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,27] [15,27] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,26] [15,26] [slimLance] Guard

UNIT 0x6E Knight 0x00 Level(1,Enemy,False) [24,26] [24,26] [slimLance, MemberCard] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,27] [24,27] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,23] [24,23] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,22] [24,22] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,21] [24,21] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [17,23] [17,23] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [17,22] [17,22] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [17,21] [17,21] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(20,Enemy,True) [2,21] [2,21] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(20,Enemy,True) [3,20] [3,20] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [5,18] [5,18] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [5,17] [5,17] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [5,16] [5,16] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [13,18] [13,18] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [13,17] [13,17] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [13,16] [13,16] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [26,16] [26,16] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [27,17] [27,17] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [28,18] [28,18] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,13] [24,13] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,12] [24,12] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [24,11] [24,11] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,13] [15,13] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,12] [15,12] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,11] [15,11] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [2,9] [2,9] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [3,9] [3,9] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,8] [6,8] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,7] [6,7] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,6] [6,6] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,5] [6,5] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,4] [6,4] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [6,3] [6,3] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,8] [15,8] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,7] [15,7] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,6] [15,6] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,5] [15,5] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,4] [15,4] [slimLance] Guard

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [15,3] [15,3] [slimLance] Guard

UNIT

Evil:

UNIT Bauker Paladin 0x00 Level(20,Enemy,False) [28,5] [28,5] [slimLance] Guard

UNIT

Trapperone1:

UNIT 0x6D General 0x00 Level(20,Enemy,False) [23,23] [23,23] [slimLance] Guard

UNIT

Trapperone2:

UNIT 0x6D General 0x00 Level(20,Enemy,False) [23,22] [23,22] [slimLance] Guard

UNIT

Trapperone3:

UNIT 0x6D General 0x00 Level(20,Enemy,False) [23,21] [23,21] [slimLance] Guard

UNIT

Trapperone4:

UNIT 0x6D General 0x00 Level(20,Enemy,False) [26,23] [26,23] [slimLance] Guard

UNIT

Trapperone5:

UNIT 0x6D General 0x00 Level(1,Enemy,False) [26,22] [26,22] [slimLance] Guard

UNIT

Trapperone6:

UNIT 0x6D General 0x00 Level(20,Enemy,False) [26,21] [26,21] [slimLance] Guard

UNIT

Trappertwo1:

UNIT 0x6D General 0x00 Level(20,Enemy,False) [8,23] [8,23] [slimLance] Guard

UNIT

Trappertwo2:

UNIT 0x6D General 0x00 Level(20,Enemy,False) [8,21] [8,21] [slimLance] Guard

UNIT

Trappertwo3:

UNIT 0x6D Knight 0x00 Level(1,Enemy,False) [8,22] [8,22] [slimLance] Guard

UNIT

Trappertwo4:

UNIT 0x6D General 0x00 Level(20,Enemy,False) [4,23] [4,23] [slimLance] Guard

UNIT

Trappertwo5:

UNIT 0x6D General 0x00 Level(20,Enemy,False) [4,22] [4,22] [slimLance] Guard

UNIT

Trappertwo6:

UNIT 0x6D General 0x00 Level(20,Enemy,False) [4,21] [4,21] [slimLance] Guard

UNIT

Chesttrap:

UNIT 0x6D General 0x00 Level(1,Enemy,False) [1,11] [1,11] [slimLance] Guard

UNIT 0x6D General 0x00 Level(1,Enemy,False) [1,13] [1,13] [slimLance] Guard

UNIT 0x6E Knight 0x00 Level(1,Enemy,False) [2,12] [2,12] [Vulnerary] Guard

UNIT

GHEBSPAWN:

UNIT Batta Warrior 0x00 Level(1,Enemy,False) [28,12] [28,12] [swordSlayer] PursueWithoutHeed

UNIT

MONIKER:

UNIT Jaffar Sage 0x00 Level(20,NPC,False) [15,12] [15,12] [Excalibur] NoAI

UNIT

List:

SHLI HeroCrest

FirstTrap:

WarpIn(Trapperone1,23,23)

WarpIn(Trapperone2,23,22)

WarpIn(Trapperone3,23,21)

WarpIn(Trapperone4,26,23)

WarpIn(Trapperone5,26,22)

WarpIn(Trapperone6,26,21)

ENUN

Text(0x904)

REMA

ENDA

SecondTrap:

WarpIn(Trappertwo1,8,23)

WarpIn(Trappertwo2,8,22)

WarpIn(Trappertwo3,8,21)

WarpIn(Trappertwo4,4,23)

WarpIn(Trappertwo5,4,22)

WarpIn(Trappertwo6,4,21)

ENUN

Text(0x905)

REMA

ENDA

DelTrap2:

WarpOut(8,23)

WarpOut(8,22)

WarpOut(8,21)

WarpOut(4,23)

WarpOut(4,22)

WarpOut(4,21)

ENUN

ENDA

DelTrap1:

WarpOut(23,23)

WarpOut(23,22)

WarpOut(23,21)

WarpOut(26,23)

WarpOut(26,22)

WarpOut(26,21)

ENUN

ENDA

Ghebishere:

WarpIn(Lucius,28,12)

ENUN

Text(0x909)

REMA

ENDA

GhebFight:

DefenderMiss(0x00)

AttackerCritical(120,0x01)

BLDT

GhebSuicide:

Text(0x906)

WarpIn(Jaffar,15,12)

FIGH Lucius Jaffar GhebFight 00000000

TEX1 0x910

REMA

WarpOut(15,12)

Text(0x908)

REMA

ENDA

GOver:

TEX1 0x91B

REMA

KILL Eliwood

ENDA

FreeGold:

MONE 0x00 0x0001

TEX1 0x91C

REMA

LOU1 Chesttrap

ENDA

TurnBasedEvents:

TURN 0x00 BeginningScene [1,1] 0x0 0x00

TURN 0x00 GOver [25,25] 0x0 0x00

TURN 0x00 Ghebishere [18,18] 0x0 0x00

TURN 0x00 GhebSuicide [20,20] 0x0 0x00

TURN 0x00 FirstTrap [6,6] 0x0 0x00

TURN 0x00 DelTrap1 [7,7] 0x0 0x00

TURN 0x00 SecondTrap [12,12] 0x0 0x00

TURN 0x00 DelTrap2 [13,13] 0x0 0x00

END_MAIN

CharacterBasedEvents:

END_MAIN

LocationBasedEvents:

SecretShop(List,1,1)

END_MAIN

MiscBasedEvents:

CauseGameOverIfLordDies

AREA 0x15 FreeGold [1,11] [2,12]

DefeatBoss(EndingScene)

END_MAIN

BeginningScene:

FADI 5

LOU1 Blockers

LOU1 Evil

LOU1 Eslicer

ENUN

FADU 5

Text(0x10,0x903)

REMA

ENDA

EndingScene:

Text(0x91A)

REMA

MNCH 0x00

ENDA

TrapData:

ENDTRAP

MESSAGE Events end at offset currentOffset

The warp macro you're using is:

WarpIn(UnitPointer, X, Y)

Notice that it's a unit POINTER. 'Lucius' is a definition for a character ID.

To use that version of the macro properly you need to do something like this:

WarpScene:
WarpIn(LuciusUnit, 5, 5)
ENDA
 
LuciusUnit:
UNIT /*Unit info goes here */
UNIT
Link to comment
Share on other sites

Here's another question:

Would it be possible to make "droppable" gold go straight into the player's funds? I know there's a MONE command for villages and other story events, but I don't know if it would be possible to link something like this to an enemy's death.

Link to comment
Share on other sites

I think I'm starting to grasp Events and Conditions, but I'm still having trouble.

What I'm trying to do is make it so that when the player defeats a certain type of enemy, gold is sent straight to his funds (the gold item needs to be sold, or at least from what I can tell, so I'm trying this instead).

So I tried writing something like this:

PirateBooty:
IFCD 0x03 0xD8
MONE 0x00 500
ELSE 0x04
ENIF 0x03
ENIF 0x04
ENUF 0x10
ENDA

Assuming that such a code will even work, my question is: where do I put "PirateBooty" so that the game checks to see if 0xD8 has died? Like, what type of event would it be? Even then, I don't think it'd work, because there are multiple 0xD8's on the map simultaneously, and I'm assuming that if it sees one alive, it won't trigger.

Can anyone help me either figure out a way to make this work, or provide some alternative? Thanks in advance.

EDIT/UPDATE: I tried making it an AREA event spanning the whole map, and that didn't even work at all, even when all of the 0xD8's were dead.

Edited by Completely InShane
Link to comment
Share on other sites

If you want something to happen when a character dies, just use an AFEV scene instead, and have the death quote id be the id that triggers the AFEV.

Example:

MiscEvents:
AFEV EventIDHere SomePointer DeathQuoteIDHere
AFEV
 
SomePointer:
/* Put your stuff here */
ENDA
Link to comment
Share on other sites

Is it possible to make a win condition "DefeatBoss" and "SurviveXTurns" (and bu this I mean if you hit the required turns it still wouldnt end unless you killed the boss but if you killed te boss before the turns it wouldnt end) through events? Or would ASM be involved?

Edited by Shamison
Link to comment
Share on other sites

Do you mean you must kill the boss on a specific turn, otherwise the chapter continues indefinitely?

Well, on turn X you could set an event id. Then, attach an AFEV to the boss's death quote to check if the turn event id has been set.

On the next turn, set the event id to unused. That way, when the boss dies on other turns, the second condition won't pass.

Link to comment
Share on other sites

i would attach an AFEV to the boss's death quote that ends the chapter if it's beyond a certain turn. At the same time, you can then run a check on the end turn for the boss's death quote ID

control flow looks like this:

boss dies -> is it past turn X? Yes | No
                                 |    |
                                 |    ----- Okay, do nothing. Boss's death quote ID is now set.
                                 | 
                            End chapter

// Separate trigger

turn X -> is boss's death quote triggered? Yes | No
                                            |    |
                                            |    ------ Okay, do nothing. Thanks to the above, if we reach here, the chapter will just end when the boss dies.
                                            |
                                        End chapter
Edited by CT075
Link to comment
Share on other sites

I'm trying to make the game (FE8) end using MNC4, but it's acting weird.

My EndingScene for the Prologue looks like:

EndingScene:
Text(0xBFD) //Victory quote
REMA
//REVEAL 0x19 (from original Final Chapter part II, doesn't work and I can't find documentation for it)
//REVEAL 0x2 (same here)
MNC4 0x0
ENDA

After beating the Prologue, it shows the victory quote and takes me to the save screen, where I can save as Epilogue. However, instead of showing the Epilogue, it takes me straight back to the Prologue.

Beating the Prologue a second time skips the save screen and shows "Fin" before returning to the title screen. What is going on and where are the Epilogue scenes+Credits+Character endings?

Edited by circleseverywhere
Link to comment
Share on other sites

Question: For the FE8 fix patch, I'm trying to make Ross and whoever replaces him when randomized less prone to dying on turn 1. I'd prefer changing it so he doesn't start the chapter with low HP and thusly die on turn one before anyone can get to him. Sometimes even RNG abuse doesn't cut it.

What do I cut out of here to make his HP not start out low? http://puu.sh/jc0ew/6389d43a71.txt

Link to comment
Share on other sites

Ok, I've pretty much got it, thanks again everyone.

There is one minor aesthetic thing I'd like to take care of if possible:

I'm using the generic enemies and assigning them a Death Quote so that they "drop" gold. I've made this work, but one thing that does happen is that the battle info clears away briefly, because the game thinks it's about to load a quote, even though I changed the designated text in FEditor to be blank (just says "[X]"). Is there any way to make it so that it doesn't try to load a quote at all, either with eventing or in FEditor?

Script:

PirateBooty:
// IFCD 0x03 0xD8
MONE 0x00 500
ELSE 0x04
ENIF 0x03
ENIF 0x04
ENUF 0x10
ENUF 0x20
ENDA

Misc_events:
CauseGameOverIfLordDies
AREA 0x09 Protect [9,4] [9,4]
AFEV 0x10 PirateBooty 0x20
AFEV 

Worst case scenario, I can just give them something minor/stupid to say upon dying, but that could be somewhat annoying for the player.

EDIT: I'm also experiencing something else extremely odd. Sometimes, instead of giving gold, the "gold was stolen" event occurs instead. From what I can tell, this happens if the player character scores a critical. Does anybody know how to fix this?

Edited by Completely InShane
Link to comment
Share on other sites

I don't know about the edit, but I'm pretty sure there's currently no way to prevent the battle HUD from clearing when a death quote ID is triggered. Not without writing your own assembly routine(s).

Link to comment
Share on other sites

@Prime: OK, it's not a huge deal anyways, thanks.

@Shamison: Are you sure it doesn't work like that already? I know for a fact that's how snow works, and I remember reading that rain works identically, except there aren't any rain chapters with indoor areas in FE7.

Edited by Completely InShane
Link to comment
Share on other sites

Ah I thought that rain would still affect indoors simply because I had no examples of it and map creation diffuculties have stopped me from testing it myself yet. If thats the case how would I get it to rain on "indoor" tiles if I wanted to simulate a roof breaking or if there are no walls around it?

Edited by Shamison
Link to comment
Share on other sites

Dang, I just can't figure this out.I'm trying to make a tile change manually without tiled,but while the actual events occur,the tile change just won't happen:

#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 Good Good Good Good
POIN Opening_event Ending_event
POIN Bad Bad Bad Bad
Good:
UNIT 0x2D 0x23 0x00 Level(1, Ally, 0) [27,27] [27,27] [0x39, 0x57] NoAI
UNIT 0x01 0x1E 0x00 Level(1, Ally, 0) [27,28] [27,28] [0x3E, 0x4A] NoAI
UNIT 0x02 0x26 0x00 Level(1, Ally, 0) [27,29] [27,29] [0x46, 0x58] NoAI
UNIT 0x10 0x1C 0x00 Level(10, Ally, 0) [28,27] [28,27] [0x42, 0x3E] NoAI
UNIT 0x13 0x20 0x00 Level(10, Ally, 0) [28,28] [28,28] [0x3B, 0x37] NoAI
UNIT 0x16 0x24 0x00 Level(10, Ally, 0) [28,29] [28,29] [0x45, 0x44] NoAI
UNIT 0x11 0x2D 0x00 Level(1, Ally, 0) [26,27] [26,27] [0x3E, 0x4C] NoAI
UNIT 0x1B 0x2D 0x00 Level(1, Ally, 0) [26,29] [26,29] [0x37, 0x4C, 0x68, 0x69] NoAI
UNIT 0x7A 0x15 0x00 Level(1, Ally, 0) [26,28] [26,28] [0x1D, 0x68] NoAI
UNIT
Bad:
UNIT
Reinforcements:
UNIT 0x67 0x12 0x00 Level(10, Enemy, 0) [21,28] [21,28] [0x20] PursueWithoutHeed
UNIT
Shadows1:
UNIT 0x52 0x3E 0x00 Level(20, NPC, 0) [29,27] [29,27] [0x0C] PursueWithoutHeed
UNIT 0x52 0x3E 0x00 Level(20, NPC, 0) [29,28] [29,28] [0x0C] PursueWithoutHeed
UNIT 0x52 0x3E 0x00 Level(20, NPC, 0) [29,29] [29,29] [0x0C] PursueWithoutHeed
UNIT
LoadShadows:
CMOF
LOU1 Shadows1
ENUN
ELSE 0x02
ENUF 0x24
ENDA
Turn_events:
TurnEventPlayer(0x0,Opening_event,1)
TURN 0 Mendel [1,30] 0x0 0x00
TURN 0 Miracle [1,30] 0x0 0x00
TURN 0 Mystic [1,30] 0x8 0x00
End_MAIN
Character_events:
End_MAIN
Location_events:
CHES 0x08 0x6A [21,28] 0x12
DOOR 0x00 [21,26] 0x10
End_MAIN
TileChanges:
TileMap(0x00,0x1B,0x22,0x01,0x01,ChestOpened)
TileMap(0x01,0x1B,0x20,0x01,0x01,FirstDoorOpened)
TileMapEnd
ChestOpened:
BYTE 0x04 0x00
ALIGN 4
End_MAIN
FirstDoorOpened:
BYTE 0x40 0x2C
ALIGN 4
End_MAIN
Misc_events:
AFEV 0x06 LoadShadows 0x08
AFEV 0x09 ChestOpened 0x08
CauseGameOverIfLordDies
AFEV
Mendel:
IFET 0x01 0x08
CMOF
LOU1 Reinforcements
ENUN
ENIF 0x01
ELSE 0x02
ENIF 0x02
ENUF 0x24
End_MAIN
Miracle:
CMOF
IFAT 0x07 0x7A2F1
TurnNPC(0x52)
ENIF 0x01
ELSE 0x02
ENIF 0x02
ENUF 0x24
End_MAIN
Mystic:
CMOF
IFAF 0x07 0x7A2F1
TurnEnemy(0x52)
ENIF 0x01
ELSE 0x02
ENIF 0x02
ENUF 0x24
End_MAIN
TrapData:
End_MAIN
Opening_event:
OOBB
LOU1 Good
ENUN
ENDA
Ending_event:
ENDA
// Events
// Manual Movement
// Scripted Fights
// Units
// Shop Data
MESSAGE Events end at offset currentOffset
Link to comment
Share on other sites

No, I still can't make sense of it

#define DISABLE_TUTORIALS
#include EAstdlib.event
#ifdef _FE7_
#define TileMap(TCN,X1,Y1,L1,L2,TilePointer)
#endif
EventPointerTable(0x06,Pointers)
ORG 0xD80000
ORG 0xC9C9C8+(4*0x46)
ORG 0xCB1F00
Pointers:
POIN Turn_events
POIN Character_events
POIN Location_events
POIN Misc_events
POIN TrapData TrapData
POIN Good Good Good Good
POIN Opening_event Ending_event
POIN Bad Bad Bad Bad
POIN TileChanges
Good:
UNIT 0x2D 0x23 0x00 Level(1, Ally, 0) [27,27] [27,27] [0x39, 0x57] NoAI
UNIT 0x01 0x1E 0x00 Level(1, Ally, 0) [27,28] [27,28] [0x3E, 0x4A] NoAI
UNIT 0x02 0x26 0x00 Level(1, Ally, 0) [27,29] [27,29] [0x46, 0x58] NoAI
UNIT 0x10 0x1C 0x00 Level(10, Ally, 0) [28,27] [28,27] [0x42, 0x3E] NoAI
UNIT 0x13 0x20 0x00 Level(10, Ally, 0) [28,28] [28,28] [0x3B, 0x37] NoAI
UNIT 0x16 0x24 0x00 Level(10, Ally, 0) [28,29] [28,29] [0x45, 0x44] NoAI
UNIT 0x11 0x2D 0x00 Level(1, Ally, 0) [26,27] [26,27] [0x3E, 0x4C] NoAI
UNIT 0x1B 0x2D 0x00 Level(1, Ally, 0) [26,29] [26,29] [0x37, 0x4C] NoAI
UNIT 0x7A 0x15 0x00 Level(1, Ally, 0) [26,28] [26,28] [0x1D, 0x68] NoAI
UNIT
Bad:
UNIT
Reinforcements:
UNIT 0x67 0x12 0x00 Level(10, Enemy, 0) [21,28] [21,28] [0x20] PursueWithoutHeed
UNIT
Shadows1:
UNIT 0x52 0x3E 0x00 Level(20, NPC, 0) [29,27] [29,27] [0x0C] PursueWithoutHeed
UNIT 0x52 0x3E 0x00 Level(20, NPC, 0) [29,28] [29,28] [0x0C] PursueWithoutHeed
UNIT 0x52 0x3E 0x00 Level(20, NPC, 0) [29,29] [29,29] [0x0C] PursueWithoutHeed
UNIT
LoadShadows:
CMOF
LOU1 Shadows1
ENUN
ELSE 0x02
ENUF 0x24
ENDA
Turn_events:
TurnEventPlayer(0x0,Opening_event,1)
TURN 0 Mendel [1,30] 0x0 0x00
TURN 0 Miracle [1,30] 0x0 0x00
TURN 0 Mystic [1,30] 0x8 0x00
End_MAIN
Character_events:
End_MAIN
Location_events:
CHES 0x08 0x6A [21,28] 0x12
DOOR 0x00 [21,26] 0x10
End_MAIN
TileChanges:
TileMap(0x00,0x04,0x00,0x01,0x01,ChestOpened)
TileMap(0x01,0x2C,0x00,0x01,0x01,FirstDoorOpened)
TileMapEnd
ChestOpened:
BYTE 0x00 0x04 0x00 0x01
ALIGN 4
End_MAIN
FirstDoorOpened:
BYTE 0x01 0x2C 0x00 0x01
ALIGN 4
End_MAIN
Misc_events:
AFEV 0x06 LoadShadows 0x08
AFEV 0x09 ChestOpened 0x08
CauseGameOverIfLordDies
AFEV
Mendel:
IFET 0x01 0x08
CMOF
LOU1 Reinforcements
ENUN
ENIF 0x01
ELSE 0x02
ENIF 0x02
ENUF 0x24
End_MAIN
Miracle:
CMOF
IFAT 0x07 0x7A2F1
TurnNPC(0x52)
ENIF 0x01
ELSE 0x02
ENIF 0x02
ENUF 0x24
End_MAIN
Mystic:
CMOF
IFAF 0x07 0x7A2F1
TurnEnemy(0x52)
ENIF 0x01
ELSE 0x02
ENIF 0x02
ENUF 0x24
End_MAIN
TrapData:
End_MAIN
Opening_event:
OOBB
LOU1 Good
ENUN
ENDA
Ending_event:
ENDA
// Events
// Manual Movement
// Scripted Fights
// Units
// Shop Data
MESSAGE Events end at offset currentOffset
Link to comment
Share on other sites

How do I find out the pointers of generic units? Is there a chart somewhere with the pointers to generic units like Mountain Bandits and stuff? I disassembled the prologue and found that the Fighters had 0x50 and 0x52.

Edit: For Fire Emblem 8

Update: Never mind, I think I can use Nightmare to find the characters I want.

Edited by Morva
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...