The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Binary ROM Hacking (https://www.pokecommunity.com/forumdisplay.php?f=284)
-   -   Help Thread Quick Questions & Answers (https://www.pokecommunity.com/showthread.php?t=335486)

Vendily October 28th, 2015 3:31 PM

Quote:

Originally Posted by Imherefortheromhacks (Post 8979235)
Are any of the ROM Hacking tools a virus? Especially A-Trainer, my antivirus thinks its a virus. Is is a real virus, or not?

Typically, no, at least for the tools posted here. Antivirus programs and some Internet Browsers are really hyperactive.

kleenexfeu October 29th, 2015 1:04 AM

Quote:

Originally Posted by Imherefortheromhacks (Post 8979235)
Are any of the ROM Hacking tools a virus? Especially A-Trainer, my antivirus thinks its a virus. Is is a real virus, or not?

In a certain manner we can consider A-trainer as a virus as it has few chance to mess up your ROM :p
You should use kurapika's trainer editor or another more recent

Blah October 29th, 2015 6:13 PM

Quote:

Originally Posted by Cobalt_000 (Post 8978730)
http://i.imgur.com/fnaX1Np.png
I keep freezing here. I tried deleting the map script, but I am still freezing. It also happens when trying to leave Viridian City from the north, but it doesn't occur when entering Viridian from the south side. This started occuring after I removed the cut tree near the fences in the top left of Viridian. Any ideas why I keep freezing?

Copy the map header and footer from a clean ROM into your Map header and footer using A-map's advance view or whatever it's called.

Next open your ROM in VBA, go tools -> disassemble -> auto update and check what R14's value is. If it's not changing report back the value. I think just resetting the map header/footer should be enough though.

PiGreat October 29th, 2015 7:06 PM

Time for another dumb question. I've added in all of the necessary Pokémon for my hack. Now, how do I change the starters? I've tried A-Starter, but that only shows Gen 1-3 Pokémon; the Gen 4/5/6 Pokémon that I've added in aren't shown on the drop down box at all. Naturally, this is problematic because the starters I want to use are from Gen 5.

azurile13 October 29th, 2015 8:19 PM

Quote:

Originally Posted by PiGreat (Post 8980439)
Time for another dumb question. I've added in all of the necessary Pokémon for my hack. Now, how do I change the starters? I've tried A-Starter, but that only shows Gen 1-3 Pokémon; the Gen 4/5/6 Pokémon that I've added in aren't shown on the drop down box at all. Naturally, this is problematic because the starters I want to use are from Gen 5.

Which game? For Kanto, you can click on the Pokeballs in Oak's lab and make some very fast modifications to the mon indices in their scripts. I see no reason to use a tool for something so simplistic.

Pyxel October 29th, 2015 11:37 PM

Can someone give me a link to download Fire Red rom that i can hack?

Sniper October 29th, 2015 11:40 PM

Quote:

Originally Posted by Pyxel (Post 8980630)
Can someone give me a link to download Fire Red rom that i can hack?

Google one yourself. It's illegal.

PurpleOrange October 30th, 2015 2:18 AM

Quote:

Originally Posted by PiGreat (Post 8980439)
Time for another dumb question. I've added in all of the necessary Pokémon for my hack. Now, how do I change the starters? I've tried A-Starter, but that only shows Gen 1-3 Pokémon; the Gen 4/5/6 Pokémon that I've added in aren't shown on the drop down box at all. Naturally, this is problematic because the starters I want to use are from Gen 5.

and if you're using emerald, the offsets are at:
Pokemon 1-0x5B1DF8
Pokemon 2-0x5B1DFA
Pokemon 3-0x5B1DFC
so just replace the bytes with the index number of your new pokemon in reverse hex

PiGreat October 30th, 2015 5:37 AM

Oh, my bad. I'm using FireRed with Mr. DollSteak's patch.

Vendily October 30th, 2015 1:53 PM

Quote:

Originally Posted by PiGreat (Post 8980785)
Oh, my bad. I'm using FireRed with Mr. DollSteak's patch.

In that case you just need to go to the pokeballs in Oak's lab and change these numbers in the script.
Grass Starter Pokeball
Spoiler:
//---------------
#org 0x169BAB
lock
faceplayer
setvar 0x4001 0x0
setvar 0x4002 0x(Index of Grass starter)
setvar 0x4003 0x(index of Fire starter)
setvar 0x4004 0x7 //Person event id of the pokeball your rival takes. Unless you changed the number of person events, it should be left alone.
compare 0x4055 0x3
if 0x4 goto 0x8169DE4
compare 0x4055 0x2
if 0x1 goto 0x8169BE1
msgbox 0x818EA19 MSG_KEEPOPEN //"Those are POKé BALLS.\nThey contai..."
release
end

Same idea for the other two.

mc2cooljoe1 October 30th, 2015 2:08 PM

Does anyone know how to make a daycare like in HGSS with the pokemon sprites that appear in the daycare?

Splash October 30th, 2015 6:16 PM

What are the repercussions of expanding the firered rom to 32mb?
Are there stuff that will change? Should I use UPS rather than Ips then?

azurile13 October 30th, 2015 6:24 PM

Quote:

Originally Posted by Splash (Post 8981514)
What are the repercussions of expanding the firered rom to 32mb?
Are there stuff that will change? Should I use UPS rather than Ips then?

Yes, there is a huge repercussion. People will tell you that LIPS isn't working. In all seriousness, if you need the space, just expand. And for the new offsets, use 0x09yyyyyy instead of 0x08yyyyyy. If tools are important to you, iirc, some have issues because they automatically assume the 0x08, so keep that in mind.

Telemetius October 31st, 2015 1:19 AM

Hi, question. I imported a 96x96 overworld with NSE classic and I keep seeing this in the game:

Have i done something wrong?

NINJA EDIT
Solved it through unconventional ways. It's a bit long so whoever is interested PM me.

Blah November 1st, 2015 12:16 PM

Quote:

Originally Posted by Telemetius (Post 8981710)
Hi, question. I imported a 96x96 overworld with NSE classic and I keep seeing this in the game:

Have i done something wrong?

NINJA EDIT
Solved it through unconventional ways. It's a bit long so whoever is interested PM me.

Overworlds are sprites (i.e OAMs). An OAM by the hardware is only allowed to be 64x64, so you cannot have a 96x96 one. What you can do, is you can split it into more than one image and combine those to create the illusion of a 96x96 one.

Syrex November 1st, 2015 2:02 PM

What would the palette offset be for the gamefreak logo?
In the intro it shows the symbol and says game freak before the pokemon intro video.
I want to to be able to insert a sprite into that area so i need the palette offset.
Anyone kind enough to share?

Vendily November 1st, 2015 2:29 PM

Quote:

Originally Posted by Syrex (Post 8982969)
What would the palette offset be for the gamefreak logo?
In the intro it shows the symbol and says game freak before the pokemon intro video.
I want to to be able to insert a sprite into that area so i need the palette offset.
Anyone kind enough to share?

Hi, the offset for this image http://i.imgur.com/6dL4eTZ.png (hopefully the one you're referring too) is 00402A44 in APE. It's not compressed.

Syrex November 1st, 2015 3:04 PM

Quote:

Originally Posted by Vendily (Post 8982984)
Hi, the offset for this image http://i.imgur.com/6dL4eTZ.png (hopefully the one you're referring too) is 00402A44 in APE. It's not compressed.

I should just start PMing you my questions xD

That pal offset would be for the golden eye in the background, yes?

Vendily November 1st, 2015 5:26 PM

Quote:

Originally Posted by Syrex (Post 8983012)
I should just start PMing you my questions xD

That pal offset would be for the golden eye in the background, yes?

{XD}
The first index is for the eye, the second one is the white text and blue background. I don't know what the third is for.
I am a huge idiot. White text is at 00402ABC in APE. I was looking at my own palette. Sorry.

Ayonn- November 2nd, 2015 5:57 AM

Hi everybody, I'm actually working on a Fire red rom based hack, and I expanded the number of pokemon available in the game, but....I want to change the starters, so I wanted to know if there's a possibility to expanded the number of pokemon that A-Starter can see, and if it's possible how ?
If someone have another idea to edit the starters with the new pokemon, can he explain me how ?

Thanks in advance!

NewDenverCity November 2nd, 2015 6:09 AM

Quote:

Originally Posted by Ayonn- (Post 8983547)
Hi everybody, I'm actually working on a Fire red rom based hack, and I expanded the number of pokemon available in the game, but....I want to change the starters, so I wanted to know if there's a possibility to expanded the number of pokemon that A-Starter can see, and if it's possible how ?
If someone have another idea to edit the starters with the new pokemon, can he explain me how ?

Thanks in advance!

Don't use A-Starter, XSE is infinitely better. So anyway, if you're using the Oak's lab scripts, just double click on one of the Pokéballs(or go to the address 0x169BAB) and XSE will show you the script. The guy above got it wrong btw, here's what the actual format looks like.
Code:

'---------------
#org 0x169BAB
lock
faceplayer
setvar 0x4001 0x0
setvar 0x4002 0x(pokemon id of the pokemon on the left)
setvar 0x4003 0x(pokemon id of the pokeball in the middle)
setvar 0x4004 0x(pokemon id of the pokeball all the way on the right)


The variable that ACTUALLY handles the last person event you interacted with is x800F. You should repoint the text that's below that in the script if you want Oak to say the species name properly.

Ayonn- November 2nd, 2015 8:04 AM

Quote:

Originally Posted by NewDenverCity (Post 8983554)
Don't use A-Starter, XSE is infinitely better. So anyway, if you're using the Oak's lab scripts, just double click on one of the Pokéballs(or go to the address 0x169BAB) and XSE will show you the script. The guy above got it wrong btw, here's what the actual format looks like.
Code:

'---------------
#org 0x169BAB
lock
faceplayer
setvar 0x4001 0x0
setvar 0x4002 0x(pokemon id of the pokemon on the left)
setvar 0x4003 0x(pokemon id of the pokeball in the middle)
setvar 0x4004 0x(pokemon id of the pokeball all the way on the right)


The variable that ACTUALLY handles the last person event you interacted with is x800F. You should repoint the text that's below that in the script if you want Oak to say the species name properly.


Thank you very much! It will help me a lot!

Vendily November 2nd, 2015 9:10 AM

Quote:

Originally Posted by NewDenverCity (Post 8983554)
Don't use A-Starter, XSE is infinitely better. So anyway, if you're using the Oak's lab scripts, just double click on one of the Pokéballs(or go to the address 0x169BAB) and XSE will show you the script. The guy above got it wrong btw, here's what the actual format looks like.
Code:

'---------------
#org 0x169BAB
lock
faceplayer
setvar 0x4001 0x0
setvar 0x4002 0x(pokemon id of the pokemon on the left)
setvar 0x4003 0x(pokemon id of the pokeball in the middle)
setvar 0x4004 0x(pokemon id of the pokeball all the way on the right)


The variable that ACTUALLY handles the last person event you interacted with is x800F. You should repoint the text that's below that in the script if you want Oak to say the species name properly.

Denver, I don't remember the 0x4004 var is for off the top of my head, but I know for a fact that the 0x4002 var is your pokemon index and the 0x4003 is for the index that is strong against it. The three pokeballs share the same script, the only difference being the start, which declares which pokemon shows up in the box and what pokemon the game says you and your rival receive.
Ayonn, you can try this but it's not going to work, it will show and give the wrong pokemon. But don't take my word for it.
Thank you,
Vendily

EDIT: I remember what 0x4004 is. It's the person event id of the pokeball the rival takes.

azurile13 November 2nd, 2015 10:28 AM

Quote:

Originally Posted by NewDenverCity (Post 8983554)
Don't use A-Starter, XSE is infinitely better. So anyway, if you're using the Oak's lab scripts, just double click on one of the Pokéballs(or go to the address 0x169BAB) and XSE will show you the script. The guy above got it wrong btw, here's what the actual format looks like.
Code:

'---------------
#org 0x169BAB
lock
faceplayer
setvar 0x4001 0x0
setvar 0x4002 0x(pokemon id of the pokemon on the left)
setvar 0x4003 0x(pokemon id of the pokeball in the middle)
setvar 0x4004 0x(pokemon id of the pokeball all the way on the right)


The variable that ACTUALLY handles the last person event you interacted with is x800F. You should repoint the text that's below that in the script if you want Oak to say the species name properly.

Let's see. Pokeball on the left:
Code:

#org 0x8169BAB
'-----------------------------------
lock
faceplayer
setvar 0x4001 0x0
setvar 0x4002 0x1
setvar 0x4003 0x4
setvar 0x4004 0x7


Bulbasaur, Charmander, Squirtle. Sure.

Middle:
Code:

#org 0x8169D78
'-----------------------------------
lock
faceplayer
setvar 0x4001 0x1
setvar 0x4002 0x7
setvar 0x4003 0x1
setvar 0x4004 0x5


Hmm. I guess the starters if you choose the middle ball are Squirtle, Bulbasaur, and Charmeleon?

Ball on the right:
Code:

#org 0x8169DAE
'-----------------------------------
lock
faceplayer
setvar 0x4001 0x2
setvar 0x4002 0x4
setvar 0x4003 0x7
setvar 0x4004 0x6


So the starters here are Charmander, Squirtle, and Charizard.

Please don't click on ONE script, assume you know what it is doing with absolutely no testing or further reading, then use it to "correct" someone.

Splash November 3rd, 2015 8:23 AM

What value would special 0x9f show if the selected pokemon was an egg?

Vendily November 3rd, 2015 8:56 AM

Quote:

Originally Posted by Splash (Post 8984617)
What value would special 0x9f show if the selected pokemon was an egg?

According to this thread (http://www.pokecommunity.com/showthread.php?t=184273), Special 0x9F returns the slot of the pokemon or egg. If it's like any of the other commands that return slot numbers, it's a zero indexed byte.
Code:

0x00  Slot 1
0x01  Slot 2
0x02  Slot 3
0x03  Slot 4
0x04  Slot 5
0x05  Slot 6
0x06  Player canceled



Splash November 3rd, 2015 9:20 AM

Quote:

Originally Posted by Vendily (Post 8984640)
According to this thread (http://www.pokecommunity.com/showthread.php?t=184273), Special 0x9F returns the slot of the pokemon or egg. If it's like any of the other commands that return slot numbers, it's a zero indexed byte.
Code:

0x00  Slot 1
0x01  Slot 2
0x02  Slot 3
0x03  Slot 4
0x04  Slot 5
0x05  Slot 6
0x06  Player canceled



I found out that it's 19C apparently..
Thanks for the reply though! I was wondering what variable would it return if the player cancelled and you answered it xD

Spherical Ice November 3rd, 2015 10:53 AM

Quote:

Originally Posted by Splash (Post 8984653)
I found out that it's 19C apparently..
Thanks for the reply though! I was wondering what variable would it return if the player cancelled and you answered it xD

I'm actually pretty sure that special will return whatever species of Egg it is. So, a Bulbasaur Egg would just return 1.

Splash November 3rd, 2015 11:08 AM

Quote:

Originally Posted by Spherical Ice (Post 8984731)
I'm actually pretty sure that special will return whatever species of Egg it is. So, a Bulbasaur Egg would just return 1.

Then I wonder what method could be used to distinguish an egg from a Pokémon?

Spherical Ice November 3rd, 2015 11:10 AM

Quote:

Originally Posted by Splash (Post 8984756)
Then I wonder what method could be used to distinguish an egg from a Pokémon?

I'm not sure if there's a special in vanilla for it, but it would be a simple check of this bit:

http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_data_substructures_in_Generation_III#IVs.2C_Egg.2C_and_Ability

Vendily November 3rd, 2015 12:11 PM

Quote:

Originally Posted by Spherical Ice (Post 8984731)
I'm actually pretty sure that special will return whatever species of Egg it is. So, a Bulbasaur Egg would just return 1.

Quote:

Originally Posted by Splash (Post 8984756)
Then I wonder what method could be used to distinguish an egg from a Pokémon?

There is a special, 0x147, that returns the index number of the pokemon in the slot returned in var 0x8004.
http://bulbapedia.bulbagarden.net/wiki/List_of_Pok%C3%A9mon_by_index_number_(Generation_III)
That lists 0x19C as pokemon egg.
So we could use special 0x9f, check that it isn't 0x06, then use special 0x147 to see if it's an egg.

Fixed messy post.

BluRose November 3rd, 2015 3:38 PM

Hello all,

I'm trying to expand the amount of moves in Pokémon FireRed v1.0 to above 511 using the tutorial that Jambo51 did in the "R&D" Section a while ago. Just a quick question about the ASM Routines that he posted, however:
When Jambo says "moveset" table, is he referring to the table used to decide where Pokémon Learnsets are (I believe at 0x25d7b4 in vanilla)? If not, then what is he referring to...?

Vendily November 3rd, 2015 5:30 PM

Quote:

Originally Posted by BluRose (Post 8984967)
Hello all,

I'm trying to expand the amount of moves in Pokémon FireRed v1.0 to above 511 using the tutorial that Jambo51 did in the "R&D" Section a while ago. Just a quick question about the ASM Routines that he posted, however:
When Jambo says "moveset" table, is he referring to the table used to decide where Pokémon Learnsets are (I believe at 0x25d7b4 in vanilla)? If not, then what is he referring to...?

Judging from what he says at the end:
Quote:

Originally Posted by Jambo51
The new movesets are collections of 3 bytes each which are set up thus:
[MOVE - Half-Word - Reverse Hex] [Level - Byte]
So if I wanted my Pokémon's moveset to contain Pound at level 52, it would be:
01 00 34
To end the moveset, you put:
00 00 FF

It appears he's referring to the level up moves since he mentions both a move and a level for a pokemon.
And yes, the learned moves table is at 0x25d7b4 in vanilla Firered.

iiCyle November 5th, 2015 3:09 AM

Is it possible to have more than three regions? (eg. firered has three regions) I want to add more regions if possible, on emerald. Thanks

BluRose November 5th, 2015 10:30 AM

Quote:

Originally Posted by iiCyle (Post 8986302)
Is it possible to have more than three regions? (eg. firered has three regions) I want to add more regions if possible, on emerald. Thanks

It is entirely possible to have more than 3 regions. However, the problem then becomes designing a level curve system that fits in with the regions and doesn't require too much grinding, or, rather, if it does, then you would want to have a way that makes grinding "fun."

EDIT: And that's just one of the problems you'll encounter...
I believe Pokémon Glazed does the whole "3 regions" thing very well~

robinjea November 5th, 2015 8:09 PM

Does anyone have a working copy of Fire Red Decap.ips? Can I have one, please? :3

Cataclyptic November 5th, 2015 8:49 PM

I'm trying to put new map connections in Emerald. They work, but then I get this weird thing:

http://i1285.photobucket.com/albums/a592/Cataclyptic/Emerald%20map%20q2_zpsmnskvwm7.png Which turns into http://i1285.photobucket.com/albums/a592/Cataclyptic/Emerald%20map%20q1_zpscjdizrkj.png when I enter a new area. This seems to only affect buildings and script-like structures. It reverts back to normal if you walk away from it enough though.

What is this, will this affect gameplay (so far it doesn't) and how do I get rid of it? For reference, I am putting Faraway Island directly to the top left of RT 119. Both connections are secure excepting this.

iiCyle November 5th, 2015 11:21 PM

Quote:

Originally Posted by BluRose (Post 8986574)
It is entirely possible to have more than 3 regions. However, the problem then becomes designing a level curve system that fits in with the regions and doesn't require too much grinding, or, rather, if it does, then you would want to have a way that makes grinding "fun."

EDIT: And that's just one of the problems you'll encounter...
I believe Pokémon Glazed does the whole "3 regions" thing very well~

Really? that's good to hear. Is there any tut here on how to add regions? As crazy as it is, i'm planning on 7 regions. It's really big and I've already thought how to add more "fun" to the grinding. Is there any Tut on how to add another region? so far as i've searched, the tuts only show how to create a new map.

chrunch November 6th, 2015 2:36 AM

Quote:

Originally Posted by iiCyle (Post 8987254)
Really? that's good to hear. Is there any tut here on how to add regions? As crazy as it is, i'm planning on 7 regions. It's really big and I've already thought how to add more "fun" to the grinding. Is there any Tut on how to add another region? so far as i've searched, the tuts only show how to create a new map.

Regions are just composed of maps linked together... There's nothing to it except creating more maps, at a basic level at least. There are however a multitude of problems you won't be able to surmount without advanced ASM knowledge, such as:
1) Limited map names, you'd have to name most of your maps something generic like "Kanto Route" since I think you can have less than like 100 unique names
2) Town map fits 4 regions max
3) limited flying spots
4) it's not just adding "fun" to the grind, you'll literally run out of levels for the player's pokemon to grow unless you dramatically slow growth rates which comes with other problems
5) Probably a bunch of other stuff I'm overlooking

Not to mention it's a massive amount of work, If I were you I'd tone down my ambition and try to make a single region hack first to get a feel for how hard it is.

Spherical Ice November 6th, 2015 4:20 AM

Quote:

Originally Posted by Cataclyptic (Post 8987153)
I'm trying to put new map connections in Emerald. They work, but then I get this weird thing:

http://i1285.photobucket.com/albums/a592/Cataclyptic/Emerald%20map%20q2_zpsmnskvwm7.png Which turns into http://i1285.photobucket.com/albums/a592/Cataclyptic/Emerald%20map%20q1_zpscjdizrkj.png when I enter a new area. This seems to only affect buildings and script-like structures. It reverts back to normal if you walk away from it enough though.

What is this, will this affect gameplay (so far it doesn't) and how do I get rid of it? For reference, I am putting Faraway Island directly to the top left of RT 119. Both connections are secure excepting this.

This is a problem where the two maps do not share the same Tileset 2. You can avoid this by giving the game enough time to load the new tileset when entering a different map by making it have a border of around six tiles where only Tileset 1 tiles are used (i.e. move that bush), or make the maps share the same Tileset 2. You could also add gatehouses, but they're lame.

iiCyle November 6th, 2015 6:39 AM

Quote:

Originally Posted by chrunch (Post 8987331)
Regions are just composed of maps linked together... There's nothing to it except creating more maps, at a basic level at least. There are however a multitude of problems you won't be able to surmount without advanced ASM knowledge, such as:
1) Limited map names, you'd have to name most of your maps something generic like "Kanto Route" since I think you can have less than like 100 unique names
2) Town map fits 4 regions max
3) limited flying spots
4) it's not just adding "fun" to the grind, you'll literally run out of levels for the player's pokemon to grow unless you dramatically slow growth rates which comes with other problems
5) Probably a bunch of other stuff I'm overlooking

Not to mention it's a massive amount of work, If I were you I'd tone down my ambition and try to make a single region hack first to get a feel for how hard it is.

Thanks. I'll try following your opinion, trying to test lots of things here and there. But, I will not back down on creating a huge hack. Since i got stuffed up ideas on this, i think it's a waste not to pursue it.

I know how massive amount of work it is. I tried starting and yeah, this thing is pretty difficult. I'm just asking if it is actually possible through advanced skills. Seeing your statement, I think I've got the answers I need. I got all the backup I need just being here and I'll make myself a way if there isn't anymore. I don't plan to spend my whole time hacking rather it'll just be on my free time. It'll take more than a year doing it alone, since no one's interested to work with me and i don't mind it. Anyways, thanks for tending to my question sir. Good Day/Night.

Cataclyptic November 6th, 2015 11:10 AM

Quote:

Originally Posted by Spherical Ice (Post 8987360)
This is a problem where the two maps do not share the same Tileset 2. You can avoid this by giving the game enough time to load the new tileset when entering a different map by making it have a border of around six tiles where only Tileset 1 tiles are used (i.e. move that bush), or make the maps share the same Tileset 2. You could also add gatehouses, but they're lame.

I see now. Thank you, I can fix that.

BluRose November 6th, 2015 4:38 PM

In the move effect pointer table (located at 0x1D65A8 in vanilla FR v1.0), are most of the pointers to 0x1D6900 "replaceable?'
I noticed, however, that a few of them were still used, for example, the 17th effect (not counting 0 as a pointer) leads to 0x1D6900 but is used by Swift, along with the High Critical hit (43rd effect) being used by Slash and Leaf Blade. I know that these effects work, too, as I've played the game myself...
Or, should I just leave them alone and not touch the pointers that are located in the crowd, instead just using the pointers after expansion (the 214th effect through the 255th effect)?

azurile13 November 6th, 2015 4:56 PM

Quote:

Originally Posted by BluRose (Post 8987834)
In the move effect pointer table (located at 0x1D65A8 in vanilla FR v1.0), are most of the pointers to 0x1D6900 "replaceable?'
I noticed, however, that a few of them were still used, for example, the 17th effect (not counting 0 as a pointer) leads to 0x1D6900 but is used by Swift, along with the High Critical hit (43rd effect) being used by Slash and Leaf Blade. I know that these effects work, too, as I've played the game myself...
Or, should I just leave them alone and not touch the pointers that are located in the crowd, instead just using the pointers after expansion (the 214th effect through the 255th effect)?

You should not do either of those. You should use literal move indices to branch off of similar existing effects so that the AI can at least half competently use the attacks with "new" effects. Look at the battlescripts in the move resources thread to see how it is typically done.

BluRose November 6th, 2015 5:55 PM

Quote:

Originally Posted by azurile13 (Post 8987855)
You should not do either of those. You should use literal move indices to branch off of similar existing effects so that the AI can at least half competently use the attacks with "new" effects. Look at the battlescripts in the move resources thread to see how it is typically done.

I sort of get what you're telling me to do here (basically use similar move effects so that the AI knows what to do with it), but I guess I'm not getting the "how" part.
Like, would the Pointer in the table be leading to a Battle Script which called the ASM Routine containing the large majority of the effect, then have a goto over to the similar battle script like the 2 examples that I've seen in the Move Resource Thread (Spherical Ice's Brine and Assurance)?
Sorry for my inability to grasp what you're saying at the level that you're saying it...

EDIT: OOHHHHHH, so you mean that we should edit the existing similar effects and have it branch off if the move has such and such numbered index? That makes a lot more sense...
Thanks much!

Auros November 7th, 2015 6:00 AM

I've changed the grass tile on Emerald but the animation is still the previous one. Does anyone know how to change it?
(I'd have to change also the pc animation and nurse animation in PkmnCenter)

beta158 November 7th, 2015 1:45 PM

I'm interested in Pokemon hacking but how do I replace Pokemon in the Pokedex. Le'ts say there are some legendary Pokemon that don't want in my rom hack. Is there any way. I apologize if this question was already asked.

BluRose November 7th, 2015 6:38 PM

Quote:

Originally Posted by beta158 (Post 8988754)
I'm interested in Pokemon hacking but how do I replace Pokemon in the Pokedex. Le'ts say there are some legendary Pokemon that don't want in my rom hack. Is there any way. I apologize if this question was already asked.

As in eliminate the Pokémon entirely so that its data doesn't exist at all or just get it out of the PokéDex?
For eliminating the Pokémon, you can just replace it (or, if you so please, literally eliminate it by turning it into freespace) using a tool for editing Pokémon data (G3HS, G3T, PGE, etc.).
For eliminating its Dex Entry so as to make it an entry inaccessible by the game, this should be doable using PGE's PokéDex Editor and changing the number to anything higher than 386. This is mostly undesirable, however, because this requires redoing almost every single entry in order to have it be assigned to the correct Pokémon (or you can just leave a space, but that is aesthetically displeasing and would confuse many people).
Also, keep in mind that you choose the Pokémon that appear in your game, meaning that you can just exclude it from gameplay entirely.

Now, for my own (and hopefully last for a while) question:

Thanks for answering my last question, by the way, azurile13!

beta158 November 7th, 2015 7:49 PM

[QUOTE=BluRose;8989019]As in eliminate the Pokémon entirely so that its data doesn't exist at all or just get it out of the PokéDex?
For eliminating the Pokémon, you can just replace it (or, if you so please, literally eliminate it by turning it into freespace) using a tool for editing Pokémon data (G3HS, G3T, PGE, etc.).
For eliminating its Dex Entry so as to make it an entry inaccessible by the game, this should be doable using PGE's PokéDex Editor and changing the number to anything higher than 386. This is mostly undesirable, however, because this requires redoing almost every single entry in order to have it be assigned to the correct Pokémon (or you can just leave a space, but that is aesthetically displeasing and would confuse many people).
Also, keep in mind that you choose the Pokémon that appear in your game, meaning that you can just exclude it from gameplay entirely.


Thanks mate.

Genoxide November 8th, 2015 4:49 AM

1 Attachment(s)
Hi guys I'm new to the hacking community so pardon me for not knowing how to go about doing things.

I want to use Mr Dollsteak's rombase to help me with my hacking. I patched it with a clean fire red rom 1.0 and i want to expand and edit pokemon moves and sprites and types. So open it with G3HS but there is an error. Well i know that there's the instructions on how to go about doing that but i just cant understand. The error is in the attachment. Thanks!

Splash November 8th, 2015 11:51 AM

Does anyone know how to disable the bonus exp you get from the trainer battles?

PokemonBen November 8th, 2015 1:07 PM

Hello,

Does anyone have a link on adding in more Pokemon into Advanced Map and Advanced Starter? Or a link to a program where I can add Wild Pokemon into grass from later generations.

Oloolooloo! November 8th, 2015 3:27 PM

Trainer battle questions:

1. How can you make a battle where if you lose, you don't go to the pokemon center? IE gary's battle in Firered's opening.
2. How can you insert a multi-battle as part of a script? I found this thread but the scripting portion is vague and confusing.
3. Can you create multiple multi-battles? Would it require ASM?
4. Can you create a double battle and/or multi battle where you don't go to the pokemon center on loss?

Splash November 9th, 2015 11:17 AM

How can I get the value in stored in a variable to a giveitem script?
like if i have setvar 0x8000 0x1
giveitem [8000 var] 0x1 0x0

any ideas?

InfamousX November 9th, 2015 8:57 PM

Quote:

Originally Posted by Oloolooloo! (Post 8989958)
Trainer battle questions:

1. How can you make a battle where if you lose, you don't go to the pokemon center? IE gary's battle in Firered's opening.
2. How can you insert a multi-battle as part of a script? I found this thread but the scripting portion is vague and confusing.
3. Can you create multiple multi-battles? Would it require ASM?
4. Can you create a double battle and/or multi battle where you don't go to the pokemon center on loss?

1. I don't know, I plan on implementing this in my hack that I'm working on. I would suggest downloading pokemon dark rising 1, it has an event where the player has to lose to a LV 50 tornadus. Study it's script and you can get your answer there.

2. I don't know, it looks like multi-battle can only be done on emerald for the time being.

4. Same answer as #1

Good Luck.

Vendily November 10th, 2015 5:53 AM

Quote:

Originally Posted by Oloolooloo! (Post 8989958)
Trainer battle questions:

1. How can you make a battle where if you lose, you don't go to the pokemon center? IE gary's battle in Firered's opening.
2. How can you insert a multi-battle as part of a script? I found this thread but the scripting portion is vague and confusing.
3. Can you create multiple multi-battles? Would it require ASM?
4. Can you create a double battle and/or multi battle where you don't go to the pokemon center on loss?

I don't know about your other questions but for your first, you can use trainer battle 0x9. That's what the gary battle uses. You'll probably want to remove oak's tutorial, there are instructions here:
http://www.pokecommunity.com/showpost.php?p=8182332&postcount=461

DraconianWing November 11th, 2015 9:09 PM

I should have asked this a while ago with my previous question, but it didn't come to mind until now.

When using the limbo slots (the ?????? spaces in the rom) to add new items into Emerald, will the "Number of items" value have to be changed in the .ini files? Or are they included within that number?

chrunch November 11th, 2015 9:25 PM

Quote:

Originally Posted by DraconianWing (Post 8993846)
I should have asked this a while ago with my previous question, but it didn't come to mind until now.

When using the limbo slots (the ?????? spaces in the rom) to add new items into Emerald, will the "Number of items" value have to be changed in the .ini files? Or are they included within that number?

They are included.

Auros November 13th, 2015 2:02 PM

Hi, I'd need some kind of multichoice script to let the player choose his starter Pokèmon. Is there a way to do it with a common script or do I need ASM? Could you help me in any case?
(I'm using Emerald 650 Rom Base)

C me November 16th, 2015 6:07 AM

Hi, I have an issue where after beating the elite four the player isn't warped to where I sethealing place in the champion room level script. It goes to the default players bedroom.

Is there another place the sethealingplace is made or is it built into the credits special?

Ayonn- November 17th, 2015 3:42 AM

Hey everybody! I figured out that there is some poeple that added a new feature in their hacks : Receive exp when catching a pokemon.
And....I want to have the same thing on my hack, so....does someone have a link to patch or tutorial on how to do that please ? I can't find it...
Thank you in advance

Touched November 17th, 2015 4:12 AM

Quote:

Originally Posted by C me (Post 8998982)
Hi, I have an issue where after beating the elite four the player isn't warped to where I sethealing place in the champion room level script. It goes to the default players bedroom.

Is there another place the sethealingplace is made or is it built into the credits special?

If you're talking about FireRed, then it's built into the special. There is a table at 083EEBF0. The entry that the credits special uses is at 083EEBF8. It seems to be BYTE map bank, BYTE map, HWORD x, HWORD y.

C me November 17th, 2015 4:27 AM

Quote:

Originally Posted by Touched (Post 9000166)
If you're talking about FireRed, then it's built into the special. There is a table at 083EEBF0. The entry that the credits special uses is at 083EEBF8. It seems to be BYTE map bank, BYTE map, HWORD x, HWORD y.

Thanks, sorry but I forgot to mention it's for Emerald.

Touched November 17th, 2015 5:29 AM

Quote:

Originally Posted by C me (Post 9000177)
Thanks, sorry but I forgot to mention it's for Emerald.

Same thing but at 0859F534. 0859F53C and 0859F544 are for the players' houses.

Vendily November 17th, 2015 2:26 PM

Quote:

Originally Posted by Ayonn- (Post 9000147)
Hey everybody! I figured out that there is some poeple that added a new feature in their hacks : Receive exp when catching a pokemon.
And....I want to have the same thing on my hack, so....does someone have a link to patch or tutorial on how to do that please ? I can't find it...
Thank you in advance

Hi Ayonn! XP on capture is actually in our Quick Research and Development thread. HERE is for Firered and HERE is for Emerald.
Happy Hacking.

ImmortalDusk November 18th, 2015 9:28 PM

How can I change the number of starter pokemon or make the player start with pokemon already in the party (like colosseum)?

chrunch November 19th, 2015 2:42 AM

Quote:

Originally Posted by ImmortalDusk (Post 9002272)
How can I change the number of starter pokemon or make the player start with pokemon already in the party (like colosseum)?

Put a level script in the player's house which gives them a Pokemon and sets the flag for the Pokemon menu.

ImmortalDusk November 19th, 2015 2:45 AM

Quote:

Originally Posted by chrunch (Post 9002512)
Put a level script in the player's house which gives them a Pokemon and sets the flag for the Pokemon menu.

So I take it that will make it to where they spawn in with a pokemon already in their party?

Forgive my ignorance, I'm trying to learn as much as I can before I start so I can work on more than a little bit at a time.

chrunch November 19th, 2015 2:49 AM

Quote:

Originally Posted by ImmortalDusk (Post 9002514)
So I take it that will make it to where they spawn in with a pokemon already in their party?

Forgive my ignorance, I'm trying to learn as much as I can before I start so I can work on more than a little bit at a time.

Code:

#dynamic 0x800000
#org @start
setvar 0xDDDD 0x1
givepokemon 0xA 0xB 0xC 0x0 0x0 0x0
setflag 0x828
release
end


A = Pokemon ID in hex
B = Pokemon level in hex
C = Item ID in hex
D = free var

Fill in the letters then compile and put it in the player's room as a level script.

ImmortalDusk November 19th, 2015 8:44 AM

Quote:

Originally Posted by chrunch (Post 9002516)
Code:

#dynamic 0x800000
#org @start
setvar 0xDDDD 0x1
givepokemon 0xA 0xB 0xC 0x0 0x0 0x0
setflag 0x828
release
end


A = Pokemon ID in hex
B = Pokemon level in hex
C = Item ID in hex
D = free var

Fill in the letters then compile and put it in the player's room as a level script.

OK so with that would I be able to grant multiple Pokémon by using multiple of the give Pokémon command?

Telinc1 November 19th, 2015 10:33 AM

Would it be possible to create new behavior bytes that do stuff when you step on them, and not when you interact with them? Everything I've found is for interacting with the tile (e.g. headbutt trees).

ImmortalDusk November 19th, 2015 2:47 PM

What exactly is a Level Script?

PokemonValor November 19th, 2015 4:35 PM

It's a map script under the header tab

Telinc1 November 20th, 2015 1:08 AM

Quote:

Originally Posted by ImmortalDusk (Post 9003111)
What exactly is a Level Script?

To explain it better. It's a script which gets executed when the player enters a map. The different types of level scripts basically determine when they're going to be executed (e.g. The game will crash if you do anything event related in a script which isn't type 2 or 4.). There's tutorials here on how to make level scripts.

destinedjagold November 20th, 2015 1:31 AM

Question: Is there a level script that activates after each wild battle?

Telinc1 November 20th, 2015 5:21 AM

Quote:

Originally Posted by destinedjagold (Post 9003543)
Question: Is there a level script that activates after each wild battle?

Level scripts activate when the map gets loaded, that is to say, every level script should run after a battle. Check the Snorlaxes in the original game, the overworld gets hidden by level scripts.

Samug November 20th, 2015 5:44 AM

Is it known where the values for the default options are? As in, would it be possible to change the default text speed to Fast instead of Medium for a new game?

Cybernova November 20th, 2015 8:53 AM

I have a problem with scripting thru A-Map 1.92. After I compile my script, I place it on a spot in the map, where the player is supposed to walk over, to trigger an event. When I step on this spot while testing, the game freezes. This happens every single time. Why does this happen, or what am I doing wrong?

esperance November 20th, 2015 9:05 AM

Quote:

Originally Posted by TARDISam (Post 9003672)
Is it known where the values for the default options are? As in, would it be possible to change the default text speed to Fast instead of Medium for a new game?

You'll need to do a bit of hex editing, but it shouldn't be too hard:
http://www.pokecommunity.com/showpost.php?p=8615361&postcount=646

ImmortalDusk November 20th, 2015 11:14 AM

Quote:

Originally Posted by Telinc1 (Post 9003528)
To explain it better. It's a script which gets executed when the player enters a map. The different types of level scripts basically determine when they're going to be executed (e.g. The game will crash if you do anything event related in a script which isn't type 2 or 4.). There's tutorials here on how to make level scripts.

Thank you

Samug November 20th, 2015 11:23 AM

Quote:

Originally Posted by Hopeless Masquerade (Post 9003791)
You'll need to do a bit of hex editing, but it shouldn't be too hard:
http://www.pokecommunity.com/showpost.php?p=8615361&postcount=646

Ah, cheers, that's perfect - I just couldn't for the life of me get google to find me those hex pointers.

Auros November 20th, 2015 1:46 PM

Quote:

Originally Posted by Cybernova (Post 9003782)
I have a problem with scripting thru A-Map 1.92. After I compile my script, I place it on a spot in the map, where the player is supposed to walk over, to trigger an event. When I step on this spot while testing, the game freezes. This happens every single time. Why does this happen, or what am I doing wrong?

On Advance Map you should give the script a "variable number" (range from 4011 to 40FF, in our example 4011) and a "variable number" (0 in our example).
The script will run only when the value of variable 4011 is 0. If you want the script to run just once, you should put in it a "setvar 0x4011 0xY", (where Y is a value different from 0).



I'm looking for Gold sprites but I can't find what I want, could you upload them for me please? I need especially his backsprites (the one who throws the Pokèball too)

Vendily November 20th, 2015 2:18 PM

Quote:

Originally Posted by Auros (Post 9003972)
Hi, I'm looking for Gold sprites but I can't find what I want, could you upload them for me please? I need especially his backsprites (the one who throws the Pokèball too)

If by that you meant sprites of Gold, the male PC in G/S/C, then I think this is what you're looking for.

Teh Blazer November 20th, 2015 2:23 PM

What are the offsets for the fire red intro sprites? Not the unlz numbers, but the actual offset where they're stored in the ROM. I don't need the pallets, although they're appreciated, I just can't for the life of me find where the sprites are stored in the ROM.

Auros November 20th, 2015 2:28 PM

Quote:

Originally Posted by Vendily (Post 9003996)
If by that you meant sprites of Gold, the male PC in G/S/C, then I think this is what you're looking for.

Yeah I meant him but I forgot to specify that I need his sprites for GBA!

Vendily November 20th, 2015 2:47 PM

1 Attachment(s)
Quote:

Originally Posted by Auros (Post 9004013)
Yeah I meant him but I forgot to specify that I need his sprites for GBA!

Apologies for the earlier confusion. To make up for it, I cleaned up some backsprites I made from Heartgold's Gold and here it is, with palette.
Sorry again.

Hope these work for you.

Auros November 20th, 2015 3:09 PM

Quote:

Originally Posted by Vendily (Post 9004041)
Apologies for the earlier confusion. To make up for it, I cleaned up some backsprites I made from Heartgold's Gold and here it is, with palette.
Sorry again.

Hope these work for you.

Woah, thank you very much! ^^

Uncommon November 20th, 2015 6:27 PM

Quote:

Originally Posted by Teh Blazer (Post 9004006)
What are the offsets for the fire red intro sprites? Not the unlz numbers, but the actual offset where they're stored in the ROM. I don't need the pallets, although they're appreciated, I just can't for the life of me find where the sprites are stored in the ROM.

Should be:
Male player - 0x46163C
Female player - 0x460F14
Professor - 0x461D14
Rival - 0x4623EC

Samug November 22nd, 2015 8:10 AM

Is anyone aware of some sort of patch or rombase released which ports all the Emerald music for FireRed? It's a damn shame that FireRed doesn't include all the R/S tracks in the same way that Emerald includes all the FR/LG tracks.

esperance November 22nd, 2015 7:23 PM

Quote:

Originally Posted by TARDISam (Post 9006192)
Is anyone aware of some sort of patch or rombase released which ports all the Emerald music for FireRed? It's a damn shame that FireRed doesn't include all the R/S tracks in the same way that Emerald includes all the FR/LG tracks.

I am not aware of such a patch. If you want to hack a game that has all the RSE music you're better off hacking those games -- it would probably be more work than you're looking for to port them all yourself. Copying a few RSE songs to FireRed wouldn't be too bad, but it wouldn't make sense to port every single song.

Ayonn- November 23rd, 2015 3:01 AM

Quote:

Originally Posted by Vendily (Post 9000696)
Hi Ayonn! XP on capture is actually in our Quick Research and Development thread. HERE is for Firered and HERE is for Emerald.
Happy Hacking.



Okay thank you for the link! :D

sdw7sm November 23rd, 2015 3:20 PM

Is it possible to change Attract so it isn't gender-dependent?

To clarify, is it possible to inflict Attract/infatuation status without using the command listed in BSP as "tryinfatuatetarget", or can said command be modified to not check gender?

soyeahimbored November 23rd, 2015 5:21 PM

Hey guys, just getting started in this adventure of hacking but I am having problems saving my XSE script in Advanced maps. So far i have been able to change text and what have you quite easily. However, my problem comes when trying to save the starter pokemon description. Everytime I compile and save it, when I reopen the script it is like before I had previously compiled it.

Help?

ps- I can't for the life of me see where the new offset is meant to appear after hitting compile. Nothing highlights blue or anything like that. There is nothing under my "clear, close" buttons.

NewDenverCity November 23rd, 2015 6:59 PM

The following battle script has a pretty large bug in it. When I use it, it looks like it almost ignores damage calculations and does a lot of damage, and even makes the opponent look like it has 0 HP but it's still standing. The actual HP of the enemy is clearly larger that 0 though, which you can prove by resetting the screen by looking at your Pokémon or your bag and then back again.
Code:

#include moves.bsh
#dynamic 0x800000
#org @start
jumpifhalfword B_!= 0x2023D4A MOVE_TRANSFORM 0x81D6A60
setbyte 0x2023E85 0x1
attackcanceler
accuracycheck 0x81D695E 0x0
attackstring
ppreduce
calculatedamage
attackanimation
waitanimation
missmessage
cmd5c BANK_TARGET
waitstate
datahpupdate BANK_TARGET
graphicalhpupdate BANK_TARGET
critmessage
waitmessage DELAY_1SECOND
resultmessage
waitmessage DELAY_1SECOND
seteffectwithchancetarget
faintpokemon BANK_TARGET 0x0 0x8000000
callasm 0x(AAAAAA)
jumpifbyte 0x1 0x3005541 0x1 @animation
setbyte 0x02023FD8 0x0
cmd49 0x0 0x0
end
#org @animation
setbyte 0x3005541 0x1
playanimation 0x1 0x1D 0x0
setbyte 0x02023FD8 0x0
cmd49 0x0 0x0
end



NewDenverCity November 24th, 2015 5:30 AM

Sorry for the double post, but I figured if I was to get some help, I should give some as well.
Quote:

Originally Posted by soyeahimbored (Post 9007910)
Hey guys, just getting started in this adventure of hacking but I am having problems saving my XSE script in Advanced maps. So far i have been able to change text and what have you quite easily. However, my problem comes when trying to save the starter pokemon description. Everytime I compile and save it, when I reopen the script it is like before I had previously compiled it.

Help?

ps- I can't for the life of me see where the new offset is meant to appear after hitting compile. Nothing highlights blue or anything like that. There is nothing under my "clear, close" buttons.

The 'ps' is the easiest to fix. There's a notepad marker thingy to the left of the word 'Offset', click that and you'll see where your script is compiling. It's called "Show Log".
Did you change the pointer for the starter descriptions? What I would do would be to write a line of text in XSE with just something like this;
Code:

#dynamic 0x800000

#org @start
= Text goes here.

#org @next
= This might be the second pokemon description


This combined with the Show Log will make your new descriptions, but not change the ones in the actual script. In order to do that, go into the script in XSE and find the offsets that the text is at and make a pointer of it. Find all instances of that pointer with a hex editor, and replace them with your own pointers to the descriptions you made.
How to make a pointer; offset is XXYYZZ. To make a pointer to that offset, switch XX and ZZ, then add 08 to the end. It'll look like this; ZZ YY XX 08. If your script was at 0x819273, the pointer to it would be 73 92 81 08.

GiovanniViridian November 25th, 2015 1:46 AM

Just curious, I know that Gen 3 hacking is suitable and the best for beginners, but does learning to hack Gen 1 helps Gen 3 hacking in the long run, or are they two completely different things?

FrozenInfernoZX November 25th, 2015 11:30 AM

It's been a long time I last scripted lol. I even forgot the simple things. How do I use the #clean command in XSE again? Haha.

Andrewjessica November 25th, 2015 11:46 AM

I am making my own hack. Need as much help as possible. I am wondering how do i replace the old pokemon sprites with newer ones. Tutorials dont help as the pictures do not show.

themegamankingdom November 25th, 2015 2:26 PM

Does anyone know why there are 12 person events in Brendan and May's rooms with picture ID's 240-251 (and why they aren't visible)? I want to know if they have any special purpose and if it's fine to remove them.

Tokenslot November 25th, 2015 4:22 PM

How do I edit the amount of wild Pokemon in a single map and edit their encounter rate so that one pokemon doesn't have less encounter rate than others? Thanks in advance :)


All times are GMT -8. The time now is 2:33 AM.


Like our Facebook Page Follow us on Twitter © 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.