Community

The PokéCommunity

We are still working on a better slogan!

Visit Index



Advertise here

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Notices

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.

Post Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #201    
Old February 5th, 2010, 05:11 AM
Quil
Me
 
Join Date: Dec 2006
Age: 19
Nature: Sassy

Advertise here
JPAN, I got an idea for a new addition ;D

A HM/TM hack, that makes TM show up with a blue name when you select a pokemon in the status screen, and make it possible to link it to a script. That means we can create custom HM's, and custom field TM's. That would be pretty cool, imo ;p

What do ya think?


  #202    
Old February 5th, 2010, 07:47 AM
HackMew's Avatar
HackMew
Mewtwo Strikes Back
 
Join Date: Jun 2006
Quote:
Originally Posted by >Dante< View Post
from which offset is advisable to begin to make script??
It is usually begun by 0x800000 but..this ROM has very more space of a normal ROM ^^"
You could even start at 0x720000, if you want.


Quote:
Originally Posted by Quil View Post
JPAN, I got an idea for a new addition ;D

A HM/TM hack, that makes TM show up with a blue name when you select a pokemon in the status screen, and make it possible to link it to a script. That means we can create custom HM's, and custom field TM's. That would be pretty cool, imo ;p
To be honest, I doubt that just linking them to a script might be a good idea.
  #203    
Old February 5th, 2010, 09:14 AM
Quil
Me
 
Join Date: Dec 2006
Age: 19
Nature: Sassy
Quote:
Originally Posted by HackMew View Post
To be honest, I doubt that just linking them to a script might be a good idea.
What would be the problem? I don't know ASM myself, and I am just doing a suggestion.. I think that it would be pretty nice to have your 'custom' field-moves like Headbutt for headbutt trees also show up like Dig, Fly, and Surf. And as HM's are also being modified to give them a custom effect, the use in the status screen would stay the same, which isn't right.


  #204    
Old February 5th, 2010, 09:20 AM
HackMew's Avatar
HackMew
Mewtwo Strikes Back
 
Join Date: Jun 2006
Quote:
Originally Posted by Quil View Post
What would be the problem? I don't know ASM myself, and I am just doing a suggestion..
Well, I'm just saying scripting could not be enough/appropriate to handle some HM moves.
  #205    
Old February 5th, 2010, 02:30 PM
Quil
Me
 
Join Date: Dec 2006
Age: 19
Nature: Sassy
Quote:
Originally Posted by HackMew View Post
Well, I'm just saying scripting could not be enough/appropriate to handle some HM moves.
Ah, that way ;p I misunderstood you. Yeah, that's right. HM's like Surf and Fly can't be made though scripting. Headbutt, however, can. ;p


  #206    
Old February 6th, 2010, 06:11 AM
diegoisawesome's Avatar
diegoisawesome
Not the Script Help Thread
Community Supporter
 
Join Date: Dec 2007
Location: Goldenrod City, Johto
Age: 17
Gender: Male
Nature: Quirky
JPAN, I have yet another bug:
When placing a script to be called at a button press, all the game does is not permit me to move while I have that button pressed. Once I let go, I can move again. The script is never called.

Also, on the trainer battle script runner, can you make a sound 0x15 happen at the ! mark?


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles

Last edited by diegoisawesome; February 6th, 2010 at 05:31 PM.
  #207    
Old February 7th, 2010, 10:23 AM
Derlo's Avatar
Derlo
Braziliam Hacker!! De Mossoró
 
Join Date: Aug 2007
Send a message via Windows Live Messenger to Derlo
JPAN I used the Specials 0x52 to the 0x55, and found a problem.

When we use the 0x52 or 0x54 to put a status on any of the pokemon (example: SLEEP), and when we use the 0x53 and 0x55 to "turn off" the special, everything is fine.

But .. when we catch the pokemon in question, it comes with with POISON status.

EDIT:
I found another problem.

When the routine is started, and the wild pokemon appearing on this being affected by it. Sometimes the status is only in Battlebox, but the pokemon in question is not suffering the damage status.

Example: A pokemon with SLEEP.

Sometimes the animation of Z (ZzZzZ. ..) does not appear, and the pokemon attacks us as if its status was normal.

No way to solve this problems?

Last edited by Derlo; February 8th, 2010 at 07:32 AM. Reason: Another Bug
  #208    
Old February 9th, 2010, 09:16 AM
Giga Universe's Avatar
Giga Universe
Working on a tool.
 
Join Date: Aug 2007
Location: South Africa
Age: 19
Gender: Male
Nature: Calm
Send a message via ICQ to Giga Universe Send a message via AIM to Giga Universe Send a message via Yahoo to Giga Universe Send a message via Skype™ to Giga Universe
Quote:
Originally Posted by diegoisawesome View Post
JPAN, I have yet another bug:
When placing a script to be called at a button press, all the game does is not permit me to move while I have that button pressed. Once I let go, I can move again. The script is never called.

Also, on the trainer battle script runner, can you make a sound 0x15 happen at the ! mark?
JPAN already helped me solve this. Quite simple really (I assume you talking about place key script?)

Open the ROM you patched with the engine in a hex editor. Navigate to 0x16008C. Reverse the pointer stored at 0x16008C, add 0x12, then navigate to this new offset. The byte should be a 0x91, change it to a 0x81. Fixed!


Quote:
Originally Posted by Quil View Post
Ah, that way ;p I misunderstood you. Yeah, that's right. HM's like Surf and Fly can't be made though scripting. Headbutt, however, can. ;p
Yes, however, the headbutt script can only be run when the user presses A on a tree, but Surf is a tile permission and fly is called through the party screen. Both of these would require ASM routines, and it would probably be hard to make them call a script without bugs. So if you wanted something like this,the best option would probably be to create an ASM routine that does what you want within the routine, rather than calling a script.
  #209    
Old February 9th, 2010, 03:36 PM
diegoisawesome's Avatar
diegoisawesome
Not the Script Help Thread
Community Supporter
 
Join Date: Dec 2007
Location: Goldenrod City, Johto
Age: 17
Gender: Male
Nature: Quirky
Quote:
Originally Posted by Giga Universe View Post
JPAN already helped me solve this. Quite simple really (I assume you talking about place key script?)

Open the ROM you patched with the engine in a hex editor. Navigate to 0x16008C. Reverse the pointer stored at 0x16008C, add 0x12, then navigate to this new offset. The byte should be a 0x91, change it to a 0x81. Fixed!
Thank you! It works perfectly now!
The only odd thing is the 0x91 byte was one before the reversed offset+12 pointed to. Thanks again!


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
  #210    
Old February 9th, 2010, 06:57 PM
JPAN
pokemon rom researcher
 
Join Date: Dec 2008
Quote:
Originally Posted by diegoisawesome View Post
JPAN, I've got a problem here:
Using your "change Pokémon species special", I successfully changed the species of Pokémon that the player had. But when I went into the status screen, the game crashed on a black screen. The thing is, after going into battle with it (successfully, no errors) and gaining some Exp., the status screen is again viewable.
I warned about this when I first created the code, but it seems I forgot to add the disclaimer to the manual. Change pokemon species should only be used with pokemon that share the same experience curve. The reason the game crashes when you try to see the status screen is because the pokemon should already be at the next level, and has negative amount of experience until it reaches. That would make the blue bar on the bottom circle around the screen infinitely (if you're lucky, some experience differences can cause you to see it without crashing). This bug first appeared with the experience adding, but because I had no information about leveling up (the algorithm to level up a pokemon is still unknown to me), i couldn't make a decent level-up code. When you go into battle, the game calculates your level and experience based on the current species, and corrects the bug. For now, I have no fix other than ask you to only use the code with pokemon that share the same experience curve.

Quote:
Originally Posted by Derlo View Post
JPAN I used the Specials 0x52 to the 0x55, and found a problem.
When we use the 0x52 or 0x54 to put a status on any of the pokemon (example: SLEEP), and when we use the 0x53 and 0x55 to "turn off" the special, everything is fine.
But .. when we catch the pokemon in question, it comes with with POISON status.
The status code 0x54 is more of a "dumb" version of the 0x52 code. I created it to simplify trainer battles. It has several bugs that can be avoided with the use of 0x52. The status inducing specials use the game main status manager to replace the previous status with a new one. The game uses 5-7 times to manage a pokemon creation for battle, plus 2-3 for each other pokemon to create (trainer case). 0x52 counts those turns, and deactivates itself after the x time you gave it (usually 7). but 0x54 does not. That means any status is replaced by the code, even the ones induced with healing items and the like.
So, any bugs found with 0x54 will not be addressed. 0x54 is buggy by its nature.
If the POISON was caused by 0x54, change specials. If it happens with 0x52, then try different timers. 7 is the average, but 8 shouldn't be a problem. I myself tried with 0x52 several pokemon battles (activating with a level script, a walking script and even an item script), and in several roms, and the result seemed to be the same. Catching a pokemon was not affected (except for too high numbers on 0x8005, like 0xF) by the status inducer.

Quote:
Originally Posted by Derlo View Post
When the routine is started, and the wild pokemon appearing on this being affected by it. Sometimes the status is only in Battlebox, but the pokemon in question is not suffering the damage status.
Example: A pokemon with SLEEP.
Sometimes the animation of Z (ZzZzZ. ..) does not appear, and the pokemon attacks us as if its status was normal.
This problem is similar to the one above. It seems your game likes to generate pokemon with a higher number of status passes than usual. Try upping the counter a bit (9 tops) and check again. What is happening is that the status on the box and the one the pokemon has are calculated sperately (box is the 2-3 pass, pokemon actual status is the last).


On a separate note, I had to be away for a few days, so I did little work on the berry project until tonight. But until now the outlook looks good. I have successfully managed to make a "people tree" that cycles its look from hero, to hero bike to little kid to heroine, in 15 minutes. Longer tests are required, but the game is processing well the large time differences (up to 12 months difference in time), small intervals (minute updates) and graphic display (although the "tree" will not change until the OW is refreshed, be it through menu or moving to other map/loading zone).
Here are the links for my work


Currently working on:
Battle Script Documentation
Another large project
  #211    
Old February 10th, 2010, 05:24 AM
Derlo's Avatar
Derlo
Braziliam Hacker!! De Mossoró
 
Join Date: Aug 2007
Send a message via Windows Live Messenger to Derlo
Thanks, it was very good your explanation!

But the error should be remarked that actually the fact that my script HEADBUTT.
For some value is written to 0x8004 for the script, which makes any status becomes SLEEP in battle, but in POKEMENU become the POISON.

I will try to fix it.
Thank you and congratulations on the job.
  #212    
Old February 16th, 2010, 05:42 PM
NarutoActor's Avatar
NarutoActor
The rocks cry out to me
Community Supporter
 
Join Date: Jan 2009
Location: Brooklyn/Marlboro
Age: 20
Gender: Female
Nature: Bashful
Send a message via AIM to NarutoActor Send a message via Windows Live Messenger to NarutoActor
I am not sure if this has been said but the program keeps asking me for the "chose the variable for the wild pokemon switch" I paced a variable in but I won't stop asking me for it. I have tryed switching to a different variable but nothing makes it happy.

EDIT: never mind I didn't know that you have to put 0x
~There are those people who understand hex, F the rest

Last edited by NarutoActor; February 16th, 2010 at 06:20 PM.
  #213    
Old February 22nd, 2010, 07:06 AM
altariaking's Avatar
altariaking
Needs NO VMs...
 
Join Date: Dec 2009
Location: Scotland, Lesmahagow
Age: 40
Gender: Male
Nature: Naive
Send a message via Windows Live Messenger to altariaking
i'm confused. you said that there were more pallettes for overworlds, but when i opened the rom in my overworld editor, there were no new pallettes. is there something elde i need to do?
http://www.pokecommunity.com/member.php?u=253113
  #214    
Old February 22nd, 2010, 02:30 PM
NarutoActor's Avatar
NarutoActor
The rocks cry out to me
Community Supporter
 
Join Date: Jan 2009
Location: Brooklyn/Marlboro
Age: 20
Gender: Female
Nature: Bashful
Send a message via AIM to NarutoActor Send a message via Windows Live Messenger to NarutoActor
Hex edit the table. look at the manual.
~There are those people who understand hex, F the rest
  #215    
Old February 28th, 2010, 06:02 AM
SuperJOCKE's Avatar
SuperJOCKE
Expert Trainer
 
Join Date: Jan 2010
Location: Sweden
Age: 22
Gender: Male
Nature: Calm
I don't know if this is the right thread to be asking this in, but do anyone of you know how many bytes one move/attack lies on? When I'm editing the attacks for the empty slots they overlap so the attacks from one Pokémon is also on the Pokémon before.

Last edited by SuperJOCKE; February 28th, 2010 at 09:44 AM.
  #216    
Old February 28th, 2010, 06:39 AM
altariaking's Avatar
altariaking
Needs NO VMs...
 
Join Date: Dec 2009
Location: Scotland, Lesmahagow
Age: 40
Gender: Male
Nature: Naive
Send a message via Windows Live Messenger to altariaking
Quote:
Originally Posted by SuperJOCKE View Post
I don't know if this is the right thread to be asking this in, but to do anyone of you know how many bytes one move/attack lies on? When I'm editing the attacks for the empty slots they overlap so the attacks from one Pokémon is also on the Pokémon before.
the simple questions thread is where you should go i think.
jpan, is it possible to make it so that when you step on a green s, a shiny pokemon appears in your party if you use this?
http://www.pokecommunity.com/member.php?u=253113
  #217    
Old February 28th, 2010, 11:36 AM
NarutoActor's Avatar
NarutoActor
The rocks cry out to me
Community Supporter
 
Join Date: Jan 2009
Location: Brooklyn/Marlboro
Age: 20
Gender: Female
Nature: Bashful
Send a message via AIM to NarutoActor Send a message via Windows Live Messenger to NarutoActor
there is a way, here is a quick basic script (of corse much needs to be added) but in jpans other thread he posted a routine that makes party pokemon shinny.
checkitem
if true goto @shinny
@shinny
callasm @shinny
~There are those people who understand hex, F the rest
  #218    
Old February 28th, 2010, 04:16 PM
SuperJOCKE's Avatar
SuperJOCKE
Expert Trainer
 
Join Date: Jan 2010
Location: Sweden
Age: 22
Gender: Male
Nature: Calm
Quote:
Originally Posted by altariaking View Post
the simple questions thread is where you should go i think.
jpan, is it possible to make it so that when you step on a green s, a shiny pokemon appears in your party if you use this?
And where might that be? I'v looked for it but I can't find it. If it's out there of course. xP

Last edited by SuperJOCKE; February 28th, 2010 at 04:36 PM. Reason: Your double post has been automatically merged.
  #219    
Old February 28th, 2010, 06:30 PM
Midori's Avatar
Midori
Deep Sea Tentacruel
 
Join Date: Feb 2010
Age: 24
Gender: Female
Nature: Adamant
Can this extended rom be hacked using the conventional tools like AdvanceMap?
  #220    
Old February 28th, 2010, 07:46 PM
NarutoActor's Avatar
NarutoActor
The rocks cry out to me
Community Supporter
 
Join Date: Jan 2009
Location: Brooklyn/Marlboro
Age: 20
Gender: Female
Nature: Bashful
Send a message via AIM to NarutoActor Send a message via Windows Live Messenger to NarutoActor
up to $FFFFFF, advance map will support 7 digit offsets in it's next release.
~There are those people who understand hex, F the rest
  #221    
Old February 28th, 2010, 07:55 PM
altariaking's Avatar
altariaking
Needs NO VMs...
 
Join Date: Dec 2009
Location: Scotland, Lesmahagow
Age: 40
Gender: Male
Nature: Naive
Send a message via Windows Live Messenger to altariaking
Quote:
Originally Posted by SuperJOCKE View Post
And where might that be? I'v looked for it but I can't find it. If it's out there of course. xP
...it's in the rom hacking forum and it's stickied...
http://www.pokecommunity.com/member.php?u=253113
  #222    
Old March 2nd, 2010, 03:18 PM
Gold Man's Avatar
Gold Man
Beginning Trainer
 
Join Date: Mar 2009
Gender:
I have a problem when I open the tool to patch the rom and stuff the whole thing dosn't show help.
  #223    
Old March 4th, 2010, 04:44 PM
diegoisawesome's Avatar
diegoisawesome
Not the Script Help Thread
Community Supporter
 
Join Date: Dec 2007
Location: Goldenrod City, Johto
Age: 17
Gender: Male
Nature: Quirky
JPAN, I have a bug.
With the RTC and D/N installed, the palette expansion will not work. It does not load the new palette whenever the time is not Day.

EDIT: It doesn't even load the palette when the time is NOT Day! I believe it is a conflict with the entire D/N system.

EDIT 2: Another bug I found: When you use Teleport, it asks you if you want to go back to Celadon Dept. Store. If you say yes, you get warped to map 0,0, and you're stuck there.


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles

Last edited by diegoisawesome; March 7th, 2010 at 12:20 PM.
  #224    
Old March 11th, 2010, 04:47 AM
Prof. Briar
Beginning Trainer
 
Join Date: Apr 2008
Gender:
All right...you asked for suggestions, so I've got some. Be warned, this is something specific. I don't know if it will have relevance to anyone else's projects, though I believe so.

First of all, some explaining is in order. I've been looking for ways to make the game more like the show. In that, I decided that the obvious place to start was the core of the game experience...the battle system. This means making some major changes to the battle engine itself. Since you've already built a framework, I thought I'd bounce some of what I would need to be done off you.

+ Ability to call up a command menu on the opponent's "turn"...by which I mean after their move is declared, but before the effect is applied.
+ Multiple battle menus called by variable.
+ Ability to define and call up multiple "versions" of a move (like how Secret Power changes by terrain, or Curse working differently for ghosts).

While there are a number of possible uses for these functions, it is my intent to use them to create a two-phase battle system, in which pokemon have not only an attacking turn, but also a defense turn. Of course, and so you don't think my request selfish, there are other ways it could be used as well. For example, multiple move versions could be used to make HM moves always the right type for the pokemon they're taught to (such as Fly becoming Dragon-Type for certain pokemon, or Flash changing to Fire for some users). The multiple battle menus and off-turn call systems might be used to make a battle in which a Trainer must be talked to during the fight.

Of course, it could be that some of this could be better accomplished through the creation of a utility. If you believe so, then I heartily thank you for your time, and apologize that my input has not been helpful.
Support RPG Toolkit, the best free engine ever!

Waitwhat?
  #225    
Old March 11th, 2010, 04:35 PM
icychill66
 
Join Date: Feb 2010
To start off, I have to say that this is the coolest and most useful hacking thing I have stumbled upon so far! I'm definitely using this in my hack.

I can't seem to get all of the decrypter specials to work =/. I got special 0x14 to work, which is the change captured ball special, but I can't get special 0xF to work! It's the EV adder/subtracter. I want it to add 170 EV's to the HP stat, by the way.

#dynamic 0x800000

#org @start
lock
bufferpartypokemon 0x0 0x1
setvar 0x8004 0x1
setvar 0x8005 0x0
setvar 0x8006 0x0AA
special 0x6
special 0xF
release
end
Post Reply
Quick Reply

Sponsored Links


Advertise here
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
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 04:26 AM.

About Us
© 2002 - 2014 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.

Copyright
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 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. Header artwork by Jordanice of deviantART.

Social Media
If you would like to stay up-to-date with us on the go, when we're down, or other such things, follow us on social media sites--most notibly Twitter, Facebook, and Google Plus--by clicking on the links provided.

Design presented by Peitharchia. Special thanks to Hiroshi Sotomura and Ausaudriel.