• 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?".
  • 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.

Superjub

Pokémon Aureolin
2,288
Posts
16
Years
I'm torn between ROM hacking Ruby or Sapphire. :\ Ruby has contents and stuff, but FireRed has the possibility to add 2 regions... help? XD
 

Superjub

Pokémon Aureolin
2,288
Posts
16
Years
63
Posts
13
Years
  • Seen Dec 6, 2023
Okay, don't know how simple it is, but i guess you can help me
I'm editing Emerald GYM Leaders, but i've run within a problem. All Norman's actions are together in the same event, which is giving me some trouble.
I want to change the GYM Leader, but still want to keep his actions before it (like, helping Wally to catch his poké, etc. - In other words, I plan to change his sprite only after the player really gets the 4 badges.
What is the easier way to split the script in 2 events, and how can that be done, without messing with the rest of rom?
 
29
Posts
13
Years
  • Seen Mar 14, 2011
I made a new Grass tile, how do I edit the animation when you walk on it? Thanks in advance :)
 
29
Posts
13
Years
  • Seen Mar 14, 2011
Tilemolester... that's like hacked unLZ by Hackmew, right?

Answer to your question: 16x16
 
3
Posts
14
Years
  • Seen Oct 31, 2010
Alright, so I'm new at this.

Does anyone have a text dump of Ruby, Sapphire, or Emerald? I'll take any.

Hopefully I can use it to finally create the legendary Ruby.ini, Sapphire.ini, and Emerald.ini...

Or I could text dump it myself if I had directions. Haha...
 
63
Posts
13
Years
  • Seen Dec 6, 2023
Okay, don't know how simple it is, but i guess you can help me
I'm editing Emerald GYM Leaders, but i've run within a problem. All Norman's actions are together in the same event, which is giving me some trouble.
I want to change the GYM Leader, but still want to keep his actions before it (like, helping Wally to catch his poké, etc.) - In other words, I plan to change his sprite only after the player really gets the 4 badges.
What is the easier way to split the script in 2 events, and how can that be done, without messing with the rest of rom?

bumping this to next page, in the hopes someone can give me some tips
 

howieho

Beginner Rom Hacker
22
Posts
15
Years
unLZgba (hackmews tool factory) an Nameless Sprite Editor are your friends... (Edits graphics too!)

1. Well that tells me what to use but I still don't know how to actually go about changing the attack animation. How exactly do I do that?


2. Secondly, I have a new problem when unLZ-GBA opens Pokemon Fire Red. Usually the first image is an incomprehendable image of orange and blue things, but when I open my altered game, the first few images are pictures the first few pokemon. Other images are out of place too. How can I fix this or how do I deal with this error?
 

colcolstyles

Yours truly
1,588
Posts
15
Years
Can somebody give me link of tutorial on PC for edit pokemon fire red hero on trainer card I was looking yesterday today cant find :S please
I believe that you can use unLZ to edit the trainer sprite. If I'm not mistaken, the same sprite is used for both the trainer card and link battles. In an unmodified ROM, the number for the male hero is 1634 and the female should directly follow it.


I still don't get how to make a Lunar IPS Patch. Can someone show a picture guide on how to make a Lunar IPS Patch?
I can't give you a picture guide but frankly, you don't need one. Here's what you do:
1. Fire up Lunar IPS
2. Click the button labeled "Create IPS Patch"
3. Navigate to where you keep your clean, unmodified base ROM. If you're hacking Fire Red, this should be a clean Fire Red ROM; if you're hacking Ruby, it should be a clean Ruby ROM, etc.
4. Then navigate to your edited ROM. This is the ROM which you have made changes to with your various programs and is the ROM you would probably refer to as "your hack"
5. In the next window, type in the name you wish to give your IPS patch file. Something like "Pokémon YOUR_HACK_NAME Beta 1" or something is good.
6. Hit the Return key

And that's it!

Can you make notes in your XSE scripts without corrupting them. You know, like <!--->this in html</--!>
I think it was something with apostrophes ''...
First of all, the accepted term for text in a program/script that is not supposed to edited is "comments". Secondly, there are three different methods for designating text as a comment. You can use an apostrophe ('), a semicolon (;), or a pair of forward slashes (//). If you want to create a comment over multiple lines (called a block comment, if my memory serves me), you should use "/*" to open the comment and "*/" to close it (without the quotation marks, of course).


Is the sand at the bottom of the basic tileset in emerald an animation or can I change it just by inserting the tileset into A-Map with different tiles there?
If you're referring to tiles '0x1d0' through '0x1d9', then those would be animations. You'll have to edit the various frames in Tile Molester Alternate (or your preferred tile editing program).


which is offset for palete
The badges appear to use the grey shades in the palette located at '0x36d848'. Beware that that palette is also used for various NPCs as well.


How would I delete the level script then?
I believe that AdvanceMap allows you to delete level scripts. However, if you don't want to do that (and the level script in question is type 2 or 4), you could always change the conditions for the level script (the variable and the value that its contents are compared to) so that the script won't activate unless you, the hacker, purposefully set a variable to a specific value (for example, something like "Flag: '0x4050'" & "Value: '0x56C1'" will work just fine).


There is a variable to check which direction the player is facing, right? If so, what variable is it, and how to use it? (I mean: which value means what direction, or does it work another way?)
Variable 0x800C is defined as PLAYER_FACING by XSE but it doesn't always work. You should use the following code (credit to Darthatron) to prepare the variable before branching based on its value:

Code:
setvar PLAYERFACING 0x0
copybyte 0x020370D4 0x02036E58

0x800C is the variable, however XSE's built-in STD allows you to simply add PLAYER_FACING in your script instead. I believe the facing down is 0x0, facing up is 0x1, facing left is 0x2 and facing right is 0x3, however don't quote me on that.
Those values are wrong. And even if they were right, he should be using FACE_DOWN, FACE_UP, etc. for better readability anyway.


In ElectricYellow, I want to add 59 more Pokémon to the main Pokédex. How do I do so?
You can either overwrite some preexisting pokémon or you can go research how to expand the pokédex. There's a lot of demand for that feature so if you find anything, be sure to post it.


don't noe if this was already answered somewhere,
but,my running shoes cannot work..
its like only on the first town,i can use it,after it exit the first town to route 1,the running shoes did not work at all until the next town also cannot work
First, make sure that you're setting FR_RUNNINGSHOES, EM_RUNNINGSHOES, or RS_RUNNINGSHOES. A lot of the time, the problem arises because the hacker is simply setting the wrong flag. If it still isn't working, check the "Show name on entering" byte in the Header View of AdvanceMap. Use this thread to find a value which will allow for the use of running shoes.


I think they need to have had the flags for the Pokédex and Pokémon menu already set to work.
I don't remember hearing anything about that requirement.


Have you checked if the maps are set to 'inside'? if they do, the bytes act like they do in every indoor map.
I don't think that the "Type" byte is used when determining whether or not the player can run.


Has a routine or anything been created to increase the chances of encountering a shiny Pokemon randomly, rather than 1/8012 or whatever it is (please don't correct me without an answer to the question, I don't care what the actual number is.)

Shinyzer can create set encounters for Shiny Pokemon, however this isn't what I'm looking for. I just need a way to increase the chances or encountering a Shiny randomly.
From my understanding of how a pokémon's shininess is determined (which is very limited, mind you), a pokémon is shiny if a special calculation using the pokémon's Personality Value as well as the owner's Trainer ID and Secret ID returns true. What this means is that it's not like a random number is generated every time you encounter a new pokémon and a flag is set if it's shiny. In order to edit the odds of encountering a shiny pokémon, you would have to edit the routine which determines whether or not any pokémon is shiny. This could have adverse incompatibility effects where a normal pokémon traded over from another version may suddenly turn shiny (or vice versa).

In short, no. No routine has been created to do that.

Is there a command for XSE to delete a certain event? (A Script Event.) I have a 'step-on-tile' Script Event in my map, but after the event happened, I want it to be gone. Otherwise, everytime the player steps on the tile/script he stops shortly to do the script (checkflag > end etc.).
You shouldn't be using 'checkflag' in your script tiles. You should ditch the check-and-branch segment altogether and, instead, change the value of a variable at the end of your script. For example, if you know that the first time the player steps on the tile the value of some variable will be '0x1', you would update the variable with '0x2' in order to prevent the script from being triggered again. Of course, this is all under the assumption that you're not using the horribly outdated method of using '0x4050' for every single Script Tile's "Var number" field.


I can't tell you about scripts in general, but the script tiles are deactivated when you set a variable that is defined in their value to 0x1.

If you look at the original roms, each script tile has a variable (and its value is set to 0000) and an unknown number of 0300. So, if you add at a certain part of your script the command 'setvar 0x(your variable here) 0x1' after adding the variable to the tile, as well as the unknown number, then the script won't repeat itself.
Not quite. Please read this post to see how they really work.


I want to make a trainer run around a tree. Like this:

XXXX
XTTX
XTTX
XXXX

X = The path I want the trainer to run. T = The tree

What movement type should I give him? (Or do I have to make a script?)
Set the movement to "Run around counterclockwise" or "Run around clockwise" and set the Movement Type to '33'. There are multiple of each and the only difference is which direction the NPC will start moving in. For example, if you want the NPC to start in the bottom-left position and run counterclockwise, you would use the first one. You'll have to experiment with the other options to get the one you want. Also, be aware that even if you select, say, the third option, when you click on the menu again it will show up as though you clicked the first option. This is a bug with AdvanceMap but just know that if you selected the third option, it will use the third option (unless you open the menu again).



you have to make a script to start something..lol
you should check out diegoisawesome scripting tut on applymovement,its actually easy..xD
No, you don't. Please don't answer questions that you don't know the answer to.


In FireRed, the maps for the Pokémon Centre are all linked; if you edit one map of a Pokémon Centre, the rest change along with it. My question is, how would I do this with another set of maps?
The halfword with an offset of '0x12' (18) in the Map Header is what you're looking for. For example, all Pokécenters' first floors have '0x0008', their second floors have '0x0009', and some of the rooms on the S.S. Anne have '0x00b1'. If you make two maps share a value (it also appears that "common" maps share Footers as well), then a change in one's map should show up in another's.


I put my starters in my hack as BULBASAUR,TOTODILE and TORCHIC.
However TOTODILE and TORCHIC cant evolve can someone help me?
I'm no expert when it comes to the hacking pokémon (I focus more on scripting and features) but I think I once heard that the player needs the National Dex enabled in order for non-Kanto pokémon to evolve.


I have a question myself. I heard somewhere that Pokemon FR uses a level script in the beginning of the game to make the player face upward. Does anyone know what offset the script is in, or how to change it in any way?
Uhm, if you checked in AdvanceMap, you would quickly find that it's located at '0x168CC8'.


1) Yes, you just need to edit the scripts for Cut Trees, Strength Boulders, etc., and remove the part checking whether or not you've beaten a gym (It will have checkflags and stuff).
But what if the player uses Flash via the Pokémon Menu? You would need to hack some routines associated with the Pokémon Menu in order to get rid of the badge check. Your method may be passable for HMs such as Rock Smash and Cut but I can foresee some problems with HMs like Fly and Flash which are only accessible via the Pokémon Menu.


and also how to change the text when defeated like plaey hurried to the lab..etc..
See this post. Also, next time search the thread before asking.


2 quick questions: I have a hidden item in my map and...

What talking level should I use? "00 Always" or "02 Height 1"?

What is hidden ID?

Thanks in advance!
You should actually use "03 Height 2 (Normal)".
The Hidden ID is a number that the game uses to tell that particular hidden item apart from all the other ones. Without that byte, the game wouldn't know if you had already picked up that item or not. You need to give each hidden item a different Hidden ID.


They are completely fine to use. They are beta maps that are not used.

Mah question: I keep trying to compile this script:

Code:
#dynamic 0x800020

#org @start
lock
faceplayer
callasm 0x800004
storevar 0x0 lastresult
msgbox @msg 0x2
release
end

#org @msg
= Hey, that Pokemon's ID Number\nis [buffer1]!
as part of Shiny Quagsire's ASM tutorial. For some odd reason, pksv-ui won't compile it- or any other script I use. When I apply the "compiled" script, I can talk to the person, but all I get is the "bleep" sound and no textbox. Why is this happening?
If your routine uses the THUMB instruction set, you need to set bit 0 of your address (in other words, add one to the address that you put as the parameter for the 'callasm' command).


The offset callasm uses, 0x800004, keeps getting converted into 0x8800004, which is well past the end of my rom.
This quote right here shows that you either need to reread whatever ASM tutorial you read or ditch it and get an entirely new one. :\


ALright Ive got to the part so where should I put special 0x16F. That activates the Nat Dex.
preparemsg 0x818E5EA '"[player] received the POKéDEX\nfro..."
waitmsg
waitfanfare
call 0x81A6675
setflag 0x829
special 0x181
setvar 0x407C 0x1
EDIT I made a new line right after 0x181
EDIT I didnt work shoot! Going to try again.
EDIT After the event and gary leaves the game just freezes can someone help me?
Man, if I had a nickel for every time I've seen someone try to do this...

Long story short, you can't just stick a new command in the middle of a preexisting script. It increases the length of the script and, in turn, overwrites part of your script (or another script). You need to repoint the script and insert your command in the new one.

And the problem there is obviously in the ASM. Are you sure you compiled it, etc., properly?
No, it's not. Please don't answer questions that you don't know the answer to.

Oh, and it's "assembled", not "compiled".

Can someone send me the link for a-trainer cause iv searched every where :(
Here you go.


I remember seeing that before (yeah... I commonly lurk around the emulation section. XD) Even after seeing it, I'm still not sure. Meh, I'll do pokemon Ruby, just because the plans for the ROM hack include one main region, so i could maybe turn that battle tower island into a miniature region. XD Thanks, anyway. :)
If you read that entire document and still can't decide, then it doesn't matter which one you hack because you obviously view them both equally.


Okay, don't know how simple it is, but i guess you can help me
I'm editing Emerald GYM Leaders, but i've run within a problem. All Norman's actions are together in the same event, which is giving me some trouble.
I want to change the GYM Leader, but still want to keep his actions before it (like, helping Wally to catch his poké, etc. - In other words, I plan to change his sprite only after the player really gets the 4 badges.
What is the easier way to split the script in 2 events, and how can that be done, without messing with the rest of rom?
Yeah, I think the easiest way would be to use two separate Person events. You'll have to split the script data up between the two, however. It might be quite difficult if you don't know what you're doing. I suggest that you familiarize yourself with scripting (if you haven't already) before undertaking that project.


I need a very specific answer. How many square pixels is ONE TILE in FireRed? I want to start making custom tiles.
Depends on what you mean by "tile". Strictly speaking, a tile on the GBA is an 8 pixel by 8 pixel graphic. However, if we're talking more abstractly, a tile in Pokémon terms could mean a two-layered group of two by two "actual tiles", creating a 16 pixel by 16 pixel graphic that maps are composed of.


Alright, so I'm new at this.

Does anyone have a text dump of Ruby, Sapphire, or Emerald? I'll take any.

Hopefully I can use it to finally create the legendary Ruby.ini, Sapphire.ini, and Emerald.ini...

Or I could text dump it myself if I had directions. Haha...
HackMew was kind enough to dump most scripts from Fire Red, Ruby, and Emerald. I can't remember where he originally hosted them so I uploaded them here[/url.


How do I replace music in an Emerald rom?
I've heard Sappy is a good program for that.
 

konman719

Hacker
32
Posts
13
Years
  • Seen Jul 30, 2011
Does anyone know how to fix the problem with the view radius in advance map? everytime i set a view radius to a trainer i made, they see me but half a space farther away than i wanted and theres a series of qaf'a when he speaks, then i cant battle him/her... can some please help?!
 
63
Posts
13
Years
  • Seen Dec 6, 2023
Yeah, I think the easiest way would be to use two separate Person events. You'll have to split the script data up between the two, however. It might be quite difficult if you don't know what you're doing. I suggest that you familiarize yourself with scripting (if you haven't already) before undertaking that project.
Thanks in advance
I'll try, instead of deleting the battle part of Norman's event, making him out of reach, and making Norman invisible. The new event would be based on another leader, but with right pointers and such
 
Status
Not open for further replies.
Back
Top