• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Trading Card Game 2 protagonist in the poll by clicking here.
  • 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.
I need help with nicknaming pokemon. For the starter pokemon.

A typical code for nicknaming the starter pokemon would look like this:

Code:
...
setvar 0x8004 0x0
fadescreen 0x1
special 0x9E
waitstate
...
with the ... signifying code you write before and afterward. This should work for either Firered or Ruby.
 
Last edited:
My question back in May has gone unheard. :/ Which is surprising considering it's a really simple question. Help me out guys.

I noticed that when giving new and longer text to npcs sometimes different npcs may say parts of that text. Also sometimes entire routes of trainers would mysteriously disappear.

To elaborate I think it has to do with data modification and over writing in places that weren't free. Can you guys please tell me a little about that and the free space finder in advance map? I completely had to start a new hack because of it and so far I've just done map editing since then.
 
My question back in May has gone unheard. :/ Which is surprising considering it's a really simple question. Help me out guys.

I noticed that when giving new and longer text to npcs sometimes different npcs may say parts of that text. Also sometimes entire routes of trainers would mysteriously disappear.

To elaborate I think it has to do with data modification and over writing in places that weren't free. Can you guys please tell me a little about that and the free space finder in advance map? I completely had to start a new hack because of it and so far I've just done map editing since then.

I think what happens is part of the hex in the game is overwritten by the words the character says. This overwrites all the code that follows it, making other characters say what they're supposed to. The easiest thing to do would be to use the dynamic offsets XSE provides. Dynamic Offsets (if you don't know) are nice because XSE will look for free space automatically, and stick the code in there, with pretty no chance of overwriting anything. To do it, you just start all your code with the following:

Code:
#dynamic 0x800000
#org @start
The start writing the code. Instead of using 0xOFFSET to define msgbox and stuff, you use an @, followed by a sort of "nickname" for the offset. For example, you'd say:

Code:
#dynamic 0x800000
#org @start
msgbox @message MSG_FACE
release
end

#org @message
= Hi there!
When you compile, it tells you all the offsets that XSE puts in. The first one (@start in this case) is the one you want. Copy and Paste the offset it gives you for @start and put it in your event. I hope this wasn't too complicated, and I'm sorry if I didn't answer your question.
 
My question back in May has gone unheard. :/ Which is surprising considering it's a really simple question. Help me out guys.

I noticed that when giving new and longer text to npcs sometimes different npcs may say parts of that text. Also sometimes entire routes of trainers would mysteriously disappear.

To elaborate I think it has to do with data modification and over writing in places that weren't free. Can you guys please tell me a little about that and the free space finder in advance map? I completely had to start a new hack because of it and so far I've just done map editing since then.
This happens because you compile an already compiled script with new data that exceed the old one in size. As in, if you write new text in a dialogue script but the new text is more than the old one and compile, even one extra space makes the difference in bytes and scrambles up other dialogues. So when you're recompiling a script, you can only augment it by repointing. You will need to know how to hex edit in order to do that, though.

You can always edit a script if the changes you make on it leave the same number of bytes-or lower, but if the number of bytes is higher than the previous number, it will compile but screw up stuff. Otherwise, you can always make new scripts as the poster above me suggests.
 
In Firered, does anyone know the value of the variable which stores which way the player is facing, and which values of it mean which direction? I think 0x4 means facing right, but not any of the others.
I think its these values
0x0 = Face Down
0x1 = Face Up
0x2 = Face Left
0x3 = Face Right
 
can someone use pokemon diamond as a base rom and make everything like emerald
as a remake coment if you can please
First of all, this is not a request thread, so you shouldn't really be asking for someone to make one. However, there is a hack of Diamond which is a remake - or, using the proper term a demake - of Pokémon Sapphire Version. Find it here.
 
I found the answer to my question ^^; I just needed to look in the right place. The information is now linked to in my signature.
 
OK. Now i am doing a hack and it includes a friendship system. I figure that i need to use a lot of safety vars to read and write. However I have already searched for a list of used vars and flags but all the info that I can reach is about FireRed. Can anybody show me a list like that for Emerald? Or can anyone tell me another way to modify that friendship system?
 
In Firered, does anyone know the value of the variable which stores which way the player is facing, and which values of it mean which direction? I think 0x4 means facing right, but not any of the others.
The value of the player's facing direction is stored in 0x800C. If I'm correct, the values for the directions are:
0x1 = down
0x2 = up
0x3 = left
0x4 = right

For Example:
Code:
compare 0x800C 0x1 
if 0x1 call @down
 
A typical code for nicknaming the starter pokemon would look like this:

Code:
...
setvar 0x8004 0x0
fadescreen 0x1
special 0x9E
waitstate
...
with the ... signifying code you write before and afterward. This should work for either Firered or Ruby.

What does var 0x8004 0x0 do? Does it have to be that var?
 
What does var 0x8004 0x0 do? Does it have to be that var?

I believe that var is whatever Pokemon slot the nicknamed Poke is at. Since its the first Pokemon your player gets, it'll be in the first slot of the party, which is 0x0. The special reads from 0x8004, and not any other variables, so it has to be that one.
 
New to hacking, need help

I've got a basic understanding of scripting, maybe a little too basic, but I'm just starting out, so bare with me.

I can't figure out how to script how my game actually begins. Of course it begins with the pokemon professor talking to you, and after that's over with you get shoved out into the world of pokemon. What I need help with is what happens after that. I'm using ruby as my base, so after the professor asks me my name and whatnot I end up in the back of a truck on the way to my house. I want to change it to where I start out in my bed.

How do I do this? I'm using AdvanceMap and XSE.

Thanks,

Riot
 
I believe that var is whatever Pokemon slot the nicknamed Poke is at. Since its the first Pokemon your player gets, it'll be in the first slot of the party, which is 0x0. The special reads from 0x8004, and not any other variables, so it has to be that one.

So what happens if the pokemon is sent to the box?
 
Can anybody teach me how to create a map where every wild pokemon in it is uncatchable (while the same pokemon can be caught outside this map?)

Much appreciated!
 
Can anybody teach me how to create a map where every wild pokemon in it is uncatchable (while the same pokemon can be caught outside this map?)

Much appreciated!
This isn't something easy to do especially for multiple pokemon but for some information you can refer to this: https://www.pokecommunity.com/threads/250580 You could also recreate the pokemon in the 25 empty slots in between Celebi and Treecko and set the catch rate to 0.
 
So what happens if the pokemon is sent to the box?

The code I gave you works only if it's the starter Pokemon, which usually isn't sent to a box. In the case where it's a gift Pokemon that ISNT a starter, you have to use more creativity. Generally, the following would work:

Code:
... \\give the player the Pokemon
countpokemon \\counts the number of Pokemon in your party
subvar LASTRESULT 0x1 \\explained below
copyvar 0x8004 LASTRESULT \\copies LASTRESULT to the variable 0x8004
fadescreen 0x1 \\turns the screen black
special 0x9E \\nickname special
waitstate \\wait till done nicknaming
... \\rest of the code
The reason you subtract one is because of the following: Suppose you have one Pokemon. countpokemon will return the value 0x1. But the Pokemon itself is in the first slot, which has a value of 0x0. Since you gave the player a Pokemon, it'll be at the bottom of the party. The script counts how many Pokemon you have, and subtracts one, giving the slot number of the final Pokemon, or the Pokemon you gave. It then continues as before.

There is a way to nickname a Pokemon sent to a box though. From what I can tell, the givepokemon code actually returns a value to LASTRESULT. LASTRESULT is 0x0 if its in the party, 0x1 if it goes to a box, and 0x2 if there's no room in the party or in a box. If you really want to put this in, it'll add alot more branches to the code (You'll have to do different scripts is the player knows its 'Someone's PC' vs 'Bill's PC', among others), but it can be nicknamed with the following:

Code:
... \\Give the player the Pokemon, check if LASTRESULT is 0x1
fadescreen 0x1
special 0x166
waitstate
... \\The rest of the code
Of course, the simplest way is to just countpokemon before the gift, and refuse to give it if there's more than six in the party.

Edit: If you need to know more, I suggest getting a clean Firered rom and going to map 10.11, which is in Celadon City. The Pokeball on the desk gives the player an Eevee, and has everything you need to know about nicknaming things that are about to go to a box :)
 
Hello. I have a small question about JPAN's hack engine. I download both versions 1.0 and 1.1 and got the same result. No matter when its on an edited ROM or a clean FireRed ROM when I patch the engine and leave the house I start in I appear stuck in the middle of odd tiles and I can't move. If it at all helps this is what happens when I exit the house: (image no longer exists)
 
Hello. I have a small question about JPAN's hack engine. I download both versions 1.0 and 1.1 and got the same result. No matter when its on an edited ROM or a clean FireRed ROM when I patch the engine and leave the house I start in I appear stuck in the middle of odd tiles and I can't move. If it at all helps this is what happens when I exit the house: (image no longer exists)


No worries, just fix the warp frm the house to pallet town again on A-map this shud fix d problem.
 
money script problem
rom: ruby
Script editor: XSE

the show money command doesn't work, making the other moony commands useless! can anyone help?
Spoiler:
 
Status
Not open for further replies.
Back
Top