Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

So I solved Problem #4. Basically when calling tile changes in Event Assembler, you must use Hex Value; however, in Tiled, you cannot use hex values as your ID #. Strange, but okay.

I figured out the cause of Problem #2, but I do not know how to resolve it. Basically whenever I use a ENUT or ENUF command the game freaks out. How do I prevent other switches from triggering after I hit one switch without using ENUT or ENUF? I am very confused here...

Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

On 5/18/2017 at 7:30 AM, nightgale said:

Background: I am making a chapter in Fire Emblem 7 that has 4 switches. The player must hit 2 of the 4 switches to access the throne room and win the map. Depending on the switch hit, the player will receive access to certain rewards at the cost of another.

Problems/Questions: I have come across 4 major problems in my code. Otherwise, it seems to be working fine. I was hoping to find help in this thread as it is all about Event Assembler. Thank you in advance.

  1. I am using an AREA event under Misc_events to trigger the switches. The problem is that enemies can also trigger the switches, which I do not want to happen. How would I go about making this a player only trigger? Would I need to duplicate the code under every switch using every playable character as active? I figure there would have to be another way.
  2. After the switch event trigger, the music completely freaks out - basically a long never-ending screech sound. I have tried many of the music related codes, but nothing is fixing this. Does anyone have any suggestion what I should include in the code?
  3. The KILL coordinate events are not working (i.e. KILL [21,6]). Am I using this incorrectly? Is there another way to kill a character located on a specific coordinate?
  4. Some of the map changes are not triggering, and I am wondering if this is a code issue or if I am assigning the wrong map change ID's based on positioning. One map change that is never triggering is MAC 0x22 0x0 (the front gate). I can confirm that the top-left tile in the tile change is furthest right on the x and down on the y axis. There are three other tile changes that have a bottom right tile further right on the x and down on the y axis. I am wondering if this could be causing problems with the map change ID; thus the triggering event.

Sorry this took so long to get a response.

For #1: There's an assembly routine you can call to check what the current phase is (player, enemy). IFAT 0x1 0x7A2F1
Basically, if the condition is true, you know it's the enemy phase and can reset the ID of the event and skip the item. Otherwise, dish out the item.

I'm noticing that for conditionals like:

IFEF Conditional_ID Event_ID

You're putting in really large values for the conditional ID. Conditional IDs are not the same as event IDs. They need to start at 1, and they automatically reset after an event is complete. You're also using very large event IDs as well. Anything between 0x40 and 0x64 is known to be unreliable. Try starting your event IDs at 0x07 instead.

For #2: The freak out might be related to what I said about large IDs. ENUT and ENUF are standard ways of keeping track of conditionals. More details would help us troubleshoot this.

For #3: KILL has two flavors: KILL Character_ID and KILL [X,Y]. Under what circumstances are you trying to kill the unit? More details would be helpful, since this should work otherwise.

 

Edited by Primefusion
Link to comment
Share on other sites

Thank you for your help Primefusion! You were absolutely correct regarding the issue with #1 and #2. I ended up using KILL Character_ID instead and that seemed to work fine. I am not sure why the coordinate variant was not working for me.

Link to comment
Share on other sites

Code:

Spoiler

LOEV 0x04 0x11 [7,3]
LOEV 0xFA 0x23 [8,3]
STAL 50
FIGH 0x04 0xFA FightTest $00000000
STAL 10
KILL 0xFA
ENUN
STAL 50
REMA
STAL 32
ENDA

 

....


FightTest:
AttackerCritical(60,True)
BLDT

 

Scripted Fight Error for some reason, am I doing this wrong?  I've searched and searched, and I don't see anything that should be causing the error.  Essentially I just want 0x04 to kill 0xFA in battle, but its going crazy, loading a fighter and a lyn sprite (not the lyn character even, as that was changed to a different map sprite).  If I take out the FIGH part, it works just fine, so it's something with the fight.  

 

Link to comment
Share on other sites

5 hours ago, MyAliasIsM said:

Code:

  Hide contents

LOEV 0x04 0x11 [7,3]
LOEV 0xFA 0x23 [8,3]
STAL 50
FIGH 0x04 0xFA FightTest $00000000
STAL 10
KILL 0xFA
ENUN
STAL 50
REMA
STAL 32
ENDA

 

....


FightTest:
AttackerCritical(60,True)
BLDT

 

Scripted Fight Error for some reason, am I doing this wrong?  I've searched and searched, and I don't see anything that should be causing the error.  Essentially I just want 0x04 to kill 0xFA in battle, but its going crazy, loading a fighter and a lyn sprite (not the lyn character even, as that was changed to a different map sprite).  If I take out the FIGH part, it works just fine, so it's something with the fight.  

 

Why not just make a unit group and stick the two characters in it? That way you won't load weird stuff using LOEV.

Link to comment
Share on other sites

  • 4 weeks later...
2 hours ago, Spiegel said:

Hallo and alle! I'm wondering. Is it possible to edit not a game but a hack?

Yes, although you can't count on things being the same, obviously (for instance, item table might be repointed, or free space is used).

Link to comment
Share on other sites

Never mind this comment of mine. the problem is solve (thanks to Kibry1337 and other people help me)

1.png

2.png

no.3.png

Edited by KeanuB
Problem Solved!
Link to comment
Share on other sites

You could set up and AREA event that causes a game over if an enemy unit steps on that tile. as for the how to make an enemy move to some specific position, looking at the ai doc thread:

0x13 = Move to \[03,13] (B98718)
0x14 = Move to \[18,13] (B98794)
0x15 = Move to \[10,24] (B98810)
0x16 = Move to \[08,02] (B9888C)
0x17 = Move to \[06,02] (X: B97579, Y: B9757B)

(this is ai byte 2)Those offsets on the right are the coordinates you need to edit to your throne's coordinates for the enemy to go there if he has one of those AI byte.

Link to comment
Share on other sites

HEY guys, im having a problem! the event itself is duplicating(or whatever term), 

This is what happen: 

first I check chapter 2 of my hack game, when I open the game chapter 2, it seems fine. 

then I check chapter 1, BUT the conversations/units placements/etc of chapter  is the setting of chapter 2!

So I go at event assembler and insert the programs/txt of chapter 1 to replace the errors in chapter 1(which is showing the chapter 2 settings).

I run and successful, I run the game and the errors was replace, however when I check the chapter 2, the conversation/units placements/etc of chapter 2 is setting of chapter 1!

I redo this again but its like vice versa!

then I check the chapter prologue, and whatever is the latest text I event assmbled(ex: chapter 2), that is what appearing(chapter 2)!

Help guys!

You can check text below my problem.

Prologue Op event.txt

Chapter 1.txt

Chapter 2 incomplete.txt

I try to redo it by making another hack game but still the problem remain

Edited by SwordKeanu!
Link to comment
Share on other sites

I'm trying to do some very basic events for FE8 right now - nothing special, just trying to establish a baseline I can build upon later. I've been following Zim's guide, but ran into a few problems with unit listings, and was wondering if anybody here has an idea what I'm doing wrong. Here's what I'm getting:

Spoiler

5 errors encountered:

File test.txt, Line 22, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom,Atom] [Atom,Atom,Atom,Atom] [Atom,Atom,Atom,Atom]

File test.txt, Line 23, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom,Atom] [Atom,Atom,Atom,Atom] [Atom,Atom,Atom,Atom]

File test.txt, Line 24, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom,Atom] [Atom,Atom,Atom,Atom] [Atom,Atom,Atom,Atom]

File test.txt, Line 25, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom,Atom] [Atom,Atom,Atom,Atom] [Atom,Atom,Atom,Atom]

File test.txt, Line 29, Column 1: Incorrect parameters in code UNIT Atom Atom Atom Atom [Atom,Atom] [Atom,Atom,Atom,Atom] [Atom,Atom,Atom,Atom]

No data written to output.

 

For reference, here's my unit code:

Units:
Units1:
UNIT Eirika Shaman Eirika Level(3,Ally,0) [4,22] [Flux,Nosferatu,Vulnerary,0x00] NoAI
UNIT Seth Paladin Eirika Level(5,Ally,0) [5,21] [SilverLance,SteelSword,0x00,0x00] NoAI
UNIT Gilliam Knight Eirika Level(4,Ally,0) [4,20] [IronAxe,HandAxe,0x00,0x00] NoAI
UNIT Franz Troubadour Eirika Level(3,Ally,0) [3,23] [Rapier,Mend,Vulnerary,0x00] NoAI
UNIT

Recruit:
UNIT Joshua Mage Eirika Level(1,Ally,0) [7,19] [Fimbulvetr,0x00,0x00,0x00] NoAI
UNIT

I'm sure this is some really simple mistake that I'm just missing, seeing how new I am to this. Any help would be appreciated.

Link to comment
Share on other sites

@Orange Juice I think FE8's unit data is a little different from FE7's, which is what your units look like right now.

From Event Assembler Language.txt:

UNIT *Char ID* *Class ID* *Leader char* *Level data* [Loading position X, Loading position Y] Flags Byte1 *Data count* *REDA data pointer* Items AI

Flags = Controls other details about this unit, like item dropping and how the unit data is interpreted.
Byte1 = Unknown. Usually 0.
Data count = Amount of REDA codes to use when loading this unit.
REDA data pointer = Pointer to REDA data which controls units movement after loading.
Edited by Primefusion
Link to comment
Share on other sites

2 hours ago, Primefusion said:

@Orange Juice I think FE8's unit data is a little different from FE7's, which is what your units look like right now.

From Event Assembler Language.txt:


UNIT *Char ID* *Class ID* *Leader char* *Level data* [Loading position X, Loading position Y] Flags Byte1 *Data count* *REDA data pointer* Items AI

Flags = Controls other details about this unit, like item dropping and how the unit data is interpreted.
Byte1 = Unknown. Usually 0.
Data count = Amount of REDA codes to use when loading this unit.
REDA data pointer = Pointer to REDA data which controls units movement after loading.

Okay, I've figured it out now and event assembler works fine. I still need to figure a few things out about chapter construction, but I should be able to make things work from here.

Link to comment
Share on other sites

Hey kirby, its working! thank you! I hope I can put any numbers/letters at ORG right? but thanks still!

Link to comment
Share on other sites

1 hour ago, SwordKeanu! said:

Hey kirby, its working! thank you! I hope I can put any numbers/letters at ORG right? but thanks still!

You need to put the offset of more free space after ORG. If you just put numbers in willy-nilly you'll end up writing over something important.

Link to comment
Share on other sites

1 hour ago, flingleforp said:

You need to put the offset of more free space after ORG.

I don't quiet, understad...can you explain much specific? I don't good at english, yet I understand the second sentence...

(can you give some example on like what you mean in first sentence. And can I insert letters too?

Thanks for warning on first! :) 

Edited by SwordKeanu!
Link to comment
Share on other sites

5 hours ago, flingleforp said:

You need to put the offset of more free space after ORG..

Are you saying I need to create another offset(via HxD) then insert the offset(ex: 01000270) to the ORG?

what if the event assembler appear, "unhandled expection has occured"

Link to comment
Share on other sites

Guys, I wanna do this:(I check many tutorials but I can't find the answers)

How to make TURN survive system (what I mean is, survive within 15 turns)?

Also how to make defend the throne/gate/ a person(just like the chapter where you will protect Nils,) and how to make the enemy seize it/kill it.?

   Also how to make it game over IF enemy kill it/seize it?

where I will put this code?(opening_event?)

Edited by [Annoyingmous]
Link to comment
Share on other sites

Excuse me, What is the code for turn survive(like Survive in 15 turns, etc)? I follow others guide like this:

Turn_events:
TurnEventPlayer(0x0,Opening_event,1)
TURN 0x0 label16 [1,0] 0x8
End_MAIN

On 4/12/2017 at 10:55 AM, Crazycolorz5 said:

Quick fix (V11.0.1) aliasing inctevent as inctext for reverse compatibility with V10.1.1  (needed for some of circles's tools)

 

 

And oh! How to do multiple movements events:

What I mean is, the character will load at 10,6 then move at 10,8....then sllight pause, conversation(I know how to insert dialogs), then after than. the character will move at 8,7 then disappear/exit)

Edited by SwordKeanu!
Link to comment
Share on other sites

12 minutes ago, Kirb1337 said:

You need to make a turn event that activated on turn 5 and points to your ending events.

What are the codes for that? that I will put in txt? Ive been searching for few days but I cant find 

I try the one I found at Event Assembler resources forum section, IDK if this is correct

Turn_Events:
TURN 0x0 label16 [1,0] 0x8
END_MAIN

 

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