• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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.

Pokemon BW Nest Area Error for Pokemon ID 722+

81
Posts
8
Years
    • Seen Sep 7, 2019
    I'm adding Sun and Moon Pokemon to the BW essentials and when I head over to the Pokemon Form section in the Pokedex for the SM Pokemon I get this error https://prntscr.com/d6kxos

    Pokemon BW Script: Highlighted in Red
    Code:
    #===============================================================================
    # € BW Pokedex Nest/Form by KleinStudio
    #===============================================================================
    
    
    def pbFindEncounter(encounter,species)
      return false if !encounter
      for i in 0...encounter.length
        next if !encounter[i]
        for j in 0...encounter[i].length
          return true if encounter[i][j][0]==species
        end
      end
      return false
    end
    
    
    class MapBottomSprite < SpriteWrapper
      attr_reader :mapname,:maplocation
    
      def initialize(viewport=nil)
        super(viewport)
        @mapname=""
        @maplocation=""
        @mapdetails=""
        @nonests=false
        @thisbitmap=BitmapWrapper.new(Graphics.width,Graphics.height)
        pbSetSystemFont(@thisbitmap)
        self.y=0
        self.x=0
        self.bitmap=@thisbitmap
        refresh
      end
    
      def dispose
        @thisbitmap.dispose
        super
      end
    
      def nonests=(value)
        @nonests=value
        refresh
      end
    
      def mapname=(value)
        if @mapname!=value
          @mapname=value
          refresh
        end
      end
    
      def maplocation=(value)
        if @maplocation!=value
          @maplocation=value
          refresh
        end
      end
    
      def mapdetails=(value)  # From Wichu
        if @mapdetails!=value
          @mapdetails=value
          refresh
        end
      end
    
      def refresh
        self.bitmap.clear
        if @nonests
          imagepos=[[sprintf("Graphics/Pictures/Pokedex/pokedexNestUnknown"),108,468,0,0,-1,-1]]
        end
        textpos=[
           [@mapname,18,-2,0,Color.new(248,248,248),Color.new(0,0,0)],
           [@maplocation,18,354,0,Color.new(248,248,248),Color.new(0,0,0)],
           [@mapdetails,Graphics.width-16,354,1,Color.new(248,248,248),Color.new(0,0,0)]
        ]
        if @nonests
          textpos.push([_INTL("Area Unknown"),Graphics.width/2,560,2,
             Color.new(255,255,255),Color.new(165,165,173)])
        end
        pbDrawTextPositions(self.bitmap,textpos)
      end
    end
    
    ################################################################################
    # Shows the "Nest" page of the Pokédex entry screen.
    ################################################################################
    class PokemonNestMapScene
      def pbStartScene(species,regionmap=-1)
        @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
        @viewport.z=99999
        @sprites={}
        pbRgssOpen("Data/townmap.dat","rb"){|f|
           @mapdata=Marshal.load(f)
        }
        mappos=!$game_map ? nil : pbGetMetadata($game_map.map_id,MetadataMapPosition)
        region=regionmap
        if region<0                                    # Use player's current region
          region=mappos ? mappos[0] : 0                           # Region 0 default
        end
        @sprites["background"]=IconSprite.new(0,0,@viewport)
        @sprites["background"].setBitmap(_INTL("Graphics/Pictures/Pokedex/dexbg3"))
        
        @sprites["bginfo"]=Sprite.new(@viewport)
        @sprites["bginfo"].bitmap=RPG::Cache.picture("Pokedex/dexbg3info")
        @sprites["bginfo"].opacity=200
        
        @sprites["normalbar"]=IconSprite.new(0,Graphics.height-48,@viewport)
        @sprites["normalbar"].setBitmap("Graphics/Pictures/normalbar")
    
        @sprites["entrybars"]=IconSprite.new(0,0,@viewport)
        @sprites["entrybars"].setBitmap(_INTL("Graphics/Pictures/Pokedex/dexentrybars"))
        @sprites["entrybars"].src_rect.set(0, 48, 512, 48) 
        
        @sprites["entryicons"]=IconSprite.new(102,740,@viewport)
        @sprites["entryicons"].setBitmap("Graphics/Pictures/Pokedex/entryicons")
        @sprites["entryicons"].src_rect.set(0, 126/3, 190, 126/3) 
        @sprites["entryicons"].z=999999
    
        @sprites["arrowup"] = Sprite.new(@viewport)
        @sprites["arrowup"].bitmap = Cache.picture("updownarrows")
        @sprites["arrowup"].x=12; @sprites["arrowup"].y=744
        @sprites["arrowup"].src_rect.set(0, 34, 28, 34)
        @sprites["arrowup"].z=999999
        
        @sprites["arrowdown"] = Sprite.new(@viewport)
        @sprites["arrowdown"].bitmap = Cache.picture("updownarrows")
        @sprites["arrowdown"].x=60; @sprites["arrowdown"].y=744
        @sprites["arrowdown"].src_rect.set(28, 34, 28, 34)
        @sprites["arrowdown"].z=999999
    
        @sprites["pokeicon"]=IconSprite.new(45*2,158*2,@viewport)
        @sprites["pokeicon"].setBitmap(sprintf("Graphics/Icons/icon%03d",species))
        @sprites["pokeicon"].src_rect.set(0, 0, 64, 64) 
    
        @sprites["returnbuttom"]=Sprite.new(@viewport)
        @sprites["returnbuttom"].bitmap=Cache.picture("globalicons")
        @sprites["returnbuttom"].x=460; @sprites["returnbuttom"].y=Graphics.height-74
        @sprites["returnbuttom"].src_rect.set(0, 64, 64, 64) 
    
        @sprites["overlay"]=BitmapSprite.new(Graphics.width,Graphics.height,@viewport)
        pbSetSystemFont(@sprites["overlay"].bitmap)
    
        textpos=[
           ["AREA",17*2,8,0,Color.new(255,255,255),Color.new(115,115,115)],
           [_INTL("{1}'s AREA",PBSpecies.getName(species)),97*2,172*2,0,Color.new(255,255,255),Color.new(165,165,173)],
        ]
    
        @sprites["map"]=IconSprite.new(0,400,@viewport)
        @sprites["map"].setBitmap("Graphics/Pictures/TownMap/#{@mapdata[region][1]}")
        
        @sprites["nonest"]=IconSprite.new(130,548,@viewport)
        @sprites["nonest"].setBitmap("Graphics/Pictures/Pokedex/pokedexNestUnknown")
        @sprites["nonest"].opacity=200
        @sprites["nonest"].visible=false
        
        pbDrawTextPositions(@sprites["overlay"].bitmap,textpos)
    
        for hidden in REGIONMAPEXTRAS
          if hidden[0]==region && hidden[1]>0 && $game_switches[hidden[1]]
            if !@sprites["map2"]
              @sprites["map2"]=BitmapSprite.new(512,336,@viewport)
              @sprites["map2"].x=@sprites["map"].x; @sprites["map2"].y=@sprites["map"].y
            end
            pbDrawImagePositions(@sprites["map2"].bitmap,[
               ["Graphics/Pictures/TownMap/#{hidden[4]}",
                  hidden[2]*PokemonRegionMapScene::SQUAREWIDTH,
                  hidden[3]*PokemonRegionMapScene::SQUAREHEIGHT,0,0,-1,-1]
            ])
          end
        end
        @point=BitmapWrapper.new(PokemonRegionMapScene::SQUAREWIDTH+4,
                                 PokemonRegionMapScene::SQUAREHEIGHT+4)
        @point.fill_rect(0,0,
                         PokemonRegionMapScene::SQUAREWIDTH+4,
                         PokemonRegionMapScene::SQUAREHEIGHT+4,Color.new(255,0,0))
        @point2=BitmapWrapper.new(PokemonRegionMapScene::SQUAREWIDTH+4,
                                  PokemonRegionMapScene::SQUAREHEIGHT+4)
        @point2.fill_rect(4,0,
                          PokemonRegionMapScene::SQUAREWIDTH,
                          PokemonRegionMapScene::SQUAREHEIGHT+4,Color.new(255,0,0))
        @point3=BitmapWrapper.new(PokemonRegionMapScene::SQUAREWIDTH+4,
                                  PokemonRegionMapScene::SQUAREHEIGHT+4)
        @point3.fill_rect(0,4,
                          PokemonRegionMapScene::SQUAREWIDTH+4,
                          PokemonRegionMapScene::SQUAREHEIGHT,Color.new(255,0,0))
        @point4=BitmapWrapper.new(PokemonRegionMapScene::SQUAREWIDTH+4,
                                  PokemonRegionMapScene::SQUAREHEIGHT+4)
        @point4.fill_rect(4,4,
                          PokemonRegionMapScene::SQUAREWIDTH,
                          PokemonRegionMapScene::SQUAREHEIGHT,Color.new(255,0,0))
        encdata=load_data("Data/encounters.dat")
        points=[]
        mapwidth=1+PokemonRegionMapScene::RIGHT-PokemonRegionMapScene::LEFT
        for enc in encdata.keys
          enctypes=encdata[enc][1]
          if pbFindEncounter(enctypes,species)
            mappos=pbGetMetadata(enc,MetadataMapPosition)
            if mappos && mappos[0]==region
              showpoint=true
              for loc in @mapdata[region][2]
                showpoint=false if loc[0]==mappos[1] && loc[1]==mappos[2] &&
                                   loc[7] && !$game_switches[loc[7]]
              end
              if showpoint
                mapsize=pbGetMetadata(enc,MetadataMapSize)
                if mapsize && mapsize[0] && mapsize[0]>0
                  sqwidth=mapsize[0]
                  sqheight=(mapsize[1].length*1.0/mapsize[0]).ceil
                  for i in 0...sqwidth
                    for j in 0...sqheight
                      if mapsize[1][i+j*sqwidth,1].to_i>0
                        points[mappos[1]+i+(mappos[2]+j)*mapwidth]=true
                      end
                    end
                  end
                else
                  points[mappos[1]+mappos[2]*mapwidth]=true
                end
              end
            end
          end
        end
        i=0
        for j in 0...points.length
          if points[j]
            s=SpriteWrapper.new(@viewport)
            s.x=(j%mapwidth)*PokemonRegionMapScene::SQUAREWIDTH-2
           # s.x+=(Graphics.width-@sprites["map"].bitmap.width)/2
            s.y=(j/mapwidth)*PokemonRegionMapScene::SQUAREHEIGHT-2
            s.y+=400#(Graphics.height-@sprites["map"].bitmap.height)/2
            if j>=1 && points[j-1]
              if j>=mapwidth && points[j-mapwidth]
                s.bitmap=@point4
              else
                s.bitmap=@point2
              end
            else
              if j>=mapwidth && points[j-mapwidth]
                s.bitmap=@point3
              else
                s.bitmap=@point
              end
            end
            @sprites["point#{i}"]=s
            i+=1
          end
        end
        @numpoints=i
        @sprites["mapbottom"]=MapBottomSprite.new(@viewport)
        #@sprites["mapbottom"].maplocation=pbGetMessage(MessageTypes::RegionNames,region)
        #@sprites["mapbottom"].mapdetails=_INTL("{1}'s nest",PBSpecies.getName(species))
        if points.length==0
          @sprites["mapbottom"].nonests=true
          @sprites["nonest"].visible=true
        end
        
        return true
      end
    
      def pbUpdate
        @numpoints.times {|i|
           @sprites["point#{i}"].opacity=[64,96,128,160,128,96][(Graphics.frame_count/4)%6]
        }
        @sprites["background"].x-=1
        @sprites["background"].x=0 if @sprites["background"].x==-64
    
      end
    
      def pbMapScene(listlimits)
        Graphics.transition
        ret=0
        cb=@sprites["returnbuttom"]
        loop do
          Graphics.update
          Input.update
          pbUpdate
          if Input.trigger?(Input::LEFT) or $mouse.inAreaLeft?(102,740,190/3,126/3)
            ret=4
            break
          elsif Input.trigger?(Input::RIGHT) or $mouse.inAreaLeft?(102+((190/3)*2),740,190/3,126/3)
            ret=6
            break
          elsif (Input.trigger?(Input::UP) or (@sprites["arrowup"] and $mouse.leftClick?(@sprites["arrowup"],28,34))) && listlimits&1==0 # If not at top of list
            ret=8
            break
          elsif (Input.trigger?(Input::DOWN) or (@sprites["arrowdown"] and $mouse.leftClick?(@sprites["arrowdown"],28,34)))  && listlimits&2==0 # If not at end of list
            ret=2
            break
          elsif Input.trigger?(Input::B) || $mouse.inAreaLeft?(cb.x+16,cb.y+36,28,28)
            ret=1
            pbSEPlay("BW2Cancel")
            globalIconAnim(cb,1)
            pbFadeOutAndHide(@sprites)
            break
          end
        end
        return ret
      end
    
      def pbEndScene
        pbDisposeSpriteHash(@sprites)
        @point.dispose
        @viewport.dispose
      end
    end
    
    
    
    class PokemonNestMap
      def initialize(scene)
        @scene=scene
      end
    
      def pbStartScreen(species,region,listlimits)
        @scene.pbStartScene(species,region)
        [email protected](listlimits)
        @scene.pbEndScene
        return ret
      end
    end
    
    
    
    ################################################################################
    # Shows the "Form" page of the Pokédex entry screen.
    ################################################################################
    class PokedexFormScene
      def pbStartScene(species)
        @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
        @viewport.z=99999
        @species=species
        @gender=$Trainer.formlastseen[species][0]
        @form=$Trainer.formlastseen[species][1]
        @shiny=0
        @back=false
        @available=pbGetAvailable # [name, gender, form]
        @index = 0
        @sprites={}
        #$BGX = 0 if !$BGX
        
        @sprites["background"]=IconSprite.new(0,0,@viewport)
        @sprites["background"].setBitmap(_INTL("Graphics/Pictures/Pokedex/dexbg4"))
        @sprites["backgrounddown"]=IconSprite.new(0,400,@viewport)
        @sprites["backgrounddown"].setBitmap(_INTL("Graphics/Pictures/Pokedex/dexbg4_1"))
        
        #@sprites["backgrounddown"].x = $BGX if $BGX
    
        @sprites["normalbar"]=IconSprite.new(0,Graphics.height-48,@viewport)
        @sprites["normalbar"].setBitmap("Graphics/Pictures/normalbar")    
        @sprites["entryicons"]=IconSprite.new(102,740,@viewport)
        @sprites["entryicons"].setBitmap("Graphics/Pictures/Pokedex/entryicons")
        @sprites["entryicons"].src_rect.set(0, (126/3)*2, 190, 126/3) 
        @sprites["entryicons"].z=999999
        @sprites["arrowup"] = Sprite.new(@viewport)
        @sprites["arrowup"].bitmap = Cache.picture("updownarrows")
        @sprites["arrowup"].x=12; @sprites["arrowup"].y=744
        @sprites["arrowup"].src_rect.set(0, 34, 28, 34)
        @sprites["arrowup"].z=999999
        @sprites["arrowdown"] = Sprite.new(@viewport)
        @sprites["arrowdown"].bitmap = Cache.picture("updownarrows")
        @sprites["arrowdown"].x=60; @sprites["arrowdown"].y=744
        @sprites["arrowdown"].src_rect.set(28, 34, 28, 34)
        @sprites["arrowdown"].z=999999
    
        avisible=$Trainer.numFormsSeen(@species)+$Trainer.numShinySeen(@species)>1? true : false
      
        @sprites["arrowleft"]=IconSprite.new(20,400,@viewport)
        @sprites["arrowleft"].setBitmap("Graphics/Pictures/Pokedex/dexformarrow")    
        @sprites["arrowleft"].src_rect.set(0, 0, 24, 32)
        @sprites["arrowleft"].visible=avisible
        @sprites["arrowright"]=IconSprite.new(470,400,@viewport)
        @sprites["arrowright"].setBitmap("Graphics/Pictures/Pokedex/dexformarrow")    
        @sprites["arrowright"].src_rect.set(24, 0, 24, 32)
        @sprites["arrowright"].visible=avisible
    
        @sprites["bginfo"]=Sprite.new(@viewport)
        @sprites["bginfo"].bitmap=RPG::Cache.picture("Pokedex/dexbg4info")
        @sprites["bginfo"].opacity=200
        @sprites["formname"]=Sprite.new(@viewport)
        @sprites["formname"].bitmap=RPG::Cache.picture("Pokedex/formname")
        @sprites["formname"].opacity=200
        @sprites["formname"].x=132;@sprites["formname"].y=410
        @sprites["entrybars"]=IconSprite.new(0,0,@viewport)
        @sprites["entrybars"].setBitmap(_INTL("Graphics/Pictures/Pokedex/dexentrybars"))
        @sprites["entrybars"].src_rect.set(0, 144, 512, 48) 
        @sprites["normalbar"]=IconSprite.new(0,Graphics.height-48,@viewport)
        @sprites["normalbar"].setBitmap("Graphics/Pictures/normalbar")
        @sprites["iconrotate"]=Sprite.new(@viewport)
        @sprites["iconrotate"].bitmap=RPG::Cache.picture("Pokedex/iconRotate")
        @sprites["iconrotate"].x=232;@sprites["iconrotate"].y=708
    
        @sprites["returnbuttom"]=Sprite.new(@viewport)
        @sprites["returnbuttom"].bitmap=Cache.picture("globalicons")
        @sprites["returnbuttom"].x=460; @sprites["returnbuttom"].y=Graphics.height-74
        @sprites["returnbuttom"].src_rect.set(0, 64, 64, 64) 
    
        @sprites["overlay"]=BitmapSprite.new(Graphics.width,Graphics.height,@viewport)
        pbSetSystemFont(@sprites["overlay"].bitmap)
    
        @baseColor=Color.new(255,255,255)
        @shadowColor=Color.new(165,165,173)
        textpos=[
           ["FORMS",17*2,8,0,@baseColor,Color.new(115,115,115)],
           ["FORMS SEEN",52,304,0,@baseColor,@shadowColor],
           ["SHINY SEEN",52,336,0,@baseColor,@shadowColor],
           [_INTL("{1}",$Trainer.numFormsSeen(@species)),440,304,0,@baseColor,@shadowColor],
           [_INTL("{1}",$Trainer.numShinySeen(@species)),440,336,0,@baseColor,@shadowColor],
        ]
        
        pbDrawTextPositions(@sprites["overlay"].bitmap,textpos)
    
        @sprites["info"]=BitmapSprite.new(Graphics.width,Graphics.height,@viewport)
     
        @genderTrue=@gender==0 ? false : true
        @shinyTrue=@shiny==0 ? false : true
        
        @sprites["pokemonsprite"]=PokemonSpriteDex.new(@viewport)
        @sprites["pokemonsprite"].loadPokemonBitmap(@species, @genderTrue, @shinyTrue, @form, @back)
        @sprites["pokemonsprite"].visible=true
        pbPositionPokemonSprite(@sprites["pokemonsprite"],200,558)
    
        @sprites["icon"]=PokemonSpeciesIconSprite.new(@species,@viewport)
        @sprites["icon"].gender=@gender
        @sprites["icon"].form=@form
        @sprites["icon"].x=226
        @sprites["icon"].y=224
          
        pbUpdate
        return true
      end
    
      def pbUpdate
        @sprites["info"].bitmap.clear
        pbSetSystemFont(@sprites["info"].bitmap)
        name=""
        shiny=false
        
        for i in @available
          if i[1]==@gender && i[2]==@form && i[3]==@shiny
            name=i[0]
          shiny=true if i[3]==1
            break
          end
        end
        
        textpos=[
           [_INTL("{1}",PBSpecies.getName(@species)),370,262,2,@baseColor,@shadowColor],
        ]
        
        if !shiny
        textpos.push([_INTL("{1}",name),254,434,2,@baseColor,@shadowColor])
      else
        textpos.push([_INTL("{1}",name),254,420,2,@baseColor,@shadowColor])
        textpos.push(["(Shiny)",254,450,2,@baseColor,@shadowColor])
      end
      
        pbDrawTextPositions(@sprites["info"].bitmap,textpos)
    
        metrics=load_data("Data/metrics.dat")
        backMetric=metrics[0][@species]
      end
    
      def pbGetAvailable
        available=[] # [name, gender, form, shiny]
        dexdata=pbOpenDexData
        pbDexDataOffset(dexdata,@species,18)
        genderbyte=dexdata.fgetb
        dexdata.close
        formnames=pbGetMessage(MessageTypes::FormNames,@species)
        if !formnames || formnames==""
          formnames=[""]
        else
          formnames=strsplit(formnames,/,/)
        end
        @gender=0 if genderbyte==0 || genderbyte==255 # Always male or genderless
        @gender=1 if genderbyte==254 # Always female
        if formnames && formnames[0]!=""
          for j in 0...2
            if $Trainer.formseen[@species][j][0] || ALWAYSSHOWALLFORMS # That gender/form has been seen
              if pbResolveBitmap(sprintf("Graphics/Battlers/%sf",getConstantName(PBSpecies,@species))) ||
                 pbResolveBitmap(sprintf("Graphics/Battlers/%03df",@species))
                if j==0
                available.push([_INTL("{1} Male",formnames[0]),j,0,0]) 
                if $Trainer.seenShiny[@species][j][0]==true
                available.push([_INTL("{1} Male",formnames[0]),j,0,1]); end
                else
                available.push([_INTL("{1} Female",formnames[0]),j,0,0]) 
                if $Trainer.seenShiny[@species][j][0]==true
                available.push([_INTL("{1} Female",formnames[0]),j,0,1]); end
                end
              else
                gendertopush=(genderbyte==254) ? 1 : 0
                available.push([formnames[0],gendertopush,0,0])
                if $Trainer.seenShiny[@species][gendertopush][0]==true
                available.push([_INTL("{1}",formnames[0]),gendertopush,0,1])
                end
                break
              end
            end
          end
        else
          if $Trainer.formseen[@species][0][0] || ALWAYSSHOWALLFORMS # Male/form 0 has been seen
            if genderbyte!=254 && genderbyte!=255 # Not always female & not genderless
              available.push([_INTL("Male"),0,0,0])
             [COLOR="Red"] if $Trainer.seenShiny[@species][0][0]==true[/COLOR]
              available.push([_INTL("Male"),0,0,1]); end
            end
          end
          if $Trainer.formseen[@species][1][0] || ALWAYSSHOWALLFORMS # Female/form 0 has been seen
            if genderbyte!=0 && genderbyte!=255 # Not always male & not genderless
              available.push([_INTL("Female"),1,0,0])
              if $Trainer.seenShiny[@species][1][0]==true
              available.push([_INTL("Female"),1,0,1]); end
            end
          end
          if $Trainer.formseen[@species][0][0] || ALWAYSSHOWALLFORMS # Genderless/form 0 has been seen
            if genderbyte==255 # Genderless
              if formnames && formnames.length>1
                available.push([_INTL("One Form"),0,0,0])
                if $Trainer.seenShiny[@species][0][0]==true
                available.push([_INTL("One Form"),0,0,1]); end
              else
                available.push([_INTL("Genderless"),0,0,0])
                if $Trainer.seenShiny[@species][0][0]==true
                available.push([_INTL("Genderless"),0,0,1]); end
              end
            end
          end
        end
        
        for i in 1...formnames.length
          for j in 0...2
            if $Trainer.formseen[@species][j][i] || ALWAYSSHOWALLFORMS # That gender/form has been seen
              if pbResolveBitmap(sprintf("Graphics/Battlers/%sf_%d",getConstantName(PBSpecies,@species),i)) ||
                 pbResolveBitmap(sprintf("Graphics/Battlers/%03df_%d",@species,i))
                if j==0 
                available.push([_INTL("{1} Male",formnames[i]),j,i,0])
                if $Trainer.seenShiny[@species][j][i]==true
                available.push([_INTL("{1} Male Shiny",formnames[i]),j,i,1]); end
                else
                available.push([_INTL("{1} Female",formnames[i]),j,i,0])
                if $Trainer.seenShiny[@species][j][i]==true
                available.push([_INTL("{1} Female Shiny",formnames[i]),j,i,1]); end
                end
              else
                available.push([formnames[i],j,i,0])
                if $Trainer.seenShiny[@species][j][i]==true
                available.push([_INTL("{1} Shiny",formnames[i]),j,i,1])
                end
                break
              end
            end
          end
        end
        return available
      end
    
      def pbGetCommands
        commands=[]
        for i in @available
          commands.push(i[0])
        end
        return commands
      end
    
    
      def pbChooseForm(plus)
        oldgender=@gender
        oldform=@form
        commands=pbGetCommands
        
        if plus>0
        if @index == @available.length-1 
        @index=0; else; @index+=1; end
        else
        if @index == 0 
        @[email protected]; else; @index-=1; end
      end
      
        @gender=@sprites["icon"].gender=@available[@index][1]
        @form=@sprites["icon"].form=@available[@index][2]
        @shiny=@available[@index][3]
              
        @genderTrue=@gender==0 ? false : true
        @shinyTrue=@shiny==0 ? false : true
        @sprites["pokemonsprite"].loadPokemonBitmap(@species, @genderTrue, @shinyTrue, @form, @back)
        pbPositionPokemonSprite(@sprites["pokemonsprite"],200,558)
    
        pbUpdate
      end
      
      def pbControls(listlimits)
        Graphics.transition
        ret=0
        cb=@sprites["returnbuttom"]
        loop do
          Graphics.update
          Input.update
          
          @sprites["background"].x-=1
          @sprites["background"].x=0 if @sprites["background"].x==-64
          @sprites["backgrounddown"].x-=1
          @sprites["backgrounddown"].x=0 if @sprites["backgrounddown"].x==-126
          @sprites["pokemonsprite"].update
         # $BGX = @sprites["backgrounddown"].x
          if $mouse.leftClick?(@sprites["iconrotate"])
          @back=@back==true ? false : true
          @sprites["pokemonsprite"].loadPokemonBitmap(@species, @genderTrue, @shinyTrue, @form, @back)
          pbPositionPokemonSprite(@sprites["pokemonsprite"],200,558)
        end
        
    
        if @sprites["arrowleft"].visible
          if $mouse.leftClick?(@sprites["arrowleft"],24,32)
            pbChooseForm(-1)
        elsif $mouse.leftClick?(@sprites["arrowright"],24,32)
            pbChooseForm(1)
          end
        end
        
          if Input.trigger?(Input::C)
            pbChooseForm(1)
          elsif Input.trigger?(Input::LEFT) or $mouse.inAreaLeft?(102+(190/3),740,190/3,126/3)
            ret=4
            break
          elsif $mouse.inAreaLeft?(102,740,190/3,126/3)
            ret=10
            break
          elsif (Input.trigger?(Input::UP) || (@sprites["arrowup"] && $mouse.leftClick?(@sprites["arrowup"],28,34))) && listlimits&1==0 # If not at top of list
            ret=8
            break
          elsif (Input.trigger?(Input::DOWN) || (@sprites["arrowdown"] && $mouse.leftClick?(@sprites["arrowdown"],28,34)))  && listlimits&2==0 # If not at end of list
            ret=2
            break
          elsif Input.trigger?(Input::B) || $mouse.inAreaLeft?(cb.x+16,cb.y+36,28,28)
            ret=1
            pbSEPlay("BW2Cancel")
            globalIconAnim(cb,1)
            pbFadeOutAndHide(@sprites)
            break
          end
        end
        $Trainer.formlastseen[@species][0]=@gender
        $Trainer.formlastseen[@species][1]=@form
        return ret
      end
    
      def pbEndScene
        pbDisposeSpriteHash(@sprites)
        @viewport.dispose
      end
    end
    
    
    
    class PokedexForm
      def initialize(scene)
        @scene=scene
      end
    
      def pbStartScreen(species,listlimits)
        @scene.pbStartScene(species)
        [email protected](listlimits)
        @scene.pbEndScene
        return ret
      end
    end
     
    Last edited by a moderator:

    Zeak6464

    Zeak #3205 - Discord
    1,101
    Posts
    11
    Years
  • Pokemon BW Nest Area Error for Pokemon ID 722+

    "available.push([_INTL("Female"),1,0,0])"
     
    Back
    Top