Jump to content

Chests and Doors


Zath of the Sword
 Share

Recommended Posts

So when I use a Chest it has two problems, it does not change to open and it is reusable. With doors they don't open after I use the door. I know how to do map tile changes but not how I would activate one for when the door/chest was used...and I read somewhere that doors work automatically...

Link to comment
Share on other sites

Make sure that you have these in your regular (not tile change) events.

Chest(item,X-coordinate,Y-coordinate)

ChestMoney(amountOfMoney,X-coordinate,Y-coordinate)

Door(X-coordinate,Y-coordinate)

Link to comment
Share on other sites

I did I read it several times over and it has nothing to say except use this code and your good.

So instead of just trying it to see if it will work, you're going to argue with someone who's been around longer, has experience with this, and has no reason to lie to you about it?

Keep truckin', bruh.

Link to comment
Share on other sites

No, it does not say that all you need is this code. It DOES say that all you need are these codes to trigger the tile changes automatically. HOWEVER, you have to script the tile changes manually.

So why don't you go and read the "TILE CHANGES" section again and see if it makes sense.

Link to comment
Share on other sites

Okay so I looked at the tile changes part and it says horizontal doors should trigger automatically. Mine is horizontal, but whatever. I am now using this code:

DOOR 0x01 DoorRemoval [02,03] 0x10

DoorRemoval:

MAC1 0x???????? 0x00

ENDA

And then my tile change event file

#ifdef _FE7_

#define TileMap(TCN,X1,Y1,L1,L2,TilePointer) "CODE TCN X1 Y1 L1; CODE L2 0x00 0x00 0x00; POIN TilePointer"

#endif

org 0xC9C9C8+(4*0x14)

POIN TileChanges

org 0xCB1F00

TileChanges:

Tilemap(0x01,0x02,0x03,0x00,0x00,TilePointer) // - (Insert as many as you need)

CODE $FF CODE $00 CODE $00

TilePointer:

CODE 0x08

So what do I put in the MAC1 0x???????? the org 0xC9C9C8+(4*0x14) or org 0xCB1F00

Link to comment
Share on other sites

Okay so I looked at the tile changes part and it says horizontal doors should trigger automatically. Mine is horizontal, but whatever. I am now using this code:

DOOR 0x01 DoorRemoval [02,03] 0x10

DoorRemoval:

MAC1 0x???????? 0x00

ENDA

I recommend you start your event numbers at 0x05, as the game usually uses the first 5 for other things.

The 0x???????? you have there is supposed to be the event number of the tile change you want. (From a different file)

And then my tile change event file

#ifdef _FE7_

#define TileMap(TCN,X1,Y1,L1,L2,TilePointer) "CODE TCN X1 Y1 L1; CODE L2 0x00 0x00 0x00; POIN TilePointer"

#endif

Bold should be in the FE7 definitions file, but I don't think you need them now if Nintenlord included them in the newest version of EA.

org 0xC9C9C8+(4*0x14)

POIN TileChanges

org 0xCB1F00

TileChanges:

Tilemap(0x01,0x02,0x03,0x00,0x00,TilePointer) // - (Insert as many as you need)

CODE $FF CODE $00 CODE $00

TilePointer:

CODE 0x08

Okay, now you're good, until you get to the 0x?? stuff. the first 0x?? is the event number, since you want it to work with your door (And it's using the MAC1 code) use the same event number.

The next two 0x??'s are where the tile change should take place x and y axis respectively.

The last 2 0x??'s are the range, since it's only one square, you'll only need 0x01 in both of those.

Also, you need all of these 0x??'s to be in hex.

Last one if the name that it leads to for the actual tile change.

And this last one has your tile change hex. You're missing a "CODE $00" at the end of it.

Also note that these are easier to manage in a different file, one file for your events, one for your tile changes.

If all of that made no sense, look at my example from my own hack.

Tile change file:

#include "FE7 Definitions.txt"

org 0xC9C9C8+(4*0x14)

POIN TileChanges 

org 0xD96B80

TileChanges:
[b]TileMap(0x0B,0x06,0x0D,0x02,0x02,Gate1)[/b]
CODE $FF
CODE $00
CODE $00

Gate1:
CODE 0x00 0x03 0x04 0x03
CODE 0x00 0x03 0x04 0x03
CODE $00

Event file:

#define DISABLE_TUTORIALS
#include EAstdlib.event
#include "FE7 Definitions.txt"

EventPointerTable(0x09,Pointers)


org 0xD96680
Pointers:
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

Good:
UNIT

Gate2:
[b]MAC1 0x0B 0x00[/b]
ENDA

Correct me if I'm wrong here, guys.

EDIT: Oh, if you're making totally new events, you should insert them into free space, rather than overwriting the old ones used in FE7

Edited by Shion Kaito
Link to comment
Share on other sites

Thank it helped. I am making progress the door now half works. I can only use it once but the tile does not change. I think it's because I don't understand how the:

Gate1:

CODE 0x00 0x03 0x04 0x03

CODE 0x00 0x03 0x04 0x03

CODE $00

works. How do I use it to specify what I want the tile to change to?

Link to comment
Share on other sites

Whatever is supposed to be on the floor where the door used to be. Like, if you wanted to the space to turn into a space of floor, you'd put a floor tile (as located in the reference tilesets and I'm too lazy to go find them).

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