• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[ARCHIVE] Simple Questions (SEARCH BEFORE ASKING A QUESTION)

Status
Not open for further replies.
3
Posts
12
Years
  • Seen Jan 21, 2013
That part of the ROM seems to deal with the connections between each map, there are quite a lot of zeroes around there so I'm guessing that you overwrote the data there when trying to insert something (a map, script, tiles etc). A quick fix would be to make a back up of your ROM, open it in a HEX editor, goto (Ctrl+G) 0x486828 and replace what's written there with '0C 68 48 08'. That would be the very least you can do to make that error disappear, but it would be better to compare that section of your edited Emerald ROM to one that hasn't been modified in any way and then replace your edited data with what's there.

Since you're starting out I can understand that it could be a bit hard to do this, but its the simplest thing I can think of to remedy your problem.

I compared the section with a clean version like you suggested and changed the values with a hex editor (Gold Finger). The error changed from the previous one to an "Access Violation Error". Seeing this I tried removing connections to the map(the connection errors were centered around route101) but when I removed a connection A-Map kept crashing. After doing this for awhile I finally removed the connections and the error was gone.

Thank you for your help!

However now I'm having connection problems with another map(oldale town). I've been doing some finagling with the hex editor along with removing connections through A-Map to fix it
But my question is, Is there a program or anything like a map or website to aid me in finding the values for other connections, etc. or is that something I have to deduce on my own?
 

Manganum

Your local sine wave
145
Posts
14
Years
Hmm... I've finally decided to migrate from using a-text (it's way too buggy) to modifying the actual scripts of the game, but there's one thing that I can't seem to wrap my head around (even with the dozens of Pokescript tutorials on PC). Say I wanted to edit the dialogue of an existing NPC, but I wanted to make it longer. How do I do this without creating a bunch of errors (like the next section of dialogue spilling into it)? I know I can just copy the script over to a larger hex value, but how do I find out the minimum amount of bytes I'll need?

Maybe I'm just overlooking some really simple detail...

EDIT: Actually, I don't think it's Pokescript... All of FR's original scripts start with #org 0x(insert value here) while the tutorials I'm looking at use #dynamic.
Basically, I just have absolutely no idea what I'm doing, and I'd be really grateful for some help :(
 

Blah

Free supporter
1,924
Posts
11
Years
Hmm... I've finally decided to migrate from using a-text (it's way too buggy) to modifying the actual scripts of the game, but there's one thing that I can't seem to wrap my head around (even with the dozens of Pokescript tutorials on PC). Say I wanted to edit the dialogue of an existing NPC, but I wanted to make it longer. How do I do this without creating a bunch of errors (like the next section of dialogue spilling into it)? I know I can just copy the script over to a larger hex value, but how do I find out the minimum amount of bytes I'll need?

Maybe I'm just overlooking some really simple detail...

EDIT: Actually, I don't think it's Pokescript... All of FR's original scripts start with #org 0x(insert value here) while the tutorials I'm looking at use #dynamic.
Basically, I just have absolutely no idea what I'm doing, and I'd be really grateful for some help :(

Tip #1:
Save yourself the time now and switch to XSE or PKSV as a script editor

As for the actual question, you need to use the new line charachter which is simple "\n", after the first use of "\n" you use "\l" for each following next line command. You can also use "\p" to start with a fresh textbox, this can be used anywhere in the text output part.

It's actually covered in many tutorials, mostly at the start. Though you should swap script editors so you have more resources to look at.
 

Logan

[img]http://pldh.net/media/pokecons_action/403.gif
10,417
Posts
15
Years
Hmm... I've finally decided to migrate from using a-text (it's way too buggy) to modifying the actual scripts of the game, but there's one thing that I can't seem to wrap my head around (even with the dozens of Pokescript tutorials on PC). Say I wanted to edit the dialogue of an existing NPC, but I wanted to make it longer. How do I do this without creating a bunch of errors (like the next section of dialogue spilling into it)? I know I can just copy the script over to a larger hex value, but how do I find out the minimum amount of bytes I'll need?

Maybe I'm just overlooking some really simple detail...

EDIT: Actually, I don't think it's Pokescript... All of FR's original scripts start with #org 0x(insert value here) while the tutorials I'm looking at use #dynamic.
Basically, I just have absolutely no idea what I'm doing, and I'd be really grateful for some help :(
I recommend you use eXtreme Script Editor (XSE) by HackMew it's much more efficient and better overall.

Basically the #dynamic allows you to use a dynamic offset that lets the script decide where to put the script commands in the ROM, rather having to choose where every message box and applymovement goes. To use a dynamic offset you use #org @start and the beginning and when you compile the script you copy the offset that XSE assigns to @start and use that as your person's script offset in A-Map.

A generic person script (which is what I think you want to use would look like this):

Code:
#dynamic 0x800000 'this means that the script starts using free space available from the offset you have specified

#org @start 'this starts the script 
msgbox @msg1 MSG_FACE 'the msgbox command brings up a message box, the @msg1 is a pointer to your actual message and the MSG_FACE is the type of message box you want to use (there is six overall, MSG_FACE has lock, faceplayer and release commands built in and is the best for generic people scripts)
end 'this ends the script

#org @msg1 'here is where you type your message
= Hi, this is a generic message script. 'I also recommend you use XSE's built in Text Adjuster as it separates the message onto different lines for you so it doesn't overspill
 

Manganum

Your local sine wave
145
Posts
14
Years
Tip #1:
Save yourself the time now and switch to XSE or PKSV as a script editor

As for the actual question, you need to use the new line charachter which is simple "\n", after the first use of "\n" you use "\l" for each following next line command. You can also use "\p" to start with a fresh textbox, this can be used anywhere in the text output part.

It's actually covered in many tutorials, mostly at the start. Though you should swap script editors so you have more resources to look at.

Yeah, I am using XSE... Creating a new line isn't the issue, it's the fact that if the dialogue I want has more characters than the text I'm replacing, it'll cut off halfway through and just go directly to the next section.

I recommend you use eXtreme Script Editor (XSE) by HackMew it's much more efficient and better overall.

Basically the #dynamic allows you to use a dynamic offset that lets the script decide where to put the script commands in the ROM, rather having to choose where every message box and applymovement goes. To use a dynamic offset you use #org @start and the beginning and when you compile the script you copy the offset that XSE assigns to @start and use that as your person's script offset in A-Map.

A generic person script (which is what I think you want to use would look like this):

Code:
#dynamic 0x800000 'this means that the script starts using free space available from the offset you have specified

#org @start 'this starts the script 
msgbox @msg1 MSG_FACE 'the msgbox command brings up a message box, the @msg1 is a pointer to your actual message and the MSG_FACE is the type of message box you want to use (there is six overall, MSG_FACE has lock, faceplayer and release commands built in and is the best for generic people scripts)
end 'this ends the script

#org @msg1 'here is where you type your message
= Hi, this is a generic message script. 'I also recommend you use XSE's built in Text Adjuster as it separates the message onto different lines for you so it doesn't overspill

I am using XSE D: I'm using it through Advance Map, so that I know exactly where the NPCs I'm editing are located... As I said back up there^, the text running off the actual textbox wasn't the issue; it's the fact that if the text I replace is shorter than the text I want, the game cuts off the new text at the point where the old dialogue would have finished, and the next section replaces the rest of the new dialogue. This sort of thing:

Code:
Excuse me, you looked at me, diYou're mean!

Exactly what I'm trying to do is edit a Lass to say "KOINO: I like shorts! They're comfy and easy to wear!". This is the original script:

Code:
'-----------------------
#org 0x1A94FF
trainerbattle 0x0 0x74 0x0 0x8183616 0x818363F
special2 LASTRESULT 0x39
compare LASTRESULT 0x1
if 0x1 goto 0x81A9526
msgbox 0x818364C '"You shouldn't be staring if you\ndo..."
callstd 0x6
end

'-----------------------
#org 0x1A9526
trainerbattle 0x5 0x74 0x0 0x81C14F3 0x818363F
msgbox 0x818364C '"You shouldn't be staring if you\ndo..."
callstd 0x6
end


'---------
' Strings
'---------
#org 0x183616
= Excuse me!\nYou looked at me, didn't you?

#org 0x18363F
= You're mean!

#org 0x18364C
= You shouldn't be staring if you\ndon't want to battle!

#org 0x1C14F3
= Excuse me!\nYou keep looking at me, don't you?

Copying the script to 0x800000 doesn't work, even though I change every "1A94FF" (which is this script's offset) to "800000". Then again, I'm sure I'm doing something wrong...
 
Last edited:

Blah

Free supporter
1,924
Posts
11
Years
Yeah, I am using XSE... Creating a new line isn't the issue, it's the fact that if the dialogue I want has more characters than the text I'm replacing, it'll cut off halfway through and just go directly to the next section.



I am using XSE D: I'm using it through Advance Map, so that I know exactly where the NPCs I'm editing are located... As I said back up there^, the text running off the actual textbox wasn't the issue; it's the fact that if the text I replace is shorter than the text I want, the game cuts off the new text at the point where the old dialogue would have finished, and the next section replaces the rest of the new dialogue. This sort of thing:

Code:
Excuse me, you looked at me, diYou're mean!


Oh, now I understand. Sorry, I thought you were making scripts and you had text leaking. If you're already using "\n" and it's similar counterparts, then I guess you're editing existing scripts. In that case, you need to change the dynamic offset (the thing you see that says #dynamic 0xnumber). I'm not sure if you have to, but I'd guess you'd have to change the offset for that specific text too. Meaning if there is a command like:

msgbox 0x834712
You should change that 0xvalue into just a simple @word. Make sure you modify all instances of 0xvalue into @word. More clearly:

compiled script:

(notice in the already compiled script there is no #dynamic, you need to add it!)
#org 0x532940
msgbox 0x824521
end

#org 0x824521
= EPIC TEXT!

after you change and recompile should be:

#dynamic 0x8000000 (I think 800000 popular, but theoretically you should be able to use anything)
#org 0x532940
msgbox @text
end

#org @text
= MY NEW EPIC TEXT!!!\nIT'S NEW HOMIE
 

Manganum

Your local sine wave
145
Posts
14
Years
Oh, now I understand. Sorry, I thought you were making scripts and you had text leaking. If you're already using "\n" and it's similar counterparts, then I guess you're editing existing scripts. In that case, you need to change the dynamic offset (the thing you see that says #dynamic 0xnumber). I'm not sure if you have to, but I'd guess you'd have to change the offset for that specific text too. Meaning if there is a command like:

msgbox 0x834712
You should change that 0xvalue into just a simple @word. Make sure you modify all instances of 0xvalue into @word. More clearly:

compiled script:

(notice in the already compiled script there is no #dynamic, you need to add it!)
#org 0x532940
msgbox 0x824521
end

#org 0x824521
= EPIC TEXT!

after you change and recompile should be:

#dynamic 0x8000000 (I think 800000 popular, but theoretically you should be able to use anything)
#org 0x532940
msgbox @text
end

#org @text
= MY NEW EPIC TEXT!!!\nIT'S NEW HOMIE

I'm getting far too confused by this D: I might just have to shorten the text I want to add...
For some reason, changing the script's offset to 800000 makes the NPC only say one line. No battle, no other dialogue, just the line from after you've already beaten them.

Ah well
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
I compared the section with a clean version like you suggested and changed the values with a hex editor (Gold Finger). The error changed from the previous one to an "Access Violation Error". Seeing this I tried removing connections to the map(the connection errors were centered around route101) but when I removed a connection A-Map kept crashing. After doing this for awhile I finally removed the connections and the error was gone.

Thank you for your help!

However now I'm having connection problems with another map(oldale town). I've been doing some finagling with the hex editor along with removing connections through A-Map to fix it
But my question is, Is there a program or anything like a map or website to aid me in finding the values for other connections, etc. or is that something I have to deduce on my own?

You can deduce it on your own, or you could let A-map tell you a general location. Go into A-map and hit ctrl+H, this will switch you to professional header view. From there, go under header and all of your offsets for the starting locations of the tables and such will be laid out.
 

Blah

Free supporter
1,924
Posts
11
Years
Code:
#dynamic 0x800000
#org @start
trainerbattle 0x0 0x74 0x0 @start @defeat
special2 LASTRESULT 0x39
compare LASTRESULT 0x1
if 0x1 goto @rematch
msgbox @after '"You shouldn't be staring if you\ndo..."
callstd 0x6
end

'-----------------------
#org @rematch
trainerbattle 0x5 0x74 0x0 @rematchStart @defeat
msgbox @after '"You shouldn't be staring if you\ndo..."
callstd 0x6
end


'---------
' Strings
'---------
#org @start
= Excuse me!\nYou looked at me, didn't you?

#org @defeat
= You're mean!

#org @rematchStart
= You shouldn't be staring if you\ndon't want to battle!

#org @after
= Excuse me!\nYou keep looking at me, don't you?

I just changed up the offsets for you. Take notice at which ones I changed and that I added #dynamic and changed that #org 0xmessOfNumbers into #org @start. Now you should be able to add custom text, compile it, and put it into Amap.
 
34
Posts
13
Years
  • Seen Jun 14, 2016
Well, I've got some connection problems. I have two maps that I want to connect, so I connected them together. However, when I checked in-game, one map connected with the other, but not the other way around.

I went back into AMap to check, and both were still connected.. Not sure what happened.
 
3
Posts
12
Years
  • Seen Jan 21, 2013
You can deduce it on your own, or you could let A-map tell you a general location. Go into A-map and hit ctrl+H, this will switch you to professional header view. From there, go under header and all of your offsets for the starting locations of the tables and such will be laid out.

AWESOME this will help a lot, thanks!
 

ShyRayq

Unprofessional Unprofessional
1,856
Posts
16
Years
  • Seen Mar 31, 2024
Hello fellow hackers.

So, I'm trying to create a new rival battle, so I create the new trainer, making his name TERRY, to fit with the others.
But when I battle him, he is still "TERRY".
Does anyone know how to change it so that a trainer's name becomes the rival's name?

Thanks
 

Blah

Free supporter
1,924
Posts
11
Years
Well, I've got some connection problems. I have two maps that I want to connect, so I connected them together. However, when I checked in-game, one map connected with the other, but not the other way around.

I went back into AMap to check, and both were still connected.. Not sure what happened.

Go to your second map in Amap and connect that to the first map :D
Also make sure your second map and first map are connected solely to eachother (in the direction). For example is X-map is connected to B-map up, then B-map must be connected to X-map down (and only X-map down).

Hello fellow hackers.

So, I'm trying to create a new rival battle, so I create the new trainer, making his name TERRY, to fit with the others.
But when I battle him, he is still "TERRY".
Does anyone know how to change it so that a trainer's name becomes the rival's name?

Thanks

I actually wanna know this too. I have never tried. Whenever I wanted a rival battle I always used an existing rival battle ID-thing for it.
 
53
Posts
11
Years
  • Seen Feb 1, 2014
I'm not sure which properties effect what when it comes to fishing, but in advance map there are two things that all "fishable" water tiles have in common. If you open the block editor and hover over a certain water tile (not the puddle), you'll find they all share these two things:

Behaviour Byte of: 15 04
Background Byte of: 00 22

Match your custom tiles to have these values (found in the block editor of Advance Map) and it should work (I hope :P).

In truth those bytes are not as you say; for example the lake bytes are:

Behaviour: 10 00
Background: 00 10

Infact the second of behaviour and the first of background isn't changeable from AdvanceMap. I've still reproduced that bytes on my new block, but nothing happens.

So i think the way is another, but thanks for reply :)

If anyone have another idea, i'm here
 
34
Posts
13
Years
  • Seen Jun 14, 2016
Go to your second map in Amap and connect that to the first map :D
Also make sure your second map and first map are connected solely to eachother (in the direction). For example is X-map is connected to B-map up, then B-map must be connected to X-map down (and only X-map down).

That's the problem, they're both connected.
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
That's the problem, they're both connected.

Everyone in a while this happens to me. Go into map connections and write down all of the connections for each map. Then delete them all. Now, reinsert them in a different order. Now, make sure that you can, using opposite arrow buttons, click back and forth between each map. Just like FBI agent said, if you click up to go to one, click down to go to the other. This should solve your problem by essentially resetting everything.
 
Last edited:

Jambo51

Glory To Arstotzka
736
Posts
14
Years
  • Seen Jan 28, 2018
I actually wanna know this too. I have never tried. Whenever I wanted a rival battle I always used an existing rival battle ID-thing for it.

Hello fellow hackers.

So, I'm trying to create a new rival battle, so I create the new trainer, making his name TERRY, to fit with the others.
But when I battle him, he is still "TERRY".
Does anyone know how to change it so that a trainer's name becomes the rival's name?

Thanks

You're using the wrong RIVAL class. There are 2 in FR/LG, the first (nearest the top of the class list) is a clone of RSE's one, making it useless in this circumstance. You need to use the second, later, one to get the desired behaviour.
 

ShyRayq

Unprofessional Unprofessional
1,856
Posts
16
Years
  • Seen Mar 31, 2024
You're using the wrong RIVAL class. There are 2 in FR/LG, the first (nearest the top of the class list) is a clone of RSE's one, making it useless in this circumstance. You need to use the second, later, one to get the desired behaviour.

Okay, it worked. Thanks Jambo
 
2
Posts
12
Years
  • Seen Oct 3, 2016
I am having a similar problem to Nara567.

I've created 2 custom maps (I am making a game including all 3 regions, Kanto, Johto, Hoenn)
I have place the 2 maps in a separate (new) bank under the bank no. 43.0 (New bark Town) and 43.1 (route 29)
I joined the maps using the reciprocal offsets and the correct bank number and map numbers.
In Adv Map they show they're connected and you can go between them flawlessly.
Although in game I cannot access either and they're surrounded by their border blocks.
If it's any help. I've used a warp access New bark town from Pallet Town
Rom: Fire-red
 
Status
Not open for further replies.
Back
Top