Jump to content

Advance Map Help


Recommended Posts

Hello everyone, I am trying to make a different kind of Pokemon Emerald and was wondering if I can somehow copy and paste your rival to a different map or somehow move her to somewhere else? Like for example, I want to move her from Route 103 to let's say Petalburg Woods. How would I do that?

Link to comment
Share on other sites

it's been a few years since I hacked gba but hopefully I still know what I'm talking about.

If you click on her sprite in route 103 you will see some details on the right hand side of the window. You want copy all of these to the a new sprite you create in petalburg woods. Sometimes the rival appears when you step on a script tile like on route 119. In that case you'd need a to copy that tile and it's values. Finally some scripts are activated by entering a map and there are some that will decide whether a sprite should appear or not.

This may require you to tweak some of the scripts depending on the map.

Honestly, I would recommend that you find a good advanced map tutorial and a scripting tutorial too since you sound like you're just starting out. I don't know of any personally but there are many and they should be pretty easy to find.

Good luck.

Link to comment
Share on other sites

Okay, so I copied everything from the bar on the right from her to a new sprite and was clicking A but nothing was happening. I have tried opening up the script and all but there would be no script at all for the rival or ANY of the NPC's.

Link to comment
Share on other sites

Okay so I have copied exactly one of the npc's scripts into new npc but when I click A on him, nothing happens.

The two main things you need to check are the "Talking level" and "Script offset". Make sure the talking level is at the same height as the movement permission for the map (you can probably just set it to 'Always') and set the script offset to the same offset.

I can't think of anything else that could be causing an issue unless maybe you didn't save properly or something.

Link to comment
Share on other sites

Okay so I have a new problem with a script. When I try to compile it, it says "not enough free space found. Cannot complile." does anyone know how to fix this? here is the script

#dynamic 0xE3D176

#org @Start

lock

faceplayer

msgbox @1 0x6

setflag 0x273

setflag 0x828

setflag 0x829

setflag 0x1f3

fanfare 0x13E

msgbox @2 0x6

waitfanfare

setflag 0x82f

fanfare 0x13e

msgbox @3 0x6

waitfanfare

closeonkeypress

fadescreen 1

hidesprite 0x1

setflag 0x1208

fadescreen 0

release

end

#org @1

=STARVING TRAVELER: Ungh...\pthis is it... This is where my journey\nends....\pPlease, kid....do me...a favor...\pTake this Pokedex...and this\nPokeblock case.\pWith these you will...be able to become...\pcham...pion.....

#org @2

= \w\h01 received a Pokedex and the\nPokeblock Case! \pwait... what's that next to him?\pit seems like he just got a new\npair of RUNNING SHOES!

#org @3

=\w\h01 received a pair of RUNNING SHOES! \p"hold down B to run faster than the \nthe speed of sound!"\pWait.... hold what...?

Link to comment
Share on other sites

Okay so I have a new problem with a script. When I try to compile it, it says "not enough free space found. Cannot complile." does anyone know how to fix this? here is the script

#dynamic 0xE3D176

#org @Star

lock

faceplayer

msgbox @1 0x6

setflag 0x273

setflag 0x828

setflag 0x829

setflag 0x1f3

fanfare 0x13E

msgbox @2 0x6

waitfanfare

setflag 0x82f

fanfare 0x13e

msgbox @3 0x6

waitfanfare

closeonkeypress

fadescreen 1

hidesprite 0x1

setflag 0x1208

fadescreen 0

release

end

#org @1

=STARVING TRAVELER: Ungh...\pthis is it... This is where my journey\nends....\pPlease, kid....do me...a favor...\pTake this Pokedex...and this\nPokeblock case.\pWith these you will...be able to become...\pcham...pion.....

#org @2

= \w\h01 received a Pokedex and the\nPokeblock Case! \pwait... what's that next to him?\pit seems like he just got a new\npair of RUNNING SHOES!

#org @3

=\w\h01 received a pair of RUNNING SHOES! \p"hold down B to run faster than the \nthe speed of sound!"\pWait.... hold what...?

try #dynamic 0x800000

You should be fine using 0x800000 every time. XSE should automatically find free space for you and will tell you the offset once it compiles.

Link to comment
Share on other sites

try #dynamic 0x800000

You should be fine using 0x800000 every time. XSE should automatically find free space for you and will tell you the offset once it compiles.

Well that worked, but now another new problem. When I hit a on the npc, I can't move and no message or anything comes up. NPC's are still walking around though... I'm sorry for asking for so much help

Link to comment
Share on other sites

try #dynamic 0x800000

You should be fine using 0x800000 every time. XSE should automatically find free space for you and will tell you the offset once it compiles.

actually nevermind. I can move, but still nothing comes up...

Link to comment
Share on other sites

It's cool. We all need help at some point.

When you compile the script in XSE a little window pop ups with the offset it placed the acript at. Make sure you copy that offset and assign it to the noc in advanced map.

Thaaaank you. I have 2 final problems then my 1st demo for this is done.

1) the sprite won't go away even though I put in hidesprite 0x1 then setflag 0x1208

2)when I go from my town to a route, the tiles of the buildings get all messed up.

any idea why this is happening?

Link to comment
Share on other sites

Thaaaank you. I have 2 final problems then my 1st demo for this is done.

1) the sprite won't go away even though I put in hidesprite 0x1 then setflag 0x1208

2)when I go from my town to a route, the tiles of the buildings get all messed up.

any idea why this is happening?

1. If memory serves, each sprite has an index assigned to it. Thisbis shown by the calue in the field labeled 'No:'. Use this number with hidesprite. It may be the 'person event no:' value but can't remember.

2. Each map loads a set of tiles. If the tiles in the next route don't match the tileset of the current map then it will come out messed up.

Edited by StarsMmd
Link to comment
Share on other sites

1. If memory serves, each sprite has an index assigned to it. Thisbis shown by the calue in the field labeled 'No:'. Use this number with hidesprite. It may be the 'person event no:' value but can't remember.

2. Each map loads a set of tiles. If the tiles in the next route don't match the tileset of the current map then it will come out messed up.

About no.1, how would I find the variable for the npc? I put in the No (it's 18 for him) and person event no (26) and he is still there... I looked up tutorials and nothing helped.

So about number 2, how does a route with a tileset 0 wiith tileset 8 work with a tileset of 0 and 9? the town I have north of a route (which its tileset is 0/8) is 0/1. How can I make these two work with each other?

Link to comment
Share on other sites

About no.1, how would I find the variable for the npc? I put in the No (it's 18 for him) and person event no (26) and he is still there... I looked up tutorials and nothing helped.

So about number 2, how does a route with a tileset 0 wiith tileset 8 work with a tileset of 0 and 9? the town I have north of a route (which its tileset is 0/8) is 0/1. How can I make these two work with each other?

1. Make sure you convert the 18 (or 26) to hex before using them in xse. so 0x12 (or 0x1A).

2. I believe you'd have to make sure that any tiles in the town which are visible from the route use tileset 0 (since they both have 0) and vice versa.

Link to comment
Share on other sites

1. Make sure you convert the 18 (or 26) to hex before using them in xse. so 0x12 (or 0x1A).

2. I believe you'd have to make sure that any tiles in the town which are visible from the route use tileset 0 (since they both have 0) and vice versa.

how do you convert to hex???

Link to comment
Share on other sites

Google search for a hexadecimal tutorial. You should try and understand the basics of what it is. You don't need to worry too much about it though because XSE has a converter built into! On the right hand side you can see the calculator. Underneath the inout bar you can see 2 radio buttons called 'dec' and 'hex'. While it's in dec, type in a decimal number and then click the hex button and whatever you typed in will be converted.

Again I highly recommend that you take a tutorial of some sort as hex is the basis of hacking any game.

Edited by StarsMmd
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...