• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • Serena, Kris, Dawn, Red - which Pokémon protagonist is your favorite? Let us know by voting in our grand final favorite protagonist poll!
  • PokéCommunity supports the Stop Killing Games movement. If you're a resident of the UK or EU, consider signing one of the petitions to stop publishers from destroying games. Click here for more information!
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Nicknaming Pokemon turns into ?????????? after taking Potion from PC

For whatever reason, when my script that gives the player their starter Pokemon asks for the nickname, it replaces the Pokemon with ???????? if the player has grabbed his/her potion from PC at the beginning of the game. However, if they didn't, it works perfectly fine. What could be causing this issue?
 
The nicknaming special determines which Pokemon you're nicknaming by the value in variable 0x8004. A value of 0x0 indicates that you're nicknaming the first Pokemon, 0x1 is the second etc. Now the game starts out with 0x8004 set to 0x0 by default, but turning on the PC in the player's room (not even taking out the item), 0x8004 is set to 0x1 as an argument for the PC special. So if you interact with the PC, 0x8004 is no longer set to 0x0, leaving the nicknaming special to try and nickname the second Pokemon in your party which doesn't exist, leading to the error you're receiving. To fix this, edit your script to include the command 'setvar 0x8004 0x0' before the nicknaming special and everything should work perfectly.
 
The nicknaming special determines which Pokemon you're nicknaming by the value in variable 0x8004. A value of 0x0 indicates that you're nicknaming the first Pokemon, 0x1 is the second etc. Now the game starts out with 0x8004 set to 0x0 by default, but turning on the PC in the player's room (not even taking out the item), 0x8004 is set to 0x1 as an argument for the PC special. So if you interact with the PC, 0x8004 is no longer set to 0x0, leaving the nicknaming special to try and nickname the second Pokemon in your party which doesn't exist, leading to the error you're receiving. To fix this, edit your script to include the command 'setvar 0x8004 0x0' before the nicknaming special and everything should work perfectly.

That seems to have fixed it! Thank you! Is there something similar that I need to do for future give Pokemon scripts? Or is this the only case where this could happen?
 
Last edited:
Back
Top