The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Creative Discussions > Emulation & ROM Hacking
Register New Account FAQ/Rules Chat Blogs Mark Forums Read

Notices

Emulation & ROM Hacking The center for the community emulation scene. Come and discuss all things emulation and develop your own hacks!



Reply
Thread Tools
  #22976  
Unread October 17th, 2012, 12:41 AM
FirEmerald's Avatar
FirEmerald
Pokemon reverse engineer
 
Join Date: Aug 2012
Age: 15
Gender: Male
Ok, I know this is probably not a response to any question, but I have an as-far-as-I-know complete LZ77 compressed data offset list that I made that could help some people looking for answers. would it be O.K. if I posted it here?
Reply With Quote
  #22977  
Unread October 17th, 2012, 12:56 AM
sab's Avatar
sab
"No life and proud of it."
 
Join Date: Jul 2008
Location: Midgar
Age: 16
Gender: Male
Nature: Timid
Quote:
Originally Posted by FirEmerald View Post
Ok, I know this is probably not a response to any question, but I have an as-far-as-I-know complete LZ77 compressed data offset list that I made that could help some people looking for answers. would it be O.K. if I posted it here?
First, which game is it for, and what is the language? Second, I think it would probably be best suited to this thread here: http://www.pokecommunity.com/showthread.php?t=196265
__________________
anCay ouyay eakspay igpay atinlay? Ifay osay easeplay m.p.ay
emay enthay opycay anday astepay isthay inay ouryay ignaturesay.
Reply With Quote
  #22978  
Unread October 17th, 2012, 03:11 PM
LugiaMZ's Avatar
LugiaMZ
Togepi
 
Join Date: Dec 2011
Gender: Male
Hi everyone, I having two question to ask hope have everyone can answer me.

First question, I want to make a script for example player battle with a Mew, after battle and check player have catched Mew or not, if uncatched going to rebattle or etc. How to scripting it? Can everyone give me an example script and explain for me? I played Pokemon Ash Gray battle with Bulbasaur's it used this script, and I need it too. ><

Another question, how to make a uncatchable Pokemon?

Thanks.
Reply With Quote
  #22979  
Unread October 17th, 2012, 03:12 PM
poisonhearts628
Unhatched Egg
 
Join Date: Aug 2011
Gender: Male
Yeah, I checked out everything in the OW editor and everything checked out so I went back to a previous version and everything works the way it is supposed to now with one exception. My character's sprite is spot on color wise in NSE but when I load up my game the character is really bright. How do I fix this?
Reply With Quote
  #22980  
Unread October 18th, 2012, 12:00 AM
FirEmerald's Avatar
FirEmerald
Pokemon reverse engineer
 
Join Date: Aug 2012
Age: 15
Gender: Male
I already had it on that thread, yes it's for emerald, and I was just asking because some people might not look there or in other places before here.
Reply With Quote
  #22981  
Unread October 18th, 2012, 12:31 AM
CrystalStatic's Avatar
CrystalStatic
Scripting Wizard
 
Join Date: Nov 2011
Location: USA
Gender: Male
Nature: Careful
Quote:
Originally Posted by FirEmerald View Post
I already had it on that thread, yes it's for emerald, and I was just asking because some people might not look there or in other places before here.
Na, there's really no point. If it's already on the Pokecommunity somewhere then there's no reason to post it again.
Reply With Quote
  #22982  
Unread October 18th, 2012, 01:49 AM
PunsAreFun
Unhatched Egg
 
Join Date: Jul 2012
For example, lets say I have a cave in Pewter City that warps to the Rock Tunnel map. Now if I look at the Pokedex area map it'll tell me they're in Rock Tunnel when really you get there from Pewter (obviously). So I guess what I'm asking is, is there a way for me to tell the Pokedex where a Pokemon is without it really being there? And vise versa?
Reply With Quote
  #22983  
Unread October 18th, 2012, 09:43 AM
borisjo's Avatar
borisjo
Scripter (XSE, pokescript)
 
Join Date: Mar 2011
Gender: Male
I have a question about levelscripts. I've been searching but I can't seem to find an answer , my question is: do levelscripts work if you get back to the map after a wild pokemon battle? Some sort of a safari type, when you catch a pokemon, the script detects it with special2 command and you get warped out of there. Can levelscripts work after a battle and if they can, how do I make it to work? Thanks in advance!
Reply With Quote
  #22984  
Unread October 18th, 2012, 11:46 AM
Jambo51's Avatar
Jambo51
Thinking about quitting...
 
Join Date: Jun 2009
Location: Livingston, Scotland
Gender: Male
Nature: Quiet
Quote:
Originally Posted by PunsAreFun View Post
For example, lets say I have a cave in Pewter City that warps to the Rock Tunnel map. Now if I look at the Pokedex area map it'll tell me they're in Rock Tunnel when really you get there from Pewter (obviously). So I guess what I'm asking is, is there a way for me to tell the Pokedex where a Pokemon is without it really being there? And vise versa?
There isn't yet, but I'm working on this very thing for roaming legendaries. If I work it out, I'll post something in R&D, so keep an eye on R&D.

Quote:
Originally Posted by borisjo View Post
I have a question about levelscripts. I've been searching but I can't seem to find an answer , my question is: do levelscripts work if you get back to the map after a wild pokemon battle? Some sort of a safari type, when you catch a pokemon, the script detects it with special2 command and you get warped out of there. Can levelscripts work after a battle and if they can, how do I make it to work? Thanks in advance!
Level script type 5 triggers every time you refresh the OW screen (with, perhaps the exception of special 0x8E). There isn't one which only triggers after battle, but if you write your script well, that won't matter too much.
__________________


Guys, please don't send me question which belong in the Simple Questions or Scripting Help threads. I don't mind the occasional question about ASM or something, though. And definitely don't send me PMs or VMs asking for help with your hack or requesting custom ASM. I will not answer.
Reply With Quote
  #22985  
Unread October 18th, 2012, 08:25 PM
borisjo's Avatar
borisjo
Scripter (XSE, pokescript)
 
Join Date: Mar 2011
Gender: Male
Quote:
Originally Posted by Jambo51 View Post
Level script type 5 triggers every time you refresh the OW screen (with, perhaps the exception of special 0x8E). There isn't one which only triggers after battle, but if you write your script well, that won't matter too much.
Thank you for replying! But I have no idea how to make this levelscript type 5 to work, I've tried many things but the screen stays black when I come back to the map after a battle. I hope you know how I can solve this? I have added the script here:

Spoiler:
#dynamic 0x3C9E86

#org @start
setvar 0x7001 0x1
setvar 0x8004 0xEC
special2 0x800D 0x17C
compare 0x800D 0x1
if 0x1 goto @have
setvar 0x8004 0xCC
special2 0x800D 0x17C
compare 0x800D 0x1
if 0x1 goto @have
setvar 0x8004 0xD7
special2 0x800D 0x17C
compare 0x800D 0x1
if 0x1 goto @have
release
end

#org @have
lock
msgbox @1 0x2
fadescreen 0x1
fadescreen 0x0
warp 0x0 0x05 0xFF 0x1A 0x0E
applymovement 0xFF @move

#org @1
= Attention! We have our\nlast member: \vh01!

#org @move
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0xFE
Reply With Quote
  #22986  
Unread October 18th, 2012, 08:59 PM
Jambo51's Avatar
Jambo51
Thinking about quitting...
 
Join Date: Jun 2009
Location: Livingston, Scotland
Gender: Male
Nature: Quiet
Quote:
Originally Posted by borisjo View Post
Thank you for replying! But I have no idea how to make this levelscript type 5 to work, I've tried many things but the screen stays black when I come back to the map after a battle. I hope you know how I can solve this? I have added the script here:

Script removed for brevity.
You can't execute scripts like that using type 5 level scripts. It explicity requires type 2, which in turn, is variable reliant.

Try setting a variable you haven't used inside the type 5 script:
Spoiler:
#dynamic 0x800000

#org @main
[Checks for caught Pokémon]
[If not caught, branch to @alt]
setvar 0x40F0 0x1
end

#org @alt
end


And then putting the "exit" script in the type 2 level script slot, using (in my example) var 0x40F0 as the control value, and set the "value" to 1.

Your script requires some modification, because you can't warp and then continue execution of the script, so it needs split up into 2 parts.

Type 2 level script (Map 1, same map as type 5 script from above):
Spoiler:
lock
msgbox @1 0x2
warp 0x0 0x05 0xFF 0x1A 0x0E
waitstate
setvar 0x40F0 0x2
release
end

#org @1
= Attention! We have our\nlast member: \vh01!


Finally, you need to (in the map you warp back to) add yet another type 2 level script which contains the remaining movement part. The var is still 0x40F0, but the value is now 2:
Spoiler:
lock
applymovement 0xFF @move
waitmovement 0x0
setvar 0x40F0 0x3
release
end

#org @move
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0xFE


I know for a fact that the last 2 parts will work, but I'm not sure about the type 5 level script part. It's worth a try. If it doesn't work, you're looking at ASM hacking to get your desired result, and that's not fun.
__________________


Guys, please don't send me question which belong in the Simple Questions or Scripting Help threads. I don't mind the occasional question about ASM or something, though. And definitely don't send me PMs or VMs asking for help with your hack or requesting custom ASM. I will not answer.
Reply With Quote
  #22987  
Unread October 18th, 2012, 09:31 PM
borisjo's Avatar
borisjo
Scripter (XSE, pokescript)
 
Join Date: Mar 2011
Gender: Male
Quote:
Originally Posted by Jambo51 View Post
You can't execute scripts like that using type 5 level scripts. It explicity requires type 2, which in turn, is variable reliant.

Try setting a variable you haven't used inside the type 5 script:
Spoiler:
#dynamic 0x800000

#org @main
[Checks for caught Pokémon]
[If not caught, branch to @alt]
setvar 0x40F0 0x1
end

#org @alt
end


And then putting the "exit" script in the type 2 level script slot, using (in my example) var 0x40F0 as the control value, and set the "value" to 1.

Your script requires some modification, because you can't warp and then continue execution of the script, so it needs split up into 2 parts.

Type 2 level script (Map 1, same map as type 5 script from above):
Spoiler:
lock
msgbox @1 0x2
warp 0x0 0x05 0xFF 0x1A 0x0E
waitstate
setvar 0x40F0 0x2
release
end

#org @1
= Attention! We have our\nlast member: \vh01!


Finally, you need to (in the map you warp back to) add yet another type 2 level script which contains the remaining movement part. The var is still 0x40F0, but the value is now 2:
Spoiler:
lock
applymovement 0xFF @move
waitmovement 0x0
setvar 0x40F0 0x3
release
end

#org @move
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0xFE


I know for a fact that the last 2 parts will work, but I'm not sure about the type 5 level script part. It's worth a try. If it doesn't work, you're looking at ASM hacking to get your desired result, and that's not fun.
It's been a while since I scripted XSE so I need to get back into it also I'm dutch and learning a scripting language in English is not the easiest for me so I hope you can explain some more about this.

I understand I need to make 3 scripts, 1 type 5 levelscript that detects that I caught(or that I didn't caught) a specific pokemon.
1 type 2 levelscript that warps me to a certain point and 1 typ2 levelscript that makes me move.
But I don't quite understand how these scripts follow up to each other.
I can't follow the 0x40F0 part, when it's set to 1 does the next script sees it because it is going to set the variable to value 2? Sorry if my grammar isn't good, I'm trying my best!

I hope you will take time to explain this to me, again thanks in advance!
Reply With Quote
  #22988  
Unread October 18th, 2012, 10:33 PM
CrystalStatic's Avatar
CrystalStatic
Scripting Wizard
 
Join Date: Nov 2011
Location: USA
Gender: Male
Nature: Careful
I have a question. Hope someone can answer

My question is this: How can I make the "BF1" titles go away in Pokemon Fire Red? What I mean is, in the Team Rocket hideout, when you go from place to place, the map title that pops up every time you go into a new map is something like "ROCKET HIDEOUT" but then there is another string of text that says "BF1" or "BF2", which stands for bottom floor. How would I go about getting rid of these strings of text?

Thank you for your time in advanced.
Reply With Quote
  #22989  
Unread October 19th, 2012, 12:14 AM
PunsAreFun
Unhatched Egg
 
Join Date: Jul 2012
Quote:
Originally Posted by CrystalStatic View Post
I have a question. Hope someone can answer

My question is this: How can I make the "BF1" titles go away in Pokemon Fire Red? What I mean is, in the Team Rocket hideout, when you go from place to place, the map title that pops up every time you go into a new map is something like "ROCKET HIDEOUT" but then there is another string of text that says "BF1" or "BF2", which stands for bottom floor. How would I go about getting rid of these strings of text?

Thank you for your time in advanced.
In the Advnace Map Header go to "Show Name on Entering" and change it to 02??
That should do the trick.

I wrote a level script that will show certain sprites if certain flags are set. The first time I visited it set the sprites correctly. But now when I go back there, nothing shows up! Why is that? Is there a way to write a level script to make sprites appear/disappear every time you enter?

Last edited by PunsAreFun; October 19th, 2012 at 12:22 AM. Reason: Your double post has been automatically merged.
Reply With Quote
  #22990  
Unread October 19th, 2012, 12:38 AM
CrystalStatic's Avatar
CrystalStatic
Scripting Wizard
 
Join Date: Nov 2011
Location: USA
Gender: Male
Nature: Careful
Quote:
Originally Posted by PunsAreFun View Post
In the Advnace Map Header go to "Show Name on Entering" and change it to 02??
That should do the trick.

I wrote a level script that will show certain sprites if certain flags are set. The first time I visited it set the sprites correctly. But now when I go back there, nothing shows up! Why is that? Is there a way to write a level script to make sprites appear/disappear every time you enter?
What is the level script set to? 02 Validates Values, or what?
Reply With Quote
  #22991  
Unread October 19th, 2012, 12:41 AM
PunsAreFun
Unhatched Egg
 
Join Date: Jul 2012
Quote:
Originally Posted by CrystalStatic View Post
What is the level script set to? 02 Validates Values, or what?
My double post was combined. The level script was a separate question that I was asking. What you need to set to 02?? is in the header tab under "show name on entering".
Reply With Quote
  #22992  
Unread October 19th, 2012, 12:48 AM
CrystalStatic's Avatar
CrystalStatic
Scripting Wizard
 
Join Date: Nov 2011
Location: USA
Gender: Male
Nature: Careful
Quote:
Originally Posted by PunsAreFun View Post
My double post was combined. The level script was a separate question that I was asking. What you need to set to 02?? is in the header tab under "show name on entering".
Yes, I know, and it worked. Thanks for that by the way. But I was asking what you set your level script to.
Reply With Quote
  #22993  
Unread October 19th, 2012, 01:04 AM
PunsAreFun
Unhatched Egg
 
Join Date: Jul 2012
Quote:
Originally Posted by CrystalStatic View Post
Yes, I know, and it worked. Thanks for that by the way. But I was asking what you set your level script to.
Oh, my bad. I had it set to 2.
Reply With Quote
  Click here to go to the next staff post in this thread.   #22994  
Unread October 19th, 2012, 01:55 AM
DrFuji's Avatar
DrFuji
Innocence Lost
 
Join Date: Sep 2009
Location: Upside-downia
Age: 20
Gender: Male
Nature: Jolly
Quote:
Originally Posted by CrystalStatic View Post
I have a question. Hope someone can answer :)

My question is this: How can I make the "BF1" titles go away in Pokemon Fire Red? What I mean is, in the Team Rocket hideout, when you go from place to place, the map title that pops up every time you go into a new map is something like "ROCKET HIDEOUT" but then there is another string of text that says "BF1" or "BF2", which stands for bottom floor. How would I go about getting rid of these strings of text?

Thank you for your time in advanced.
I know PunsAreFun answered your question, but from the sounds of this post it seemed like you wanted to retain the 'ROCKET HIDEOUT' text but get rid of the B1F part. Its an easy thing to do, but I'm also going to explain how (both types of) the floor numbers are activated in case you or anybody else ever needs to edit them/ add them back in :P

The floor number is determined by the third and second last bytes in the map header - The map header can be viewed by going into the header tab of Advance Map and pressing Ctrl+H. Here is a comparison of the main Celadon City map, the first floor of the Department Store and the first floor of the Rocket Hideout respectively.



The bytes in the red and blue boxes are the ones we're interested in (though more-so the red one). The blue boxes are highlighting a feature that is already present in the header setting - It is actually the 'Show name on entering' option which is available in the default header tab. I'm just highlighting it here since it needs to be set to 4, 5, 6 or 7 in order for the drop down box to be displayed.

The game determines whether it should designate a floor number to the map based on the second byte. If you're climbing a tower the byte ascends in a pretty logical fashion: 0x1 = 1F, 0x2 = 2F, 0x3 = 3F etc, all the way up to 0x63 (99F) because the game can't display a third digit pushing it over into the 100's.

The basement floors have another system entirely which is slightly less apparent. They begin at 0xFF and start to descend, making the pattern: 0xFF = B1F, 0xFE = B2F, 0xFD = B3F etc. Essentially, the basement floor numbering is exactly the same as regular flooring, except in reverse. It also stops at 0x9D (B99F) because once again the display would require an extra character to be displayed, causing it to glitch slightly.

With this information there are two options which are now open to you: Remove the map name display entirely (by changing whether it should be displayed or not) or just get rid of the numbering. Since you want the latter, just change the byte in the red box to 00 and those pesky floor numbers should never trouble you on that map again :D

Quote:
Originally Posted by PunsAreFun View Post
I wrote a level script that will show certain sprites if certain flags are set. The first time I visited it set the sprites correctly. But now when I go back there, nothing shows up! Why is that? Is there a way to write a level script to make sprites appear/disappear every time you enter?
The 02 type of level script will only activate when the chosen variable is set to a chosen value (What you've put into the Flag and Value boxes), but simultaneously the variable's value needs to be changed within the script to prevent it from repeating forever. Essentially this means that the script will only be played once upon entering the map but the variable's value will need to be reset in order for it to activate a second time when you enter again. Its very finicky and awkward to have a type 02 script activate every time you enter a map, especially if the player can fly to that exact map.

If you want a script that plays every time, you can use level script numbers 03, 05 and 07, whose descriptions are shown in A-Map. They don't need a variable/ value combination to be activated and checkflag commands should work so they're great for the kind of thing you're talking about. Hopefully this helps.
__________________

Moderator of Emulation
Partner in Crime with giradialkia
Paired with Fireworks
A Shade of Lilac
Sig Credits


Laura Kinney
          → Regenerative Healing Factor
          → Adamantium-laced Bone Claws
          → Superhuman Senses
          → Expert Assassin
          → Weapon X


"I want to make my own life. Before someone else makes it for me. Again."
X-23

Reply With Quote
  #22995  
Unread October 19th, 2012, 11:55 AM
RanQrusu
Unhatched Egg
 
Join Date: Oct 2012
Gender: Male
Hi everbody!

I didn't really know where to post my question, so i decided to post it here and hope it isn't too long.

I am currently working on a Pokemon Emerald Hack and since i'm not all that experienced, i need your help with the program "Advance Trainer".
I started off with the tool "Advance Starter" and changed the starters to Meowth, Snubbull and Whismur.
Now i'm trying to change the Rivals Starter-Pokemon directly in "Advance Trainer" to Mankey, Tyrogue and Makuhita. I first of all gave all a new offset cause of the custom moveset and item. It always works for the first Pokemon i change, but as soon as i change the second, the first one gets either reset or gets really strange movesets and items.

An example would be: I change the Rival with the Mudkip as Starter and give him a Tyrogue, i give it the moves "Fake Out" and "Tackle". Now, if i go and change the Rival with the Torchic to a Mankey, the Tyrogues Moveset changes to stuff like "Pay Day". If i go change it back, the Mankey gets reset and there's a Torchic again.

I guess it has to do with some sort of link those trainer files have to each other, does someone know how i can fix this?

Too, i'd really love to implement my own music, would be grateful if you can link me the most easy-to-understand guide in this forum!

Best regards and sorry for my bad English, i'm a foreigner.
RanQrusu

Last edited by RanQrusu; October 19th, 2012 at 12:16 PM.
Reply With Quote
  #22996  
Unread October 19th, 2012, 01:44 PM
Krika
Unhatched Egg
 
Join Date: Oct 2011
Gender: Male
When I try and load my Emerald ROM in A-Trainer, I get an error message saying "Subscript is out of range - DrawTile8@ModLZ77", and then I can't proceed any farther? This is the first time that this has happened when I've used it, so I'm not sure what the issue is. It isn't just my modified ROM, a clean one gets the same message.

Also, the Bug.txt file gets this printed out into it: "20121016|224113|6.1.7601|0.9.1|DrawTile8|9|modLZ77|Subscript out of range|4" if that helps identify the problem.

This is kinda a big deal, so if someone could help me fix this, I'd really appreciate it.
Reply With Quote
  #22997  
Unread October 19th, 2012, 06:36 PM
MrSandman64's Avatar
MrSandman64
Pokemon Moon Creator
 
Join Date: Jul 2012
Location: Massachusetts
Gender: Male
How do you change the cry in the fire red title screen (when you press start)
Reply With Quote
  #22998  
Unread October 19th, 2012, 08:46 PM
CrystalStatic's Avatar
CrystalStatic
Scripting Wizard
 
Join Date: Nov 2011
Location: USA
Gender: Male
Nature: Careful
Quote:
Originally Posted by MrSandman64 View Post
How do you change the cry in the fire red title screen (when you press start)
Use a little somethin' called Title Screen Cry Changer:

http://www.mediafire.com/?7n5uje5bh3nh946
Reply With Quote
  #22999  
Unread October 19th, 2012, 11:22 PM
awipe1's Avatar
awipe1
Unhatched Egg
 
Join Date: Sep 2012
Gender: Male
Is there a way to create new routes in advanced map?
I have routes 1-25 but when I create a new map and give it a new route, it will just change the name of the map that I originally used.
Can someone give me very detailed instructions on how to create a new route. Please and thank you.
__________________
Pokemon BC

ARTIST NEEDED!
Reply With Quote
  #23000  
Unread October 19th, 2012, 11:41 PM
itman
Back to ROM hacking. :D
 
Join Date: May 2007
Age: 19
Nature: Adamant
Quote:
Originally Posted by awipe1 View Post
Is there a way to create new routes in advanced map?
I have routes 1-25 but when I create a new map and give it a new route, it will just change the name of the map that I originally used.
Can someone give me very detailed instructions on how to create a new route. Please and thank you.
Are you trying to add more routes, as in route#26, or trying to just make a new route in general?

For the names, you can only replace the names; you can't add more. So if you wanted to make a "Route 26", you'd have to change that map to an existing name, and then edit that name. So if you changed it to, let's say "Tanoby Ruins" and then edited it to say "Route 26", that name will now permanently be "Route 26" for any map using the old "Tanoby Ruins" name.
Reply With Quote
Reply
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. The time now is 12:10 PM.


Style by Perdition Haze, artwork by Sa-Dui.
Like our Facebook Page Follow us on TwitterMessage Board Statistics | © 2002 - 2013 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to Pokémon USA, Inc. and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company, Pokémon USA, Inc., The Pokémon Company International, or Wizards of the Coast. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2013 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 posts belong to the user.