Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

I found it when I searched _SETVAL 0x3, but it came up with 0x90D as the item ID rather than 0x9, is there a reason it was coded this way?(it's also the reason I couldn't find it before) but I also dont see anything that looks like a give item code, I'll post the label:

BeginningScene:

GOTO label44

_SETVAL 0x2 0x89EF1BC

GOTO label45

CODE 0x27 0x19 0x0 0x0

CODE 0x41 0xC 0x0 0x0

CODE 0xC 0x0 0x0 0x0

ASMC 0xCF461

ENIF 0x0

CODE 0x29 0x2 0x8 0x0

LOU1 Units1

ENUN

_SETVAL 0x1 0xD

CODE 0x25 0x34 0x2 0x0

CUMO 0x1

STAL 60

CURE

MUNO

_SETVAL 0x2 0x1D

_SETVAL 0x3 0x90D // ***Item in question***

GOTO label46

MUSI

_MOVE 0x18 0x2 [4,4]

ENUN

CUMO 0x2

STAL 60

CURE

TEXTSTART

TEXTSHOW 0x90E

TEXTEND

REMA

_SETVAL 0x2 0x89EF27C

GOTO label45

CODE 0x48 0x2F 0x0 0x0

CODE 0x1 0x0 0x4 0x5

ENUN

GOTO label47

GOTO label48

CODE 0x28 0x2 0x7 0x0

ENDA

Check label47 -> See if you can find this:

_SETVAL 0x3 0x9

_GIVEITEMTO 0x1

If you do, replace 0x9 with whatever it is you want. That should do the trick.

Link to comment
Share on other sites

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

well, I can change the item given now! so thanks much for that, but I still don't see what would be the command to look for/write in for giving the item, if _SETVAL 0x3 is all I need then that's perfect and I'll be on my way, but if not, I'd like as much info as possible, because I looked at tutorials for this and MAYBE I skipped over something about it, but I remember the ITGC, ITGM, ITGV commands and in every instance they're supposed to show up, I can't seem to find them, so I'll post label47(where the code was located) here:

label47:

CUMO 0x2

STAL 60

CURE

TEXTSTART

TEXTSHOW 0x90F

TEXTEND

REMA

GOTO label54

_SETVAL 0x3 0x9

CODE 0x20 0x37 0x1 0x0

_SETVAL 0x2 0x89EF828

GOTO label45

ENDA

Link to comment
Share on other sites

well, I can change the item given now! so thanks much for that, but I still don't see what would be the command to look for/write in for giving the item, if _SETVAL 0x3 is all I need then that's perfect and I'll be on my way, but if not, I'd like as much info as possible, because I looked at tutorials for this and MAYBE I skipped over something about it, but I remember the ITGC, ITGM, ITGV commands and in every instance they're supposed to show up, I can't seem to find them, so I'll post label47(where the code was located) here:

label47:

CUMO 0x2

STAL 60

CURE

TEXTSTART

TEXTSHOW 0x90F

TEXTEND

REMA

GOTO label54

_SETVAL 0x3 0x9

CODE 0x20 0x37 0x1 0x0

_SETVAL 0x2 0x89EF828

GOTO label45

ENDA

Hmm, that's weird. Your label47 looks different from mine. Which version of EA are you using? Also, the things you listed are for FE7. _SETVAL 0x3 0x9 should always be the thing, but I'll take a look into it.

Link to comment
Share on other sites

if you update it use this instead

//ORG 0xC9C9C8+(4*0x37) // not lowercase
//POIN TileChanges
EventPointerTable(0x37,TileChanges) // this does the same thing

ORG 0xDB0250

TileChanges:
TileMap(0x00,0x0E,0x01,0x03,0x03,Village1)
WORD 0xFF

Village1:
SHORT 0x0D04 0x0D08 0x0D0C 0x0D84 0x0D88 0x0D8C 0x0E04 0x0080 0x0E0C 

Still can't figure out what I'm doing wrong. I think it's an EA error. :(

Cam's "fixed" version didn't fix everything:

#include EAstdlib.event

EventPointerTable(0x37,TileChanges)

ORG 0xDB0250
TileChanges:
TileMap(0x00,0x0E,0x01,0x03,0x03,Village1)
TileMapEnd

Village1:
SHORT 0x0D04 0x0D08 0x0D0C 0x0D84 0x0D88 0x0D8C 0x0E04 0x0080 0x0E0C 

What is the code for a broken wall event. I can't find it in Arch's tutorial.

There isn't one, they happen automatically.

Also how do i make the last item droppable? Is it possible through event assembler.

Depends on game, in FE8 you can do that in UNIT code like this:

UNIT Eirika Archer 0 Level(1,Ally,False) [1, 2] DropItem 0 0 0 [Rapier] NoAI

With FE6 and FE7, you'll need to use Character Editor Module.

iirc the labels aren't consistent between different disassemblies unless nl changed that

I wouldn't rely on it. Though this gives me an idea for a new feature...

Edited by Nintenlord
Link to comment
Share on other sites

So whenever I try to insert, I get these two errors popping up.

Finished.

2 errors encountered:

File: Dorcas.txt, Line: 5: File EAstdlib.event not found.: #include EAstdlib.event

File Dorcas.txt, Line 7, Column 23: Didn't reach end, currently at Comma(,)

No data written to output.

//Made by markyjoe1990 of Youtube

//Modified by Nintenlord

#define DISABLE_TUTORIALS

#include EAstdlib.event

EventPointerTable(0x06,Pointer)

ORG 0x8DA0000

Pointers:

POIN TurnEvents

POIN CharacterEvents

POIN LocationEvents

POIN MiscEvents

POIN TerrainEvents TerrainEvents

POIN Bad Bad Bad Bad

POIN Good Good Good Good

POIN OpeningEvent EndingEvent

Bad:

UNIT

Good:

UNIT Dorcas Fighter 0x08 Level(3,Ally,False) [8,5] [8,6] [ironAxe] [0x00, 0x00, 0x00, 0x00]

UNIT Empty

TurnEvents:

TURN 0x00 Opening_Event [01,00] 0x0 0x00

TURN

CharacterEvents:

CHAR

LocationEvents:

LOCA

MiscEvents:

CauseGameOverIfLordDies

AFEV

TerrainEvents:

BLST

ALIGN 4

OpeningEvent:

LOU1 Good

ENUN

ENDA

EndingEvent:

MoveToChapter(NextChapter)

MESSAGE Events end at offset currentOffset

//The map for this chapter is at offset: ????????

I tried doing a couple of things to fix it, and I found that it doesn't work with any comma at all, it just has the same error occuring but elsewhere. This error doesn't occur with previous versions though (Well, not on 8.2, I'm using 9.8 for the record), and spaces after the commas don't do anything to remedy this on 9.8. Also, the EAstdlib.event file is in the folder, as in, right next to Event Assembler but it's not noticing it. Does anyone know whats going on?

Link to comment
Share on other sites

Is the letter I or l? It should be an 'l', the name code from "Event Assembler Standard Library". And do try the latest version. The comma problems is caused by the macro's not being "unmacroed", because EAstdlib isn't found.

Link to comment
Share on other sites

it's "EAstdLIB.event" (except not capped)

you have EventPointerTable(0x06, Pointer) despite there being no such label in the code, the word you're looking for is Pointers

also don't assemble to 0x08DA0000 unless you want your ROM to be completely unplayable

Edited by CT075
Link to comment
Share on other sites

I tried doing a couple of things to fix it, and I found that it doesn't work with any comma at all, it just has the same error occuring but elsewhere. This error doesn't occur with previous versions though (Well, not on 8.2, I'm using 9.8 for the record), and spaces after the commas don't do anything to remedy this on 9.8. Also, the EAstdlib.event file is in the folder, as in, right next to Event Assembler but it's not noticing it. Does anyone know whats going on?

It's an l. I got the same issue when updating it to 9.10, unfortunately.

The same script doesn't cause any problems with 9.10 on my PC, so it's something in your end. Try the same in some other folder.

Link to comment
Share on other sites

*sighs* Still can't find out why the village won't close.

Hopefully, someone can find out if I did something wrong or not.

Here's the map changes:

#include EAstdlib.event

EventPointerTable(0x37,TileChanges)

ORG 0x8CE2114

TileChanges:

TileMap(0x00,0x0F,0x03,0x01,0x01,VillageGate)

TileMapEnd

VillageGate:

SHORT 0x0C9C 0x0CA0 0x0CA4 0x0D1C 0x0D20 0x0D24 0x09C 0x0080 0x0DA4 0x0E

And here's the event codes, too, I figured that would help too.

//Made by markyjoe1990 of Youtube

//Modified by Nintenlord

#define DISABLE_TUTORIALS

#include EAstdlib.event

#define MakeItRain "WEA1 0x04"

#define MakeItSnow "WEA1 0x01"

#define NormalWeather "WEA1 0x00"

EventPointerTable(0x06,Pointers)

ORG 0xD80000

Pointers:

POIN TurnEvents

POIN CharacterEvents

POIN LocationEvents

POIN MiscEvents

POIN TerrainEvents TerrainEvents

POIN Bad Bad Bad Bad

POIN Good Good Good Good

POIN OpeningEvent EndingEvent

Bad:

UNIT Batta Brigand 0x00 Level(1,Enemy,False) [4,8] [4,8] [ironAxe,Vulnerary] [0x03,0x03,0x01,0x00]

UNIT Bandit Brigand 0x00 Level(1,Enemy,False) [7,13] [7,13] [ironAxe,Vulnerary] [0x00,0x00,0x00,0x00]

Good:

UNIT Lyn_t LynLord 0x00 Level(1,Ally,False) [15,3] [15,3] [ironSword,Vulnerary] [0x00,0x00,0x00,0x00]

UNIT Empty

Reinforcements:

UNIT Paul Warrior 0x00 Level(10,Ally,False) [2,15] [2,15] [silverAxe] [0x00,0x00,0x00,0x00]

UNIT Sain Soldier 0x00 Level(1,Ally,False) [3,15] [3,15] [ironSpear] [0x00,0x00,0x00,0x00]

UNIT Empty

TurnEvents:

TURN 0x00 OpeningEvent [01,00] 0x0 0x00

TURN 0x00 Turn2 [02,00] 0x0 0x00

TURN 0x00 Turn1Event [01,00] 0x8 0x00

CharacterEvents:

CHAR 0x05 SainLyn Sain Lyn_t $00000000

LocationEvents:

Village(0x37,Village1,15,3)

MiscEvents:

CauseGameOverIfLordDies

AFEV

TerrainEvents:

BLST

ALIGN 4

OpeningEvent:

CURF [5,7]

FADI 10

BACG 0x02

FADU 10

TEX1 0x0802

REMA

LOU1 Good

ENUN

ITGC Lyn_t ManiKatti

MONE 0x00 5000

MOVE Lyn_t [5,7]

ENUN

CAM1 [8,4]

LOU1 Bad

TEX1 0x0803

REMA

ENDA

Turn1Event:

MOVE Lyn_t [10,3]

ENDA

Turn2:

MUS1 0x0042

LOU1 Reinforcements

ENUN

TEX1 0x0800

REMA

ENDA

SainLyn:

MUS1 0x0044

TEX1 0x0801

REMA

ENDA

Village1:

FADI 10

BACG 0x02

FADU 10

TEX1 0x0810

REMA

WEA1 0x04

ENDA

EndingEvent:

ENDA

MESSAGE Events end at offset currentOffset

//The map for this chapter is at offset: ????????

Link to comment
Share on other sites

It's pretty obvious, you don't have a gate there in the picture so you don't have a gate there in the code. The macro:

TileMap(0x00,0x0F,0x03,0x01,0x01,VillageGate)

means that the change is size 1x1 (as village gates should be), but you have all 9 tiles of village pointed in VillageGate.

Link to comment
Share on other sites

I'm having problems with a seize event to end the chapter.

Here are the my location and end events. If you need more info I can give it.

Location_events:

Door(30,25)

Door(28,11)

Door(29,11)

Door(31,1)

Door(29,2)

Door(18,4)

Door(19,4)

Door(8,4)

Door(5,9)

Door(16,14)

Door(1,14)

Door(8,20)

Door(4,27)

Door(5,27)

Door(10,29)

Door(18,25)

Door(22,28)

Door(22,34)

Door(29,21)

Door(40,23)

Door(41,23)

Door(38,28)

ChestMoney(9001, 33, 21)

Chest(IronRune, 34, 0)

Chest(Elixir, 25, 0)

Chest(BraveSword, 8, 0)

Chest(Luna, 3, 9)

Chest(BraveAxe, 12, 11)

Chest(BraveSpear, 2, 12)

Chest(BraveBow, 3, 20)

Chest(EarthSeal, 16, 27)

ChestMoney(100009, 14, 0)

Chest(LockPick, 11, 12)

Chest(RedGem, 26, 19)

Chest(KillingEdge, 26, 33)

Chest(Ballista, 25, 32)

Seize(0x48, Ending_event, 42, 35)

Armory(Armory1, 38, 27)

Armory(Armory2, 39, 26)

Vendor(Vendor1,39, 27)

Vendor(Vendor2, 38, 26

//CODE 0x00

LOCA

Misc_events:

//CODE 0x00

AFEV

Ballista_events:

//CODE 0x00

Opening_event:

OOBB //

LOU1 Good

ENUN

ENDA

Ending_event:

MNCH 0x01

ENDA

Link to comment
Share on other sites

In this case, it should work because he is manually pointing to Ending_event. As far as I know, 0x3 only causes the game to automatically go to Ending_event if no pointer is given to the Seize code. As far as I can see, there are no problems with your code, so you shouldn't be having any problems. Though:

Ballista_events:
BLST

Link to comment
Share on other sites

Also how do you let the game know what character is your lord? I currently have a myrimdon as my "lord", but how can set him as it, or on the other hand is it possible to make it so that all my units have the ability to seize.

Link to comment
Share on other sites

I'm trying to disassemble something.

The pointer starts with 0x9 (it's actually 0x9240F34). When I plug the 240F34 offset into the Event Assembler it gives me the error offset is larger than size of file. Anyone know the problem?

EDIT: Well, I didn't figure out the problem but I found the secret item I was trying to disassemble for. Still useful if anyone knows I guess though.

Another question: is there a way to tell which maps have replaced which?? For example, I was disassembling Elibian Nights but after Chapter 5 I don't know what links to what.

Edited by Brood_Star
Link to comment
Share on other sites

The pointer starts with 0x9 (it's actually 0x9240F34). When I plug the 240F34 offset into the Event Assembler it gives me the error offset is larger than size of file. Anyone know the problem?

0x09240F34 is a pointer to 0x01240F34, not 0x00240F34

if EA is telling you that it's not working, that's a sign that you shouldn't be disassembling the EN ROM :P

either way disassembling the EN ROM wouldn't help you a lot anyway since the hidden items were coded in via asm (i know this for a fact because the person who wrote that code was yours truly)

you can check what map replaces what by lookiing at the pointers in the event references and stuff

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