 |
|
 |

Back
12 Letter Names
Don't like the seven letter name limit for your trainer? Have a cool name for a pokemon but it goes 1 or 2 letters over the ten letter limit? This guide will allow you to have both the name of your trainer as well as the names of any pokemon (both species name and/or nickname) be upto 12 letters/characters.
Note that in a lot of these edits, the only thing that gets changed is one or more numbers.
First the trainer, this only requires two code edits.
In PokemonUtilities, find:
def pbTrainerName trname=pbEnterText("Your name?",0,7) trainertype=pbGetPlayerTrainerType gender=pbGetTrainerTypeGender(trainertype) if trname=="" trname=getRandomNameEx(gender,nil,1) end $Trainer=PokeBattle_Trainer.new(trname,trainertype) $PokemonBag=PokemonBag.new $PokemonTemp.begunNewGame=true end |
and replace with:
def pbTrainerName trname=pbEnterText("Your name?",0,12) trainertype=pbGetPlayerTrainerType gender=pbGetTrainerTypeGender(trainertype) if trname=="" trname=getRandomNameEx(gender,nil,1) end $Trainer=PokeBattle_Trainer.new(trname,trainertype) $PokemonBag=PokemonBag.new $PokemonTemp.begunNewGame=true end |
New code section as of April 24, 2009: In Pokemon Summary, find:
textpos=[ [_INTL("POKeMON INFO"),4,0,0,base,shadow], [_ISPRINTF("No. {1:03d}",pokemon.species),16,36,0,numberbase,numbershadow], [pokemon.name,6,196,0,base,shadow], [_INTL("/{1}",speciesname),0,228,0,base,shadow], [_INTL("Lv{1}",pokemon.level),64,254,0,base,shadow], [_INTL("TYPE/"),176,96,0,Color.new(0,0,0),Color.new(208,208,200)], [_INTL("C: CANCEL"),475,2,1,Color.new(0,0,0),Color.new(208,208,200)], [_ISPRINTF("ID No. {1:05d}",publicID),463,64,1,base,shadow], [abilityname,176,144,0,base,shadow], [abilitydesc,176,176,0,Color.new(0,0,0),Color.new(208,208,200)] ] |
and replace with:
textpos=[ [_INTL("POKeMON INFO"),4,0,0,base,shadow], [_ISPRINTF("No. {1:03d}",pokemon.species),16,36,0,numberbase,numbershadow], [pokemon.name,6,196,0,base,shadow], [_INTL("/{1}",speciesname),0,228,0,base,shadow], [_INTL("Lv{1}",pokemon.level),64,254,0,base,shadow], [_INTL("TYPE/"),176,96,0,Color.new(0,0,0),Color.new(208,208,200)], [_INTL("C: CANCEL"),475,2,1,Color.new(0,0,0),Color.new(208,208,200)], [_ISPRINTF("ID No. {1:05d}",publicID),483,64,1,base,shadow], [abilityname,176,144,0,base,shadow], [abilitydesc,176,176,0,Color.new(0,0,0),Color.new(208,208,200)] ] |
Now for pokemon names.
In PokeBattle_ActualScene, find:
def pbNameEntry(helptext) return pbEnterText(helptext,0,10) end |
and replace with:
def pbNameEntry(helptext) return pbEnterText(helptext,0,12) end |
in PokemonUtilities, find:
def pbNicknameAndStore(pokemon) if pbBoxesFull? Kernel.pbMessage(_INTL("There's no more room for Pokemon!\1")) Kernel.pbMessage(_INTL("The Pokemon Boxes are full and can't accept any more!")) return end speciesname=PBSpecies.getName(pokemon.species) $Trainer.seen[pokemon.species]=true $Trainer.owned[pokemon.species]=true if Kernel.pbConfirmMessage(_INTL("Would you like to give a nickname to {1}?",speciesname)) helptext=_INTL("{1}'s nickname?",speciesname) newname=pbEnterText(helptext,0,10) pokemon.name=newname if newname!="" end pbStorePokemon(pokemon) end |
and replace with:
def pbNicknameAndStore(pokemon) if pbBoxesFull? Kernel.pbMessage(_INTL("There's no more room for Pokemon!\1")) Kernel.pbMessage(_INTL("The Pokemon Boxes are full and can't accept any more!")) return end speciesname=PBSpecies.getName(pokemon.species) $Trainer.seen[pokemon.species]=true $Trainer.owned[pokemon.species]=true if Kernel.pbConfirmMessage(_INTL("Would you like to give a nickname to {1}?",speciesname)) helptext=_INTL("{1}'s nickname?",speciesname) newname=pbEnterText(helptext,0,12) pokemon.name=newname if newname!="" end pbStorePokemon(pokemon) end |
in script section "Compiler" (somewhere in the long method "def pbCompilePokemonData"), find:
elsif key=="Name" raise _INTL("Species name {1} is greater than 10 characters long (section {2}, PBS/pokemon.txt)",value,currentmap) if value.length>10 speciesnames[currentmap]=value |
and replace with:
elsif key=="Name" raise _INTL("Species name {1} is greater than 12 characters long (section {2}, PBS/pokemon.txt)",value,currentmap) if value.length>12 speciesnames[currentmap]=value |
This should allow names that are 12 letters long to be used. Now you must make some more edits to prevent text overlapping graphics-wise.
In PokeBattle_Actual Scene, find:
def refresh self.bitmap.clear return if !@battler.pokemon self.bitmap.blt(0,0,@databox,Rect.new(0,0,@databox.width,@databox.height)) pbSetSmallFont(self.bitmap) hpstring=_ISPRINTF("{1: 2d}/{2: 2d}",self.hp,@battler.totalhp) textpos=[] base=PokeBattle_Scene::BOXTEXTBASECOLOR shadow=PokeBattle_Scene::BOXTEXTSHADOWCOLOR genderX=self.bitmap.text_size(@battler.name).width genderX+=@spritebaseX+14 textpos.push([@battler.name,@spritebaseX+14,@spritebaseY+6,false,base,shadow]) if @battler.gender==0 # Male textpos.push([_INTL("?"),genderX,@spritebaseY+6,false,Color.new(8*8,25*8,31*8),shadow]) elsif @battler.gender==1 # Female textpos.push([_INTL("?"),genderX,@spritebaseY+6,false,Color.new(31*8,19*8,18*8),shadow]) end textpos.push([_INTL("Lv{1}",@battler.level),@spritebaseX+170,@spritebaseY+6,true,base,shadow]) if @showhp textpos.push([hpstring,@spritebaseX+170,@spritebaseY+40,true,base,shadow]) end |
and replace with:
def refresh self.bitmap.clear return if !@battler.pokemon self.bitmap.blt(0,0,@databox,Rect.new(0,0,@databox.width,@databox.height)) pbSetSmallFont(self.bitmap) hpstring=_ISPRINTF("{1: 2d}/{2: 2d}",self.hp,@battler.totalhp) textpos=[] base=PokeBattle_Scene::BOXTEXTBASECOLOR shadow=PokeBattle_Scene::BOXTEXTSHADOWCOLOR genderX=self.bitmap.text_size(@battler.name).width genderX+=@spritebaseX+14 textpos.push([@battler.name,@spritebaseX+9,@spritebaseY+6,false,base,shadow]) if @battler.gender==0 # Male textpos.push([_INTL("?"),genderX-5,@spritebaseY+6,false,Color.new(8*8,25*8,31*8),shadow]) elsif @battler.gender==1 # Female textpos.push([_INTL("?"),genderX-5,@spritebaseY+6,false,Color.new(31*8,19*8,18*8),shadow]) end textpos.push([_INTL("Lv{1}",@battler.level),@spritebaseX+180,@spritebaseY+6,true,base,shadow]) if @showhp textpos.push([hpstring,@spritebaseX+170,@spritebaseY+40,true,base,shadow]) end |
In PokemonSummary, find
textpos=[ [_INTL("POKeMON INFO"),4,0,0,base,shadow], [_ISPRINTF("No. {1:03d}",pokemon.species),16,36,0,numberbase,numbershadow], [pokemon.name,16,196,0,base,shadow], [_INTL("/{1}",speciesname),16,228,0,base,shadow], [_INTL("Lv{1}",pokemon.level),64,254,0,base,shadow], [_INTL("TYPE/"),176,96,0,Color.new(0,0,0),Color.new(208,208,200)], [_INTL("C: CANCEL"),475,2,1,Color.new(0,0,0),Color.new(208,208,200)], [_ISPRINTF("ID No. {1:05d}",publicID),463,64,1,base,shadow], [abilityname,176,144,0,base,shadow], [abilitydesc,176,176,0,Color.new(0,0,0),Color.new(208,208,200)] ] |
and replace with:
(if you've installed this modification into your game on or before April 7th, 2009, then please re-copy and re-paste this section into your game, as a small fix has been made.)
textpos=[ [_INTL("POKeMON INFO"),4,0,0,base,shadow], [_ISPRINTF("No. {1:03d}",pokemon.species),16,36,0,numberbase,numbershadow], [pokemon.name,6,196,0,base,shadow], [_INTL("/{1}",speciesname),0,228,0,base,shadow], [_INTL("Lv{1}",pokemon.level),64,254,0,base,shadow], [_INTL("TYPE/"),176,96,0,Color.new(0,0,0),Color.new(208,208,200)], [_INTL("C: CANCEL"),475,2,1,Color.new(0,0,0),Color.new(208,208,200)], [_ISPRINTF("ID No. {1:05d}",publicID),463,64,1,base,shadow], [abilityname,176,144,0,base,shadow], [abilitydesc,176,176,0,Color.new(0,0,0),Color.new(208,208,200)] ] |
In PokemonScreen, find:
|
class PokeSelectionSprite < SpriteWrapper attr_reader :selected attr_reader :preselected attr_reader :pokemon attr_reader :active attr_accessor :text def initialize(pokemon,index,doublebattle,viewport=nil) super(viewport) @pokemon=pokemon active=(doublebattle) ? (index<2) : (index<1) @active=active
if active @deselbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyActive.png") @selbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyActiveSel.png") @spriteXOffset=-16 @spriteYOffset=-2 @pokeballXOffset=-16 @pokeballYOffset=-16 @pokenameX=48 @pokenameY=22 @levelX=64 @levelY=40 @statusX=64 @statusY=44 @genderX=128 @genderY=40 @hpX=144 @hpY=72 @hpbarX=18 @hpbarY=62 @gaugeX=48 @gaugeY=66 @itemXOffset=16 @itemYOffset=40 @annotX=16 @annotY=64 else @deselbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyInactive.png") @selbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyInactiveSel.png") @spriteXOffset=-16 @spriteYOffset=-16 @pokeballXOffset=-16 @pokeballYOffset=-2 @pokenameX=44 @pokenameY=4 @levelX=60 @levelY=22 @statusX=60 @statusY=26 @genderX=128 @genderY=22 @hpX=274 @hpY=22 @hpbarX=146 @hpbarY=12 @gaugeX=176 @gaugeY=16 @itemXOffset=16 @itemYOffset=28 @annotX=144 @annotY=8 end |
and replace with:
|
class PokeSelectionSprite < SpriteWrapper attr_reader :selected attr_reader :preselected attr_reader :pokemon attr_reader :active attr_accessor :text def initialize(pokemon,index,doublebattle,viewport=nil) super(viewport) @pokemon=pokemon active=(doublebattle) ? (index<2) : (index<1) @active=active
if active @deselbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyActive.png") @selbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyActiveSel.png") @spriteXOffset=-16 @spriteYOffset=-2 @pokeballXOffset=-16 @pokeballYOffset=-16 @pokenameX=38 @pokenameY=22 @levelX=64 @levelY=40 @statusX=64 @statusY=44 @genderX=128 @genderY=40 @hpX=144 @hpY=72 @hpbarX=18 @hpbarY=62 @gaugeX=48 @gaugeY=66 @itemXOffset=16 @itemYOffset=40 @annotX=16 @annotY=64 else @deselbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyInactive.png") @selbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyInactiveSel.png") @spriteXOffset=-16 @spriteYOffset=-16 @pokeballXOffset=-16 @pokeballYOffset=-2 @pokenameX=34 @pokenameY=4 @levelX=60 @levelY=22 @statusX=60 @statusY=26 @genderX=128 @genderY=22 @hpX=274 @hpY=22 @hpbarX=146 @hpbarY=12 @gaugeX=176 @gaugeY=16 @itemXOffset=16 @itemYOffset=28 @annotX=144 @annotY=8 end |
NAME RATER: In order to be able to rename pokemon to names with more than 10 letters, you must find and edit the name rater event. Normally in Pokemon Essentials it's on one of the Test Maps, but in Pokemon Kindness Version's download, it's on the map "Professor's Lab". So anyway find the command with the code:
pkmn=$Trainer.party[ $game_variables[1]] species=PBSpecies.getName( pkmn.species) pbTextEntry("#{species}'s nickname?", 0,10,5) |
and replace it with:
pkmn=$Trainer.party[ $game_variables[1]] species=PBSpecies.getName( pkmn.species) pbTextEntry("#{species}'s nickname?", 0,12,5) |
And that's it, you're done.
|
|
 |