Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

Heya Nintenlord, I'm currently working on a method to mass insert events and maps that would save a lot of space, AND change their pointers to accomodate to streamline the process of inserting maps and events. However, I'm coming across an issue.

When I try to insert a raw binary file (in theory, this would be a raw map created in tiled), I get this error.

1291a7f93a9c28cf36f270b5dcaa9358.png

my code looks like this

#define DISABLE_TUTORIALS
#include EAstdlib.event

ORG 0xD00000
#incbin derp.bin
Link to comment
Share on other sites

If my code for doors/chests looked like this(using evential to get this):

Location_events:

//SecretShop(Secret,1,11)

Seize(47,14)

Door(6,14)

Door(4,10)

Door(4,7)

Door(4,4)

Door(4,2)

Door(10,3)

Door(10,7)

Door(17,6)

Door(22,6)

Door(20,1)

Door(24,17)

Door(25,16)

Door(25,14)

Door(26,10)

Door(19,10)

Door(28,16)

Door(44,13)

Door(44,17)

Chest(0x70,1,1)

ChestMoney(10000,14,16)

Chest(0x0B,15,16)

Chest(0x43,23,8)

Chest(0x8C,23,1)

END_MAIN

where would I put the tile ID?

Link to comment
Share on other sites

I think i'm a bit confused here. If you scroll up a bit you will see my question I asked. The answer I got was that each tile/chest change should have a tile ID. I don't quite know what that means/is referring to.

Link to comment
Share on other sites

Tile change IDs go in the tile changes section, which is outlined in Arch's event tutorial and also in the Ultimate Tutorial. You should only need to do those if you're doing them manually (and not with the Tiled method). Have a read of them, and report back if you still don't understand.

Link to comment
Share on other sites

The Tiled method needs you to enter an ID for each map change layer

Height

ID >>This<<

Width

X

Y

So yeah. If you wanna use a code like MAC1 for a specific map change, you'll have to use his Tiled ID

MAC1 0x01 0x0

And get something like this for example.

Link to comment
Share on other sites

It works. The doors automatically trigger the tile change when you open it with a key in_game, it does work with Tiled. But you still have to specify the ID.

Beside, there's some things that need the code I put before. Like vertical doors. ( cf arch's Tuto )

Chests also don't need a forced map change to trigger when you use the "Chest" command ingame.

Link to comment
Share on other sites

Hello, i have another problem xD When i inserted the code of the Chapter 1 in event assembler, the Rom was screwed because FEditor says "There was an error processing one or more file streams". Luckyly, i had a Backup of the Rom. When i tried again, the same problem triggered. Then, with another Backup, i tried again, with a different ORG for the events. And the rom was screwed by FEditor again.

My code is still a "beta" so it it just a little try which will be edited, but i don't know why FEditor don't open the rom after i assemble it. I don't think it's an offset problem because, as i wrote, i tried with another. Can you help me, please? Here is the code:

//Made by markyjoe1990 of Youtube

//Modified by Nintenlord
#define DISABLE_TUTORIALS
#include EAstdlib.event
EventPointerTable(0x09,ThisChapter)
ORG 0x100F8C0
ThisChapter:
POIN Turn_events
POIN Character_events
POIN Location_events
POIN Misc_events
POIN BallistaData BallistaData
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN Opening_event Ending_event
Bad:
UNIT 0x88 Mercenary 0x00 Level(2,Enemy,False) [10,4] [9,12] [ironSword] NoAI
UNIT Empty
Good:
UNIT Jaffar Assassin 0x00 Level(5,NPC,True) [1,2] [3,3] [KillingEdge,SilverSword,Elixir] GuardTile
UNIT Florina Shaman 0x00 Level(1,Ally,True) [10,0] [4,3] [Flux,Vulnerary] NoAI
UNIT Empty
Reinforcements:
UNIT 0x8A Soldier 0x00 Level(1,Enemy,False) [1,13] [2,12] [Javelin] NoAI
UNIT 0x8A Soldier 0x00 Level(1,Enemy,True) [1,12] [2,11] [Javelin] NoAI
UNIT Empty
Turn_events:
TURN 0x00 Opening_event [01,00] 0x0 0x00
TURN 0x00 Turn1 [02,00] 0x0 0x00
TURN
Character_events:
CHAR
Location_events:
LOCA
Misc_events:
CauseGameOverIfLordDies
DefeatAll(Ending_event)
AFEV
Opening_event:
LOU1 Good
TEX1 0x805
ENUN
LOU1 Bad
OOBB
ENUN
ENDA
Turn1:
LOU1 Reinforcements
ENUN
TEX1 0x806
REMA
ENDA
Ending_event:
TEX1 0x804
MNCH 0x01
ENDA
BallistaData:
BLST
MESSAGE Events end at offset currentOffset

Link to comment
Share on other sites

Did you check to see if there was anything at 0x100F8C0? It's one thing to say "I don't think that there's anything there" and another to say "there is nothing I'm overwriting at 0x100F8C0". You need to actually check if anything is there and if FEditor is writing anything to that address. It could be that the other address you tried was overwriting important FEditor data as well.

Often you'll get a file stream error if the ROM has been opened in more than one program at a time and it becomes "locked" from being edited by other programs.

Link to comment
Share on other sites

Did you check to see if there was anything at 0x100F8C0? It's one thing to say "I don't think that there's anything there" and another to say "there is nothing I'm overwriting at 0x100F8C0". You need to actually check if anything is there and if FEditor is writing anything to that address. It could be that the other address you tried was overwriting important FEditor data as well.

Often you'll get a file stream error if the ROM has been opened in more than one program at a time and it becomes "locked" from being edited by other programs.

I "expanded" the rom with HxD and i saw 100F8C0, so i don't think there was already anything in that space. (maybe i'm failing here)

I tried with 100F8B0, too... But it was the same :\

I opened FEditor without any other programs with the Rom opened.

Link to comment
Share on other sites

So you changed the address by... 0x10 bytes. Not a big difference, and especially since you moved it further back in the ROM I'm not surprised it didn't make a difference. Try making some changes with FEditor and see if anything at 0x100F8C0 changes. If it does, then you should have your answer :):

Edited by Agro
Link to comment
Share on other sites

So you changed the address by... 0x10 bytes. Not a big difference, and especially since you moved it further back in the ROM I'm not surprised it didn't make a difference. Try making some changes with FEditor and see if anything at 0x100F8C0 changes. If it does, then you should have your answer :):

It works now!! Thanks a lot! :D

Link to comment
Share on other sites

It works now!! Thanks a lot! :D

Awesome. Just remember to keep track of what's going where and leave a reasonable amount of free space for your events and you shouldn't run into this kind of issue again.

The reason I keep asking is because I have it as it says in the tutorial and I have the ID in tiled and it still doesn't work.

Alright, post your whole events file--need to see you're doing everything right.

Link to comment
Share on other sites

Events:

#define DISABLE_TUTORIALS

#include EAstdlib.event

EventPointerTable(0x06,Pointers)

ORG 0xD80000

Pointers:

POIN Turn_events

POIN Character_events

POIN Location_events

POIN Misc_events

POIN TrapData TrapData

POIN Bad Bad Bad Bad

POIN Good Good Good Good

POIN Opening_event Ending_event

// Units

Chests:

UNIT 0x3E 0x0A 0x00 Level(5, Enemy, 0) [1,4] [1,4] [0x03, 0x6A] PursueWithoutHeed

UNIT 0x3E 0x0A 0x00 Level(5, Enemy, 0) [12,10] [12,10] [0x03, 0x88] PursueWithoutHeed

UNIT 0x3E 0x18 0x00 Level(10, Enemy, 0) [40,18] [40,18] [0x2C] NoAI

UNIT 0x3E 0x18 0x00 Level(10, Enemy, 0) [39,17] [39,17] [0x2C] NoAI

UNIT

Gaurdian:

UNIT 0x53 0x3B 0x00 Level(5, Enemy, 0) [2,11] [2,11] [0x29, 0x2A, 0x24] PursueWithoutHeed

UNIT

Jailed:

UNIT 0x06 0x34 0x00 Level(15, NPC, 0) [12,4] [12,4] [0x1C, 0x1B, 0x14, 0x67] NoAI

UNIT 0x08 0x1C 0x00 Level(15, NPC, 0) [19,7] [19,7] [0x3F, 0x40, 0x66] NoAI

UNIT 0x0B 0x0C 0x00 Level(5, NPC, 0) [1,7] [1,7] [0x07, 0x23, 0x89] NoAI

UNIT

Good:

UNIT 0x03 0x02 0x00 Level(1, Ally, 0) [13,7] [13,7] [0x0A, 0x6A, 0x02] NoAI

UNIT 0x36 0x3C 0x03 Level(1, Ally, 0) [0,14] [3,15] [0x01, 0x69, 0x69] NoAI

UNIT

Bad:

UNIT 0x01 0x07 0x00 Level(10, Enemy, 0) [47,14] [47,14] [0x84, 0x09, 0x1D] Guard

UNIT 0x61 0x0C 0x01 Level(10, Enemy, 0) [46,16] [46,16] [0x0B, 0x24] AttackInRange

UNIT 0x61 0x10 0x01 Level(10, Enemy, 0) [48,16] [48,16] [0x0B, 0x0C] AttackInRange

UNIT 0x61 0x3B 0x01 Level(10, Enemy, 0) [47,17] [47,17] [0x29, 0x2A] AttackInRange

UNIT

Bad2:

UNIT 0x61 0x26 0x01 Level(10, Enemy, 0) [46,13] [46,13] [0x48, 0x45, 0x4B] HealUnits

UNIT 0x61 0x22 0x01 Level(10, Enemy, 0) [48,13] [48,13] [0x3D, 0x3B, 0x4B] AttackInRange

UNIT 0x61 0x1E 0x01 Level(10, Enemy, 0) [47,12] [47,12] [0x43, 0x42, 0x4C] HealUnits

UNIT

Ney:

UNIT 0x1A 0x5A 0x00 Level(20, Ally, 0) [17,3] [17,3] [0x3C, 0x43, 0x4E] NoAI

UNIT

Anti:

UNIT 0x24 0x3E 0x00 Level(20, Enemy, 0) [18,3] [18,3] [0x0E] Guard

UNIT

Turn_events:

TurnEventPlayer(0x0,Opening_event,1)

TurnEventPlayer(0x5,JoinRNG,10)

TurnEventPlayer(0x5,RNGLeave,11)

End_MAIN

Character_events:

End_MAIN

Location_events:

//SecretShop(Secret,1,11)

Seize(47,14)

Door(6,14)

Door(4,10)

Door(4,7)

Door(4,4)

Door(4,2)

Door(10,3)

Door(10,7)

Door(17,6)

Door(22,6)

Door(20,1)

Door(24,17)

Door(25,16)

Door(25,14)

Door(26,10)

Door(19,10)

Door(28,16)

Door(44,13)

Door(44,17)

Chest(0x70,1,1)

ChestMoney(10000,14,16)

Chest(0x0B,15,16)

Chest(0x43,23,8)

Chest(0x8C,23,1)

END_MAIN

Misc_events:

CauseGameOverIfLordDies

End_MAIN

TrapData:

GAST [36,17] 0x2 [1,1]

FIRE [11,10] 0x0 [1,1]

FIRE [28,13] 0x0 [1,1]

FIRE [30,13] 0x0 [1,1]

FIRE [32,13] 0x0 [1,1]

FIRE [34,13] 0x0 [1,1]

FIRE [36,13] 0x0 [1,1]

FIRE [38,13] 0x0 [1,1]

FIRE [40,13] 0x0 [1,1]

FIRE [42,13] 0x0 [1,1]

FIRE [9,7] 0x0 [1,1]

FIRE [5,10] 0x0 [1,1]

FIRE [5,7] 0x0 [1,1]

FIRE [5,4] 0x0 [1,1]

FIRE [5,2] 0x0 [1,1]

FIRE [9,3] 0x0 [1,1]

FIRE [19,1] 0x0 [1,1]

GAST [16,5] 0x1 [1,1]

GAST [23,5] 0x0 [1,1]

ALIGN 4

End_MAIN

Opening_event:

VCBF 1

OOBB

LOU1 Good

LOU1 Bad

LOU1 Bad2

LOU1 Chests

LOU1 Jailed

LOU1 Gaurdian

ENUN

CAM1 0x36

FADI 0x10

HIDEMAP

BACG 0x3C

FADU 0x10

SHOWMAP

CAM1 0x03

STAL 15

TEX1 0x0810

REMA

FADI 0x10

HIDEMAP

BACG 0x3C

FADU 0x10

SHOWMAP

TEX1 0x0811

REMA

ALIGN 4

ENDA

Ending_event:

ENDA

// Events

GuyTalk:

TurnAlly(0x06)

ENDA

DorcTalk:

TurnAlly(0x08)

ENDA

WinTalk:

TurnAlly(0x0B)

ENDA

JoinRNG:

WarpIn(Ney,17,3)

ENUN

LOU1 Anti

_0xE3 0xCB401C [18*0x10-1,3*0x10-1]

SOUN 0x2F6

ENUN

ENDA

RNGLeave:

Scripted_fight(Jaffar,Marcus,Lol)

ENUN

ENDA

// Manual Movement

// Scripted Fights

Lol:

AttackerSilencer(60,1)

BLDT

// Shop Data

MESSAGE Events end at offset currentOffset

There may tiny error I haven't noticed yet that don't have to do with the doors but that's because I haven't been worrying an]bout more than the tile changes right now.

Link to comment
Share on other sites

So... Did you set a different ID for all the Doors and chests in Tiled ?

Like... In your events there's no problem about doors and chests. So if it's screwed up it's in Tiled that you have to search.

Link to comment
Share on other sites

Just so we're clear, you did the whole "write pointer" thing with the Tiled map inserter as well, right? And you double checked that the pointers have all been written correctly?

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