Go Back   The PokéCommunity Forums > ROM Hacking > ROM Hacking Hub
Reload this Page [ARCHIVE] Simple Questions (SEARCH BEFORE ASKING A QUESTION)

Notices
For all updates, view the main page.

ROM Hacking Hub General discussions about ROM Hacking and Emulation. Not sure where to start? This is the place for you.
Posting links to ROMs is illegal and is not tolerated anywhere on the forum.
New threads in this forum are to be approved by a moderator before they are displayed.



Closed Thread
 
Thread Tools
  #22351    
Old August 4th, 2012 (10:58 AM). Edited August 4th, 2012 by redriders180.
redriders180's Avatar
redriders180 redriders180 is offline
Mastermind of Pokemon Glazed
 
Join Date: Jun 2010
Location: Path of Victory, Tunod
Gender: Male
Nature: Quirky
Posts: 537
Send a message via AIM to redriders180 Send a message via Skype™ to redriders180
Quote originally posted by destinydownloads:
Is it possible to remove a pokemon from the player with poketscript. If so what is the command?
There is no script command for removal of a Pokemon, although it's not very hard to ASM one. If you were to write a routine to do it, you'd basically move the data of the pokemon below the deleted Pokemon up one slot, and then erase the last one by filling it with FFs.

A fair amount of ASM tutorials have tackled this exact request, since its such a common one, so I recommend looking at a few (I'm at work, so I don't have any helpful tutorials bookmarked for you ).
__________________


Superfan of Pokemon Glazed? Click here to join the official Pokemon Glazed Facebook Page!

Thank you for hatching the eggs!
Please view these dragons! Just click them and you're done!
If you don't help them grow up, they'll die...


  #22352    
Old August 4th, 2012 (10:59 AM).
Nate VonGrimm's Avatar
Nate VonGrimm Nate VonGrimm is offline
 
Join Date: Oct 2011
Location: Uxbridge
Age: 23
Gender: Male
Nature: Relaxed
Posts: 124
Quote originally posted by destinydownloads:
Is it possible to remove a pokemon from the player with poketscript. If so what is the command?
Unfortunately, You can't with scripts.
To remove a Pokémon from the player, it requires ASM hacking.

The only thing you can do is use the command to send Pokémon to the Daycare centre and remove the daycare centre from the game so the player cannot retrieve the removed Pokémon. But to do this, the player does need to have at least 2 Pokémon.

I don't know what the command is on PokeScript as I am an XSE user.
__________________
Currently working on a new Pokemon Hack with an in-depth story line!
That's about as much as you're going to get for now...


  #22353    
Old August 4th, 2012 (02:25 PM).
Cold Ivory's Avatar
Cold Ivory Cold Ivory is offline
 
Join Date: Mar 2011
Gender: Male
Nature: Mild
Posts: 30
How does one determine the RAM address for a given variable?
Specifically, I'm looking for either the address of LASTRESULT in Ruby or how I can go about finding it.
But if I knew how to determine the pointer for any given variable, that would be just as useful.

I am also correct in understanding that a var is a 2-byte structure, so using writebytetooffset only effects "half" of the variable, yes?
  #22354    
Old August 4th, 2012 (03:14 PM).
Megiddo-san's Avatar
Megiddo-san Megiddo-san is offline
Barium - Summer '12 Return?
 
Join Date: Dec 2007
Location: Where you least expect it
Age: 23
Gender: Male
Nature: Relaxed
Posts: 1,331
Send a message via Windows Live Messenger to Megiddo-san
Has anyone encountered the bug with Tile Molester that causes it to make all evolutions crash Fire Red(BPRE)? If so, do you know how fix it?
__________________

Hashire! Asu e tsudzuku shinka no micha wa
  #22355    
Old August 4th, 2012 (04:08 PM).
Ω Ruby and α Sapphire's Avatar
Ω Ruby and α Sapphire Ω Ruby and α Sapphire is offline
Hope will never die! ~Lucina
 
Join Date: Apr 2011
Location: Victoria, Australia
Gender: Male
Nature: Quiet
Posts: 736
How do you set a tile as a warp point? I set the behaviour byte to 69 00but when i go to events and select warp point it doesn't come up! Thanks in advance.
  #22356    
Old August 4th, 2012 (04:50 PM).
tajaros's Avatar
tajaros tajaros is offline
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 16
Gender: Male
Nature: Timid
Posts: 857
Send a message via Windows Live Messenger to tajaros
Hi, I got a question is it possible to make Pokemon FireRed read GIF's images as sprites? Can it be done through Hex Edting or ASM? or much complicated manner...
__________________
  #22357    
Old August 4th, 2012 (07:52 PM).
Shootingace's Avatar
Shootingace Shootingace is offline
Lord
 
Join Date: Jun 2012
Age: 19
Gender: Male
Nature: Calm
Posts: 78
I have a question. If you had to create the scene in FR where after you collect your pokemon, Gary battles you. How do i do this from scratch. I know it has something to do with Advancedmap and XSE.
__________________

Hacks i strongly recommend:
  #22358    
Old August 4th, 2012 (09:59 PM).
Ω Ruby and α Sapphire's Avatar
Ω Ruby and α Sapphire Ω Ruby and α Sapphire is offline
Hope will never die! ~Lucina
 
Join Date: Apr 2011
Location: Victoria, Australia
Gender: Male
Nature: Quiet
Posts: 736
I'm trying to make a map but his comes up when i try to save. Help! Thanks!
Attached Images
File Type: png Capture.PNG‎ (154.6 KB, 14 views) (Save to Dropbox)
  #22359    
Old August 4th, 2012 (10:34 PM). Edited August 4th, 2012 by tajaros.
tajaros's Avatar
tajaros tajaros is offline
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 16
Gender: Male
Nature: Timid
Posts: 857
Send a message via Windows Live Messenger to tajaros
Quote originally posted by Shootingace:
I have a question. If you had to create the scene in FR where after you collect your pokemon, Gary battles you. How do i do this from scratch. I know it has something to do with Advancedmap and XSE.
Actually you can just open scripts and use them as your own...

But there's really nothing that much special in the Gary's Tutorial Battle it just uses this command

trainerbattle 0x9 0x(Trainer no. (Hex)) 0x3 @(Message to be displayed when you won) @(Message to be displayed when you lose)

The only peculiar about it is the 0x9 at the first part of it cause normal trainer battles just leave it 0x0...

Here let me give you an example of a script that uses that script... (This is in XSE)
(I'll also explain how the scripts work... )

Quote:
#dynamic 0x800000 <- This is needed for every script in XSE, with this XSE finds some Free Space needed starting from offset 0x800000

#org @start <- Starts the script
lock <- Locks the NPC to the player
faceplayer <- Makes the NPC face the player
msgbox @hi 0x6 <- Loads the message in the pointer "@hi"
trainerbattle 0x9 0x1 0x0 @win @lose <- Loads the trainerbattle scene, that battles trainer 0x1, @win-loads the Message with the pointer @win when you win against the trainer, @lose-loads the Message with the pointer @lose when you lose to the trainer, (Also not if you didn't edited the trainers in A-trainer it will load the Leader of Team Aqua with a level 5 Ekans.
msgbox @after 0x6 <- Loads the message in the pointer "@after"
fadescreen 0x1 <- Fades the screen to black
hidesprite 0x1 <- Hide's the sprite with the person event no.1
fadescreen 0x0 <- Fades the screen back to normal
setflag 0x1000 <- Set's the flag 0x1000, if you want the event to not happen again, you should put 1000 on the person ID in Advance-Map
release <- Releases the NPC to the player
end <- Ends the script

#org @hi <- Message of @hi
= \v\h06: Hi there \v\h01!\pLet's battle!\p\v\h01: But, I don't know how...\p\v\h06: Don't worry PROF.OAK will\nteach you as we battle...\p\v\h01: Ok, let's do this!

#org @win <- Message of @win
= Wow!, You're great for a begginer!

#org @lose <- Message of @lose
= Woah, that was fun!

#org @after <- Message of @after
= \v\h06: Wow, You're really good\nfor a begginer!\p\v\h01: Thanks!\p\v\h06: Well I'll be going now\nI'll be seeing you later!\p\v\h01: Ok, bye!
Here's the clean script without the explanations if you want to use it...
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @hi 0x6
trainerbattle 0x9 0x1 0x0 @win @lose
msgbox @after 0x6
fadescreen 0x1
hidesprite 0x1
fadescreen 0x0
setflag 0x1000
release
end

#org @hi
= \v\h06: Hi there \v\h01!\pLet's battle!\p\v\h01: But, I don't know how...\p\v\h06: Don't worry PROF.OAK will\nteach you as we battle...\p\v\h01: Ok, let's do this!

#org @win
= Wow!, You're great for a begginer!

#org @lose
= Woah, that was fun!

#org @after
= \v\h06: Wow, You're really good\nfor a begginer!\p\v\h01: Thanks!\p\v\h06: Well I'll be going now\nI'll be seeing you later!\p\v\h01: Ok, bye!
After you have done this make sure that you have your ROM opened in XSE, after that compile it and copy the offset of @start since it's the very first pointer, then copy that offset in Advance-Map...

Note: Use XSE 1.1.1 and Advance-Map 1.95...

Also maybe reposting my question will bring some people to answer it.. xD
Quote:
Hi, I got a question is it possible to make Pokemon FireRed read GIF's images as sprites? Can it be done through Hex Edting or ASM? or much complicated manner...
__________________
  #22360    
Old August 4th, 2012 (11:54 PM).
Ω Ruby and α Sapphire's Avatar
Ω Ruby and α Sapphire Ω Ruby and α Sapphire is offline
Hope will never die! ~Lucina
 
Join Date: Apr 2011
Location: Victoria, Australia
Gender: Male
Nature: Quiet
Posts: 736
Hey guys, I was wondering how to change what professor oak says when you pick your starter, because I changed the starter pokemon to Cacnea, Carvhana and Hondour but he says bulbasuar ect. If possible can you put it really simply because i have no knowledge on scripting and abbreviations/acronyms. Thanks
  #22361    
Old August 5th, 2012 (01:38 AM).
Satoshi Ookami's Avatar
Satoshi Ookami Satoshi Ookami is online now
Memento Mori
Gold Tier
 
Join Date: Jul 2008
Location: Abyss of Time, Great Seal
Age: 22
Gender: Male
Nature: Calm
Posts: 12,945
Quote originally posted by Zupplu:
Hey guys, I was wondering how to change what professor oak says when you pick your starter, because I changed the starter pokemon to Cacnea, Carvhana and Hondour but he says bulbasuar ect. If possible can you put it really simply because i have no knowledge on scripting and abbreviations/acronyms. Thanks
You can edit it either by using A-Text or by editing Oak's script by using XSE.
__________________
ROM hacking FAQ - Read before asking how to play a hack. | Previous Sign 2 | Previous Sign

Anime List | PSN Trophy List
  #22362    
Old August 5th, 2012 (02:01 AM).
Ω Ruby and α Sapphire's Avatar
Ω Ruby and α Sapphire Ω Ruby and α Sapphire is offline
Hope will never die! ~Lucina
 
Join Date: Apr 2011
Location: Victoria, Australia
Gender: Male
Nature: Quiet
Posts: 736
Quote originally posted by Ash493:

You can edit it either by using A-Text or by editing Oak's script by using XSE.
How can I do that? This is all new to me so i don't know much.
__________________
  #22363    
Old August 5th, 2012 (03:12 AM).
ArthurWaine ArthurWaine is offline
 
Join Date: Jul 2012
Gender: Male
Posts: 21
Quote originally posted by Zupplu:
How do you set a tile as a warp point? I set the behaviour byte to 69 00but when i go to events and select warp point it doesn't come up! Thanks in advance.
Actually, it's quite simple. If you want to have a warp, go to the 'events' tab, and have a look at the menu bar on the right of your map. On the bottom of it, it lists the number of events you have, and all of the numbers have up/down arrows next to them. Either click the arrows, or put in a number in the box yourself, and click the button underneath the boxes: change events. It will add (I don't know if remove works in quite the same fashion, as I always use the big 'delete event' button for that) events of the specified types up to what you specified, and these will appear in the upper-left corner.

So, for example, say my map had 1 warp event, I typed in '10' in the 'warps' box and hit 'change events'. I would then get 9 warp events in my top left corner, which I could then just drag wherever I wanted them to be

Quote:
I'm trying to make a map but his comes up when i try to save. Help! Thanks!
Yeah, that's a problematic one. As far as I know, that tends to mean the ROM you're using is, for lack of a better word, 'broken'. Personally, I've had that specific issue with every LeafGreen rom I've tried to use, after which I switched to a FireRed one which never gave me any trouble at all. So yeah, a re-download of your ROM in case /might/ fix it, but if it doesn't, try finding the same ROM from a different source, or try using the other game (FireRed if using LeafGreen, Ruby if using Sapphire, etc.).


[QUOTE] Don't have acces to advance map right now, so I'm afraid I can't check anything for you in advance map, but I can give you some pointers to begin with. First off, get your script editor ready, because is, indeed, going to require you to get the scripting muscles flexing.

First off, go to advance map, and set your script editor of choice as default script editor (I believe that option is found under 'options', but if not, it's somewhere in that top line). Then, go to the script in question (which is, if I'm not mistaken, the script on the pokeballs themselves), and either double-click, or select 'open script' on the menu on the left. You'll get a box with a terrible mess of garbled junk (if you've never seen any script before, that is. Trust me, it starts making sense after a couple days ) I can't help you on the pictures right now, wouldn't know how to do that off the top of my head, and as I said I don't have acces to Advance map atm. However, editing the text isn't all that hard:

First, you want to, logically, search for the text you want to change. It's going to be in the bottom part of the window, where you'll get a bunch of these kind of things below each other:

Spoiler:
#org 0xnumber
= text

#org 0xnumber
= text

etc.


Now search for the text for, say, bulbasaur. I've got no idea what it says, but it should be easily found, and once you do, it's really as simple as erasing the text, and replacing it with your new one (you'll need to keep the =, as otherwise it won't recognize your string as text, but for everything else you're free to go). HOWEVER, there is one catch: if you simply replace the text, the new text MUST be shorter than or of equal length with the original text. If not, things are going to get completely messed up, because you'll start writing data to bytes that are already holding other data, which causes really odd things to happen, and just might break it. So, if you're sure your text is shorter than the old one, you're set! Just test it to make sure it all works, and make sure to make use of text-managing commands:\n puts the text after it on a new line, \l scrolls up the previous line and then puts the new line in (remember, the text boxes only have two lines and about 35 characters per line), and last but not least \p lets you open a new 'page' so to say. I can't explain this one that well, but just try it out, you'll get it when you see it. Now, if this was all, don't forget to hit the button called 'compile' when you're done, this will write the changes you made in the script to the ROM (so anything you do before you hit that button has no actual effect whatsoever).

So, what about when what you want to say is longer than the original? Well, don't worry, that just requires a little more work. Step by step:

1. I'm not an XSE user, so I /might/ get the terminology slightly wrong, but I believe it goes like this: put #dynamic 0x800000 at the top of your script. This tells XSE to look for free space large enough to hold all the new stuff, starting at 0x800000 (this is where the empty space on ROMS tends to start, it's actually around 0x740000 I believe, but just to be safe 0x800000 has kind of become the standard) and it is connected to @-signs. If you have #org @whateverisconvenient (seriously though, you just need to make sure that if you have multiple orgs that need inserting, you'll have to make sure to use differnt tags, so your first text is called @text1, the second @text2, etc. Just an example though, it honestly doesn't matter what you call them).

2. Now, change your text (this could also be step one, as the order in which you do these things doesn't really matter, as long as you make sure that the compiling happens LAST). You don't have to pay any attention to length whatsoever this time, as we're going to get you some empty space to put the new stuff in, yay!

3. Now, you'll need to replace all instances of the #org of your new text with @text (or whatever you want to use). Personally, I'd use the find/replace function to do this (I'm going to assume XSE has it...), but you could just do it by hand. Now, make sure to ONLY replace the NUMBER with @text. You'll actually need the #org for your script to work

4. If you're sure you've replaced everything by what you want it to be, you just hit that compile button again, and voila! You should get a list of offsets, but in this case those don't matter as you didn't replace the starting offset, and you should be able to just ignore them. If you want to make sure it all worked properly, just close the script and open it again, and you should see the changes you made reflected in the script.

Well, hope this works for ya, if it doesn't, just have a look at some tuts, it really isn't all that hard, just takes some getting into
  #22364    
Old August 5th, 2012 (09:33 AM).
destinydownloads's Avatar
destinydownloads destinydownloads is offline
 
Join Date: Jan 2012
Location: London
Gender: Male
Posts: 38
I want to try to learn ASM hacking but I don't know of any tutorials on someone teaching you. Could someone give me some links these tutorials?
  #22365    
Old August 5th, 2012 (09:57 AM).
Andrut's Avatar
Andrut Andrut is offline
Collecting dust since 1898
 
Join Date: Dec 2009
Location: Warsaw, Poland
Age: 16
Posts: 277
How to change the items sold in shops in Emerald? I know there are tools which change the ones in Pokémarts, but I would like to change the items in one that is not in a Pokémart, like the market in Slateport.
  #22366    
Old August 5th, 2012 (01:14 PM).
redriders180's Avatar
redriders180 redriders180 is offline
Mastermind of Pokemon Glazed
 
Join Date: Jun 2010
Location: Path of Victory, Tunod
Gender: Male
Nature: Quirky
Posts: 537
Send a message via AIM to redriders180 Send a message via Skype™ to redriders180
Quote originally posted by xoax:
How to change the items sold in shops in Emerald? I know there are tools which change the ones in Pokémarts, but I would like to change the items in one that is not in a Pokémart, like the market in Slateport.
The most direct way is to open one of their scripts. All pokemarts follow the same basic structure:

#org @start
lock
faceplayer
preparemsg @welcome *\This command is basically a "msgbox" command
waitmsg *\basically a "closeonkeypress" command
pokemart @item_data
msgbox @comeagain MSG_KEEPOPEN
release
end

The @item_data pointer then points to the list of items to sell. It's laid out in this structure:

#org @item_data
#raw word 0xItem_Number_One
#raw word 0xItem_Number_Two
...
#raw word 0x0 <--REQUIRED! Marks the end of the table

The item numbers are the exact same as the item numbers in a giveitem command. So, for just the four basic Poke Balls, the list would look like so:

#org @item_data
#raw word 0x1 (Master Ball)
#raw word 0x2 (Ultra Ball)
#raw word 0x3 (Great Ball)
#raw word 0x4 (Pokeball)
#raw word 0x0 (End of List)
Quote originally posted by tajaros:


Actually you can just open scripts and use them as your own...

But there's really nothing that much special in the Gary's Tutorial Battle it just uses this command

trainerbattle 0x9 0x(Trainer no. (Hex)) 0x3 @(Message to be displayed when you won) @(Message to be displayed when you lose)

The only peculiar about it is the 0x9 at the first part of it cause normal trainer battles just leave it 0x0...

Here let me give you an example of a script that uses that script... (This is in XSE)
(I'll also explain how the scripts work... )

Here's the clean script without the explanations if you want to use it...
After you have done this make sure that you have your ROM opened in XSE, after that compile it and copy the offset of @start since it's the very first pointer, then copy that offset in Advance-Map...

Note: Use XSE 1.1.1 and Advance-Map 1.95...

Also maybe reposting my question will bring some people to answer it.. xD
Darn autoquote...in any case, your question refers to sprites as gif images, instead of .png files? When you upload sprites with Unlz.gba or NSE, you're not actually inserting .png files into a game. Those programs simply accept .png files, since they typically end up being the cleanest, with no rasterizing or anything funny, and convert them into the GBA's primary mode of image display. As such, while the GBA makes no distinction of file formats, the programs to insert them do. The only way around it is to convert to .png.

Quote originally posted by Cold Ivory:
How does one determine the RAM address for a given variable?
Specifically, I'm looking for either the address of LASTRESULT in Ruby or how I can go about finding it.
But if I knew how to determine the pointer for any given variable, that would be just as useful.

I am also correct in understanding that a var is a 2-byte structure, so using writebytetooffset only effects "half" of the variable, yes?
Probably the easiest way is to make a script that increments LASTRESULT by 0x1, and try scrolling through the memory in VBA (with Auto-Update checked) to find the value. I only know about Firered, but under the assumption that the variable structure is similar, there are a few clues:

1. In Firered, the variables of the 0x8000 family are stored in the 0x02000000 range (all the other variables are DMA protected, and hidden away in one of the save blocks that gets shuffled around). In Firered, the location of LASTRESULT (which is really 0x800D) is at 0x020370B8, if its any use.

2. In Firered, the 0x8000 variables are all stored one after another.

You're correct about the size: each variable is a half-word, or two bytes. Writebytetooffset only writes one byte at a time, so you need to use it twice. Also, don't forget the bytes are flipped, similar to how pointers work. So 0x1234 is 34 12 in the RAM.
__________________


Superfan of Pokemon Glazed? Click here to join the official Pokemon Glazed Facebook Page!

Thank you for hatching the eggs!
Please view these dragons! Just click them and you're done!
If you don't help them grow up, they'll die...


  #22367    
Old August 5th, 2012 (03:21 PM).
MissDigitalis's Avatar
MissDigitalis MissDigitalis is offline
 
Join Date: Dec 2011
Gender: Female
Posts: 115
I keep getting errors after I open Pidgey's stats in YAPE but everything seems to be fine in GBA Pokemon Game Editor's Pokemon Editor. Is there a way to keep the error from occurring other than going back to the beginning of my game and comparing ALL the changes I've made?
__________________

  #22368    
Old August 5th, 2012 (04:06 PM).
Shootingace's Avatar
Shootingace Shootingace is offline
Lord
 
Join Date: Jun 2012
Age: 19
Gender: Male
Nature: Calm
Posts: 78
Tajaros gave a good explanation which i copied onto a word document.
I still have 2 more questions about starting Gary's battle scene from scratch:

1) When you walk south in the lab then Gary stops you. Which commands do i use for him to walk up to you and stop you?

2) In XSE and Advanced Map, how do i open a script from Advancedmap to XSE?
For example if i want to adjust Gary's script on XSE, how do i get his script on the tab there?
__________________

Hacks i strongly recommend:
  #22369    
Old August 5th, 2012 (04:44 PM).
MidiMasterShiro's Avatar
MidiMasterShiro MidiMasterShiro is offline
Music Hacker/Composer
 
Join Date: Aug 2012
Location: United States
Age: 18
Gender: Male
Nature: Relaxed
Posts: 31
Send a message via Skype™ to MidiMasterShiro
This question has to do with the music in the ROM of Pokemon Fire Red.

I know how to hack GBA music very well, but how would I set different music for different trainers. For example, different trainers in RSE have different music set for them, like the Elite 4 has battle music different from the Gym Leaders, and team members do not have the ordinary trainer battle music.
__________________
  #22370    
Old August 5th, 2012 (04:50 PM).
machomuu's Avatar
machomuu machomuu is online now
Grant me the power of revolution!
Gold Tier
 
Join Date: Apr 2008
Location: 'Murca
Gender: Male
Nature: Relaxed
Posts: 6,533
Quote originally posted by MidiMasterShiro:
This question has to do with the music in the ROM of Pokemon Fire Red.

I know how to hack GBA music very well, but how would I set different music for different trainers. For example, different trainers in RSE have different music set for them, like the Elite 4 has battle music different from the Gym Leaders, and team members do not have the ordinary trainer battle music.
Ah, the very adept hacker, Aichiya Sanae, can help you there. Please note that this information was originally meant for the hack Touhoumon: Another World, but it still applies.

Quote:
Controlling Music
Variable 0x4090 and 0x4092 pair and variable 0x4091 and 0x4093 pair are used for controlling sound. As you can see that some trainers used their specific song theme while battle.
I will explain a bit, for example I will use 0x4090 and 0x4092 pair
0x4090 value determines which song that will be changed
0x4092 value determines which new song will be used
Value is the song ID

For example I want change trainer battle song... from default song (Faith is for the Transient People) to Splendid Encount~2nd Style song...
Trainer Battle song ID is 0x129 and the desired song (Splendid Encount~2nd Style) ID is 0x172
So the script would be:


#org 0x834830
msgbox 0x8834930 0x4
closeonkeypress
pause 0x20
setvar 0x4090 0x129
setvar 0x4092 0x172
trainerbattle 0x3 0x57 0x0 0x8834970
setvar 0x4090 0x0
setvar 0x4092 0x0
pause 0x20
msgbox 0x88349B0 0x4
closeonkeypress
release
end


As you can see, put both variable before trainerbattle line.
Additionally, you need to write again variable after battle with value 0x0 to return into original song...
To be safe, you need to put servar value 0x0 in every level script in the outside of healing spots, this is because the value won’t revert to 0x0 if you lost a battle (because the script won’t continue)
But, all healing spots are already used, so don’t bother about it, because I already wrote all level scipts in gensokyo. Except, you want to add more healing spots.

You don’t need to add setvar 0x4090 0x0 and setvar 0x4092 0x0 lines if you want to change the song forever.

I have a simple script:

#org 0x890000
setvar 0x4090 0x129
setvar 0x4092 0x169
setvar 0x4091 0x12A
setvar 0x4093 0x16D
end
__________________
  #22371    
Old August 6th, 2012 (01:19 AM).
Satoshi Ookami's Avatar
Satoshi Ookami Satoshi Ookami is online now
Memento Mori
Gold Tier
 
Join Date: Jul 2008
Location: Abyss of Time, Great Seal
Age: 22
Gender: Male
Nature: Calm
Posts: 12,945
Quote originally posted by Zupplu:

How can I do that? This is all new to me so i don't know much.
If you use A-Text then just search for the part of string and A-Text will find it in ROM.
Then you just need to enter what you want and save the ROM.

If you want to do it XSE-way (which will help you in future when you start scripting), I would suggest reading some scripting tutorials, they will surely help you

Quote originally posted by Shootingace:
Tajaros gave a good explanation which i copied onto a word document.
I still have 2 more questions about starting Gary's battle scene from scratch:

1) When you walk south in the lab then Gary stops you. Which commands do i use for him to walk up to you and stop you?

2) In XSE and Advanced Map, how do i open a script from Advancedmap to XSE?
For example if i want to adjust Gary's script on XSE, how do i get his script on the tab there?
1) OWs are moved by using applymovement commands.
2) You need to set XSE as default script editor and then just click on Open Script.
__________________
ROM hacking FAQ - Read before asking how to play a hack. | Previous Sign 2 | Previous Sign

Anime List | PSN Trophy List
  #22372    
Old August 6th, 2012 (10:08 AM). Edited August 6th, 2012 by Shootingace.
Shootingace's Avatar
Shootingace Shootingace is offline
Lord
 
Join Date: Jun 2012
Age: 19
Gender: Male
Nature: Calm
Posts: 78
hi guys i have another question:

1) If i wanted to create Arceus in FR, which tools do i use for its sprite and image?
__________________

Hacks i strongly recommend:
  #22373    
Old August 6th, 2012 (03:45 PM).
Epitaph93's Avatar
Epitaph93 Epitaph93 is offline
Intermediate Digidestined
 
Join Date: Oct 2011
Location: Texas
Age: 22
Gender: Male
Nature: Calm
Posts: 119
Quote originally posted by Shootingace:
hi guys i have another question:

1) If i wanted to create Arceus in FR, which tools do i use for its sprite and image?
I use GraphicsGale to edit the sprites, then use Advanced Sprite Inserter to replace a pokemon with the new one's image.
__________________
I'm Epitaph and I plan on releasing the first full-fledged Digimon hack of Pokemon Fire Red. We're getting close to the first release so come check it out in the Progressing hacks, and see how you can help us with the project.
  #22374    
Old August 6th, 2012 (04:18 PM).
Ω Ruby and α Sapphire's Avatar
Ω Ruby and α Sapphire Ω Ruby and α Sapphire is offline
Hope will never die! ~Lucina
 
Join Date: Apr 2011
Location: Victoria, Australia
Gender: Male
Nature: Quiet
Posts: 736
Hey guys quick question. I can't seem to find the reason why one of my warps in pallet town only works one way? I go into a cave and can't return back to pallet town? Any help is appreciated :)
__________________
  #22375    
Old August 6th, 2012 (04:53 PM).
tajaros's Avatar
tajaros tajaros is offline
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 16
Gender: Male
Nature: Timid
Posts: 857
Send a message via Windows Live Messenger to tajaros
Quote originally posted by Shootingace:
Tajaros gave a good explanation which i copied onto a word document.
I still have 2 more questions about starting Gary's battle scene from scratch:

1) When you walk south in the lab then Gary stops you. Which commands do i use for him to walk up to you and stop you?

2) In XSE and Advanced Map, how do i open a script from Advancedmap to XSE?
For example if i want to adjust Gary's script on XSE, how do i get his script on the tab there?
You use the applymovement command...

Applymovement goes like this:

Applymovement 0x(Person Event no.(Hex)) @offset(input any pointer just make sure it doesn't have spaces...

Here's an example script...
Quote:
#dynamic 0x800000 <- This is needed for every script in XSE, with this XSE finds some Free Space needed starting from offset 0x800000

#org @start <- Starts the script
lock <- Locks the NPC to the player
faceplayer <- Makes the NPC face the player
msgbox @hi 0x6 <- Loads the message in the pointer "@hi"
applymovement 0xff @down <- Makes the person with the person event no. 0xff move it loads the movement in the pointer "@down", note 0xFF is the players person event no., so that means that this will move your player...
waitmovement 0x0 <- Waits the movement to be finished so that it will continue, you have to input these after every applymovement commands...
msgbox @haha 0x6 <- Loads the message in the pointer "@haha"
release <- Releases the NPC to the player
end <- Ends the script

#org @hi <- Message of @hi
= GIRL: Hello there!\pDo you believe that I have Psychic\nPowers?\p\v\h01: No, your just an ordinary\ngirl.\pGIRL: Well, let's see If your\ncorrect!\pI will control you to move\ndownwards.

#org @down <- Loads the movement to be done...
#raw 0x10 <- Makes the player move one step down
#raw 0x10 <- Makes the player move one step down
#raw 0x10 <- Makes the player move one step down
#raw 0xfe <- Now in every movement commands you have to input #raw 0xfe at the last part if you don't do this it somehows messes up your script...

#org @haha < - Message of @haha
= \v\h01: Woah!, that's scary!\pGIRL: Haha, that's what you get\nfor not believing me.
You might ask how did I know that it's raw 0x10?

I have a list of the raw movements here they are so you can use them...
Spoiler:
Movement
#raw 0x0 = Face Down
#raw 0x1 = Face Up
#raw 0x2 = Face Left
#raw 0x3 = Face Right
#raw 0x4 = Face Down (Faster)
#raw 0x5 = Face Up (Faster)
#raw 0x6 = Face Left (Faster)
#raw 0x7 = Face Right (Faster)
#raw 0x8 = Step Down (Very Slow)
#raw 0x9 = Step Up (Very Slow)
#raw 0xA = Step Left (Very Slow)
#raw 0xB = Step Right (Very Slow)
#raw 0xC = Step Down (Slow)
#raw 0xD = Step Up (Slow)
#raw 0xE = Step Left (Slow)
#raw 0xF = Step Right (Slow)
#raw 0x10 = Step Down (Normal)
#raw 0x11 = Step Up (Normal)
#raw 0x12 = Step Left (Normal)
#raw 0x13 = Step Right (Normal)
#raw 0x14 = Jump2 Down
#raw 0x15 = Jump2 Up
#raw 0x16 = Jump2 Left
#raw 0x17 = Jump2 Right
#raw 0x18 = Delay1
#raw 0x19 = Delay2
#raw 0x1A = Delay3
#raw 0x1B = Delay4
#raw 0x1C = Delay5
#raw 0x1D = Step Down (Fast)
#raw 0x1E = Step Up (Fast)
#raw 0x1F = Step Left (Fast)
#raw 0x20 = Step Right (Fast)
#raw 0x21 = Step on the Spot Down (Normal)
#raw 0x22 = Step on the Spot Up (Normal)
#raw 0x23 = Step on the Spot Left (Normal)
#raw 0x24 = Step on the Spot Right (Normal)
#raw 0x25 = Step on the Spot Down (Faster)
#raw 0x26 = Step on the Spot Up (Faster)
#raw 0x27 = Step on the Spot Left (Faster)
#raw 0x28 = Step on the Spot Right (Faster)
#raw 0x29 = Step on the Spot Down (Fastest)
#raw 0x2A = Step on the Spot Up (Fastest)
#raw 0x2B = Step on the Spot Left (Fastest)
#raw 0x2C = Step on the Spot Right (Fastest)
#raw 0x2D = Face Down (Delayed)
#raw 0x2E = Face Up (Delayed)
#raw 0x2F = Face Left (Delayed)
#raw 0x30 = Face Right (Delayed)
#raw 0x31 = Slide Down (Slow)
#raw 0x32 = Slide Up (Slow)
#raw 0x33 = Slide Left (Slow)
#raw 0x34 = Slide Right (Slow)
#raw 0x35 = Slide Down (Normal)
#raw 0x36 = Slide Up (Normal)
#raw 0x37 = Slide Left (Normal)
#raw 0x38 = Slide Right (Normal)
#raw 0x39 = Slide Down (Fast)
#raw 0x3A = Slide Up (Fast)
#raw 0x3B = Slide Left (Fast)
#raw 0x3C = Slide Right (Fast)
#raw 0x3D = Slide Running on Right Foot (Down)
#raw 0x3E = Slide Running on Right Foot (Up)
#raw 0x3F = Slide Running on Right Foot (Left)
#raw 0x40 = Slide Running on Right Foot (Right)
#raw 0x41 = Slide Running on Left Foot (Down)
#raw 0x42 = Slide Running on Left Foot (Up)
#raw 0x43 = Slide Running on Left Foot (Left)
#raw 0x44 = Slide Running on Left Foot (Right)
#raw 0x46 = Jump Facing Left (Down)
#raw 0x47 = Jump Facing Down (Up)
#raw 0x48 = Jump Facing Up (Left)
#raw 0x49 = Jump Facing Left (Right)
#raw 0x4A = Face Player
#raw 0x4B = Face Against Player
#raw 0x4C = Lock Sprite Facing
#raw 0x4D = Release Sprite Facing
#raw 0x4E = Jump Down
#raw 0x4F = Jump Up
#raw 0x50 = Jump Left
#raw 0x51 = Jump Right
#raw 0x52 = Jump in Place (Facing Down)
#raw 0x53 = Jump in Place (Facing Up)
#raw 0x54 = Jump in Place (Facing Left)
#raw 0x55 = Jump in Place (Facing Right)
#raw 0x56 = Jump in Place (Facing Down/Up)
#raw 0x57 = Jump in Place (Facing Up/Down)
#raw 0x58 = Jump in Place (Facing Left/Right)
#raw 0x59 = Jump in Place (Facing Right/Left)
#raw 0x60 = Hide Sprite
#raw 0x61 = Show Sprite
#raw 0x62 = Exclamation Mark (!)
#raw 0x63 = Question Mark (?)
#raw 0x64 = Cross (X)
#raw 0x65 = Double Exclamation Mark (!!)
#raw 0x66 = Happy ()
#raw 0xFE = End of Movements


Again you might want the clean script so here it is...
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @hi 0x6
applymovement 0xff @down
waitmovement 0x0
msgbox @haha 0x6
release
end

#org @hi
= GIRL: Hello there!\pDo you believe that I have Psychic\nPowers?\p\v\h01: No, your just an ordinary\ngirl.\pGIRL: Well, let's see If your\ncorrect!\pI will control you to move\ndownwards.

#org @down
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0fe

#org @haha
= \v\h01: Woah!, that's scary!\pGIRL: Haha, that's what you get\nfor not believing me.
In order to make XSE open scripts in Advance-Map you have to goto "Settings" and then click on the "Choose script editor" then browse for XSE and XSE can now open scripts in A-map!

Also if you want the Original Gary Script here it is...
Spoiler:
'---------------
#org 0x1692F3
lockall
setvar 0x4002 0x2
goto 0x816930B

'---------------
#org 0x16930B
textcolor 0x0
playsong 0x13B 0x0
applymovement 0x8 0x81A75ED
waitmovement 0x0
applymovement 0xFF 0x81A75E9
waitmovement 0x0
msgbox 0x818DDA4 0x4 '"[rival]: Wait, [player]!\nLet's ch..."
closeonkeypress
applymovement 0x4 0x81A75F1
waitmovement 0x0
compare 0x4031 0x0
if 0x1 goto 0x81693D2
compare 0x4031 0x1
if 0x1 goto 0x816944D
compare 0x4031 0x2
if 0x1 goto 0x816935A
end

'---------------
#org 0x1693D2
compare 0x4002 0x1
if 0x1 goto 0x81693F4
compare 0x4002 0x2
if 0x1 goto 0x8169404
compare 0x4002 0x3
if 0x1 goto 0x8169414
end

'---------------
#org 0x16944D
compare 0x4002 0x1
if 0x1 goto 0x816946F
compare 0x4002 0x2
if 0x1 goto 0x816947F
compare 0x4002 0x3
if 0x1 goto 0x816948F
end

'---------------
#org 0x16935A
compare 0x4002 0x1
if 0x1 goto 0x816937C
compare 0x4002 0x2
if 0x1 goto 0x816938C
compare 0x4002 0x3
if 0x1 goto 0x816939C
end

'---------------
#org 0x1693F4
applymovement 0x8 0x8169438
waitmovement 0x0
goto 0x8169424

'---------------
#org 0x169404
applymovement 0x8 0x8169440
waitmovement 0x0
goto 0x8169424

'---------------
#org 0x169414
applymovement 0x8 0x8169447
waitmovement 0x0
goto 0x8169424

'---------------
#org 0x16946F
applymovement 0x8 0x81694B3
waitmovement 0x0
goto 0x816949F

'---------------
#org 0x16947F
applymovement 0x8 0x81694B9
waitmovement 0x0
goto 0x816949F

'---------------
#org 0x16948F
applymovement 0x8 0x81694BE
waitmovement 0x0
goto 0x816949F

'---------------
#org 0x16937C
applymovement 0x8 0x81693C0
waitmovement 0x0
goto 0x81693AC

'---------------
#org 0x16938C
applymovement 0x8 0x81693C7
waitmovement 0x0
goto 0x81693AC

'---------------
#org 0x16939C
applymovement 0x8 0x81693CD
waitmovement 0x0
goto 0x81693AC

'---------------
#org 0x169424
trainerbattle 0x9 0x148 0x3 0x818DDEA 0x818DE1A
goto 0x81694C2

'---------------
#org 0x16949F
trainerbattle 0x9 0x147 0x3 0x818DDEA 0x818DE1A
goto 0x81694C2

'---------------
#org 0x1693AC
trainerbattle 0x9 0x146 0x3 0x818DDEA 0x818DE1A
goto 0x81694C2

'---------------
#org 0x1694C2
special 0x0
msgbox 0x818DE38 0x4 '"[rival]: Okay! I'll make my\nPOKéM..."
closeonkeypress
playsong 0x13C 0x0
compare 0x4002 0x1
if 0x1 call 0x8169504
compare 0x4002 0x2
if 0x1 call 0x8169516
compare 0x4002 0x3
if 0x1 call 0x8169528
hidesprite 0x8
sound 0x9
fadedefault
setvar 0x4055 0x4
setflag 0x258
releaseall
end

'---------------
#org 0x169504
applymovement 0x8 0x816953A
applymovement 0xFF 0x8169553
waitmovement 0x8
return

'---------------
#org 0x169516
applymovement 0x8 0x816954A
applymovement 0xFF 0x8169553
waitmovement 0x8
return

'---------------
#org 0x169528
applymovement 0x8 0x8169542
applymovement 0xFF 0x8169559
waitmovement 0x8
return


'---------
' Strings
'---------
#org 0x18DDA4
= [rival]: Wait, [player]!\nLet's check out our POKéMON!\pCome on, I'll take you on!

#org 0x18DDEA
= WHAT?\nUnbelievable!\lI picked the wrong POKéMON!

#org 0x18DE1A
= [rival]: Yeah!\nAm I great or what?

#org 0x18DE38
= [rival]: Okay! I'll make my\nPOKéMON battle to toughen it up!\p[player]! Gramps!\nSmell you later!


'-----------
' Movements
'-----------
#org 0x1A75ED
#raw 0x2D 'Face Down (Delayed)
#raw 0xFE 'End of Movements

#org 0x1A75E9
#raw 0x2E 'Face Up (Delayed)
#raw 0xFE 'End of Movements

#org 0x1A75F1
#raw 0x0 'Face Down
#raw 0xFE 'End of Movements

#org 0x169438
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x169440
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x169447
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x1694B3
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x1694B9
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x1694BE
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x1693C0
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x1693C7
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x1693CD
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x16953A
#raw 0x13 'Step Right (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x1B 'Delay4
#raw 0xFE 'End of Movements

#org 0x169553
#raw 0x1C 'Delay5
#raw 0x1B 'Delay4
#raw 0x30 'Face Right (Delayed)
#raw 0x1C 'Delay5
#raw 0x2D 'Face Down (Delayed)
#raw 0xFE 'End of Movements

#org 0x16954A
#raw 0x13 'Step Right (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x1B 'Delay4
#raw 0xFE 'End of Movements

#org 0x169542
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x1B 'Delay4
#raw 0xFE 'End of Movements

#org 0x169559
#raw 0x1C 'Delay5
#raw 0x1B 'Delay4
#raw 0x2F 'Face Left (Delayed)
#raw 0x1C 'Delay5
#raw 0x2D 'Face Down (Delayed)
#raw 0xFE 'End of Movements


Or if you want you can manually decompile the offset using XSE all you need is the script's offset... Gary script offset is 0x1692F3 just input that in XSE and decompile it, remove the 0x it's not needed...

Quote originally posted by Shootingace:
hi guys i have another question:

1) If i wanted to create Arceus in FR, which tools do i use for its sprite and image?
To insert sprites use the Advanced Pokemon Sprite Editor, or Wichu's Sprite Editor, it also includes the Advance Sprite Position Editor, and Advanced Pokemon Icon Editor... You can also Use UNLZ but you need to index them while in the Advanced series you don't have to index the sprites cause it reads images with colors higher than 16 colors and automatically indexes them...

You can use either YAPE or Poke Edit Pro, if you want to edit the Info about the Pokemon...
__________________
Closed Thread
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 12:17 PM.