• 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.

[Scripting Question] Pokedex in Pokegear

2
Posts
6
Years
    • Seen Apr 12, 2021
    There was a guide posted but I guess with the changes to 17.2 its not updated to reflect them. When I try to get it, it throws error codes.

    Code:
    ---------------------------
    Pokemon Essentials
    ---------------------------
    [Pokémon Essentials version 17.2]
    
    Exception: NoMethodError
    
    Message: undefined method `[]' for nil:NilClass
    
    PScreen_Pokegear:152:in `pbStartScreen'
    
    PScreen_Pokegear:132:in `loop'
    
    PScreen_Pokegear:174:in `pbStartScreen'
    
    PScreen_PauseMenu:173:in `pbStartPokemonMenu'
    
    PScreen_PauseMenu:170:in `pbFadeOutIn'
    
    PScreen_PauseMenu:170:in `pbStartPokemonMenu'
    
    PScreen_PauseMenu:141:in `loop'
    
    PScreen_PauseMenu:244:in `pbStartPokemonMenu'
    
    Scene_Map:127:in `call_menu'
    
    Scene_Map:213:in `update'



    The Script its referencing looks like this:
    Code:
    lass PokemonPokegearScreen
      def initialize(scene)
        @scene = scene
      end
    
      def pbStartScreen
        commands = []
        cmdMap     = -1
        cmdPhone   = -1
        cmdJukebox = -1
        cmdPokedex = -1
        commands[cmdMap = commands.length]     = ["map",_INTL("Map")]
        if $PokemonGlobal.phoneNumbers && $PokemonGlobal.phoneNumbers.length>0
          commands[cmdPhone = commands.length] = ["phone",_INTL("Phone")]
        end
        commands[cmdJukebox = commands.length] = ["jukebox",_INTL("Jukebox")]
        commands[cmdPokedex = commands.length] = ["pokedex",_INTL("Pokedex")]
        @scene.pbStartScene(commands)
        loop do
          cmd = @scene.pbScene
          if cmd<0
            pbPlayCancelSE
            break
          elsif cmdMap>=0 && cmd==cmdMap
            pbPlayDecisionSE
            pbShowMap(-1,false)
          elsif cmdPhone>=0 && cmd==cmdPhone
            pbPlayDecisionSE
            pbFadeOutIn(99999){
              PokemonPhoneScene.new.start
            }
          elsif cmdJukebox>=0 && cmd==cmdJukebox
            pbPlayDecisionSE
            pbFadeOutIn(99999){
              scene = PokemonJukebox_Scene.new
              screen = PokemonJukeboxScreen.new(scene)
              screen.pbStartScreen
            }
            elsif cmdPokedex>=0 && @sprites["command_window"].index==cmdPokedex # I copied for menu script
            pbPlayDecisionSE()
            if DEXDEPENDSONLOCATION
              pbFadeOutIn(99999) {
                 scene=PokemonPokedexScene.new
                 screen=PokemonPokedex.new(scene)
                 screen.StartScreen
              }
            else
              if $PokemonGlobal.pokedexViable.length==1
                $PokemonGlobal.pokedexDex=$PokemonGlobal.pokedexViable[0]
                $PokemonGlobal.pokedexDex=-1 if $PokemonGlobal.pokedexDex==$PokemonGlobal.pokedexUnlocked.length-1
                pbFadeOutIn(99999) {
                   scene=PokemonPokedexMenu_Scene.new
                   screen=PokemonPokedexMenu_Scene.new(scene)
                   screen.pbStartScreen
                }
              else
                $scene = PokemonPokedexMenu_Scene.new # Changed
              end
            end
          end
        end
        @scene.pbEndScene
      end
    end
     
    Back
    Top