View Single Post
  #29    
Old May 23rd, 2013 (1:55 PM). Edited May 23rd, 2013 by Nickalooose.
Nickalooose Nickalooose is offline
--------------------
     
    Join Date: Mar 2008
    Gender: Female
    Posts: 1,309
    I'll go take a look now and see what's up...

    EDIT:

    If the mystery gift works during the game... Why would you want it to appear on the load screen?
    It would seem so far that I can't get mystery gift to appear on the load screen anyway, so I don't think I can help you unless I can get that to work

    EDIT:

    So I figured out everything.

    Code:
    class PokemonLoadScene # :doc:
      def pbUpdate
        pbUpdateSpriteHash(@sprites)
      end
    
      def pbStartScene
        @sprites={}
        @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
        @viewport.z=99998
        savefile=RTP.getSaveFileName("Game.rxdata")
        
        @sprites["overlay"]=BitmapSprite.new(Graphics.width, Graphics.height)
        @sprites["overlay"].z = 99999
        @[email protected]["overlay"].bitmap
        @overlay.clear
        baseColor=Color.new(239, 239, 239)
        shadowColor=Color.new(140,140,140)
        pbSetSystemFont(@sprites["overlay"].bitmap)
            
        if safeExists?(savefile)      
          @sprites["Continue"] = Sprite.new
          @sprites["Continue"].x = 52
          @sprites["Continue"].y = 4
          @sprites["Continue"].z = 99998
          @sprites["Continue"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Continue")
          @sprites["Continue"].opacity = 210
          
          @sprites["NewGame"] = Sprite.new
          @sprites["NewGame"].x = 68
          @sprites["NewGame"].y = 232
          @sprites["NewGame"].z = 99998
          @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
          @sprites["NewGame"].opacity = 210      
          
          @sprites["MysteryGift"] = Sprite.new
          @sprites["MysteryGift"].x = 68
          @sprites["MysteryGift"].y = 282
          @sprites["MysteryGift"].z = 99998
          @sprites["MysteryGift"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
          @sprites["MysteryGift"].opacity = 210
          
          @sprites["Options"] = Sprite.new
          @sprites["Options"].x = 68
          @sprites["Options"].y = 332
          @sprites["Options"].z = 99998
          @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
          @sprites["Options"].opacity = 210
          
          textpos=[
          [_INTL("CONTINUE"),84,10,false,baseColor,shadowColor],
          [_INTL("NEW GAME"),84,238,false,baseColor,shadowColor],
          [_INTL("MYSTERY GIFT"),84,288,false,baseColor,shadowColor],
          [_INTL("OPTIONS"),84,338,false,baseColor,shadowColor],
          #[_INTL(
          ]
          pbDrawTextPositions(@overlay,textpos)
        else
          @sprites["NewGame"] = Sprite.new
          @sprites["NewGame"].x = 68
          @sprites["NewGame"].y = 142
          @sprites["NewGame"].z = 99998
          @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
          @sprites["NewGame"].opacity = 210
          
          @sprites["Options"] = Sprite.new
          @sprites["Options"].x = 68
          @sprites["Options"].y = 192
          @sprites["Options"].z = 99998
          @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
          @sprites["Options"].opacity = 210
          
          textpos=[
          [_INTL("NEW GAME"),84,148,false,baseColor,shadowColor],
          [_INTL("OPTIONS"),84,198,false,baseColor,shadowColor],
          ]
          pbDrawTextPositions(@overlay,textpos)
          
        end
        
        addBackgroundOrColoredPlane(@sprites,"background","loadbg",
           Color.new(96,96,248),@viewport)
        @sprites["locwindow"]=Window_AdvancedTextPokemon.new("")
        @sprites["locwindow"].[email protected]
        @sprites["locwindow"].visible=false
        @sprites["cmdwindow"]=Window_CommandPokemon.new([])
        @sprites["cmdwindow"].x=512
        @sprites["cmdwindow"].y=0
        @sprites["cmdwindow"].[email protected]
        @sprites["cmdwindow"].visible=false
        pbFadeInAndShow(@sprites) { pbUpdate }
      end
    
      def pbSetAuxiliaryWindow(loctext)
         @sprites["locwindow"].resizeToFit(loctext,[email protected]["cmdwindow"].width)
         @sprites["locwindow"].width=228 if @sprites["locwindow"].width<228
         @sprites["locwindow"].height=Graphics.height
         @sprites["locwindow"].[email protected]["locwindow"].width
         @sprites["locwindow"].visible=true
         @sprites["locwindow"].text=loctext
      end
    
      def pbSetParty(trainer,hasPokedex=false)
        for i in 0...trainer.party.length
          @sprites["party#{i}"]=PokemonIconSprite.new(trainer.party[i])
          @sprites["party#{i}"].z=99999
          @sprites["party#{i}"].x=80+60*i
          @sprites["party#{i}"].y=150
        end
      end
    
      def pbChoose(commands)
        @sprites["cmdwindow"].resizeToFit(commands)
        @sprites["cmdwindow"].commands=commands
        @sprites["cmdwindow"].x=512
        @sprites["cmdwindow"].y=0
        @sprites["cmdwindow"].visible=true
        loop do
          Graphics.update
          Input.update
          pbUpdate
          savefile=RTP.getSaveFileName("Game.rxdata")
          if safeExists?(savefile)
            if @sprites["cmdwindow"].index==0
              @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
              @sprites["Continue"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Continue_S")
              @sprites["MysteryGift"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
              @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
            elsif @sprites["cmdwindow"].index==1
              @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar_S")
              @sprites["Continue"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Continue")
              @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
              @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
            elsif @sprites["cmdwindow"].index==2
              @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
              @sprites["Continue"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Continue")
              @sprites["MysteryGift"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar_S")
              @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
            elsif @sprites["cmdwindow"].index==3
              @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
              @sprites["Continue"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Continue")
              @sprites["MysteryGift"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
              @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar_S")
            end
          else
            if @sprites["cmdwindow"].index==0
              @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar_S")
              @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
            elsif @sprites["cmdwindow"].index==1
              @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
              @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar_S")
            end
          end
          
          if Input.trigger?(Input::C)
            return @sprites["cmdwindow"].index
          end
        end
      end
    
      def pbEndScene
        pbFadeOutAndHide(@sprites) { pbUpdate }
        pbDisposeSpriteHash(@sprites)
        @viewport.dispose
      end
    
      def pbCloseScene
        pbDisposeSpriteHash(@sprites)
        @viewport.dispose
      end
    end
    
    
    
    module FontInstaller # :doc:
      # filenames of fonts to be installed
      Filenames = [
         'pkmnem.ttf',
         'pkmnemn.ttf',
         'pkmnems.ttf',
         'pkmnrs.ttf',
         'pkmndp.ttf',
         'pkmnfl.ttf'
      ]    
      # names (not filenames) of fonts to be installed
      Names = [
        'Power Green',
        'Power Green Narrow',
        'Power Green Small',
        'Power Red and Blue',
        'Power Clear',
        'Power Red and Green'
      ]
      # whether to notify player (via pop-up message) that fonts were installed
      Notify = true
      # location of fonts (relative to game folder)
      Source = 'Fonts/'
    
      def self.getFontFolder
        fontfolder=MiniRegistry.get(MiniRegistry::HKEY_CURRENT_USER,
           "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
           "Fonts")
        return fontfolder+"\\" if fontfolder
        if ENV['SystemRoot']
          return ENV['SystemRoot'] + '\\Fonts\\'
        elsif ENV['windir']
          return ENV['windir'] + '\\Fonts\\'
        else
          return '\\Windows\\Fonts\\'
        end   
      end
    
      AFR = Win32API.new('gdi32', 'AddFontResource', ['P'], 'L')
      WPS = Win32API.new('kernel32', 'WriteProfileString', ['P'] * 3, 'L')
      SM = Win32API.new('user32', 'PostMessage', ['L'] * 4, 'L')
      WM_FONTCHANGE = 0x001D
      HWND_BROADCAST = 0xffff
    
      def self.copy_file(src,dest)
        File.open(src,  'rb') {|r|
           File.open(dest, 'wb') {|w|
              while s = r.read(4096)
                w.write s
              end
           }
        }
      end
    
      def self.pbResolveFont(name)
        RTP.eachPathFor(Source+name) {|file|
           return file if safeExists?(file)
        }
        return Source+name
      end
    
      def self.install
        success = []
        # Check if all fonts already exist
        filesExist=true
        fontsExist=true
        dest=self.getFontFolder()
        for i in 0...Names.size
          if !safeExists?(dest + Filenames[i])
            filesExist=false
          end
          if !Font.exist?(Names[i])
            fontsExist=false
          end
        end
        return if filesExist
        # Check if all source fonts exist
        exist=true
        for i in 0...Names.size
          if !RTP.exists?(Source + Filenames[i])
            exist=false
            break
          end
        end
        return if !exist # Exit if not all source fonts exist
        Kernel.pbMessage(_INTL("One or more fonts used in this game do not exist on the system.\1"))
        Kernel.pbMessage(_INTL("The game can be played, but the look of the game's text will not be optimal.\1"))
        failed=false
        for i in 0...Filenames.size
          f = Filenames[i]
          if safeExists?(dest + f) && !Font.exist?(Names[i])
            File.delete(dest + f) rescue nil
          end
          # check if already installed...
          if not safeExists?(dest + f)
            # check to ensure font is in specified location...
            if RTP.exists?(Source + f)
              # copy file to fonts folder
              succeeded=false
              begin
                copy_file(pbResolveFont(f), dest + f)
                # add font resource
                AFR.call(dest + f)
                # add entry to win.ini/registry
                WPS.call('Fonts', Names[i] + ' (TrueType)', f)
                succeeded=safeExists?(dest + f)
                rescue SystemCallError
                # failed
                succeeded=false
              end
              if succeeded
                success.push(Names[i])
              else
                failed=true
              end
            end
          else
            success.push(Names[i]) # assume success
          end
        end
        if success.length>0 # one or more fonts successfully installed
          SM.call(HWND_BROADCAST,WM_FONTCHANGE,0,0)
          if Notify
            fonts = ''
            success.each do |f|
              fonts << f << ', '
            end
            if failed
              Kernel.pbMessage(_INTL("Some of the fonts were successfully installed.\1"))
              Kernel.pbMessage(_INTL("To install the other fonts, copy the files in this game's Fonts folder to the Fonts folder in Control Panel."))
            else
              Kernel.pbMessage(_INTL("The fonts were successfully installed.\1"))
            end
            if Kernel.pbConfirmMessage(_INTL("Would you like to restart the game and apply the changes?"))
              a = Thread.new { system('Game') }
              exit
            end
          end
        else
          # No fonts were installed.
          Kernel.pbMessage(_INTL("To install the necessary fonts, copy the files in this game's Fonts folder to the Fonts folder in Control Panel."))
        end
      end
    end
    
    
    
    class PokemonLoad
      def initialize(scene)
        @scene=scene
      end
    
      def pbDisplay(text,brief=false)
        @scene.pbDisplay(text,brief)
      end
    
      def pbDisplayPaused(text)
        @scene.pbDisplayPaused(text)
      end
    
      def pbConfirm(text)
        return @scene.pbConfirm(text)
      end
    
      def pbTryLoadFile(savefile)
        trainer=nil
        framecount=nil
        game_system=nil
        pokemonSystem=nil
        mapid=nil
        File.open(savefile){|f|
           trainer=Marshal.load(f)
           framecount=Marshal.load(f)
           game_system=Marshal.load(f)
           pokemonSystem=Marshal.load(f)
           mapid=Marshal.load(f)
        }
        raise "Corrupted file" if !trainer.is_a?(PokeBattle_Trainer)
        raise "Corrupted file" if !framecount.is_a?(Numeric)
        raise "Corrupted file" if !game_system.is_a?(Game_System)
        raise "Corrupted file" if !pokemonSystem.is_a?(PokemonSystem)
        raise "Corrupted file" if !mapid.is_a?(Numeric)
        return [trainer,framecount,game_system,pokemonSystem,mapid]
      end
    
      def pbStartDeleteScreen
        savefile=RTP.getSaveFileName("Game.rxdata")
        @scene.pbStartScene
        if safeExists?(savefile)
          if Kernel.pbConfirmMessageSerious(_INTL("Delete all saved data?"))
            Kernel.pbMessage(_INTL("Once data has been deleted, there is no way to recover it.\1"))
            if Kernel.pbConfirmMessageSerious(_INTL("Delete the saved data anyway?"))
              Kernel.pbMessage(_INTL("Deleting all data.\r\nDon't turn off the power.\\wtnp[0]"))
              begin; File.delete(savefile); rescue; end
              begin; File.delete(savefile+".bak"); rescue; end
              Kernel.pbMessage(_INTL("The save file was deleted."))
            end
          end
        else
          Kernel.pbMessage(_INTL("No save file was found."))
        end
        @scene.pbEndScene
        $scene=pbCallTitle
      end
    
      def pbStartLoadScreen
        $PokemonTemp   = PokemonTemp.new
        $game_temp     = Game_Temp.new
        $game_system   = Game_System.new
        $PokemonSystem = PokemonSystem.new if !$PokemonSystem
        @scene.pbStartScene
        cmdContinue=-1
        cmdNewGame=0
        cmdOption=1
        cmdLanguage=-1
        commands=[]
        savefile=RTP.getSaveFileName("Game.rxdata")
        FontInstaller.install
        data_system = pbLoadRxData("Data/System")
        mapfile=$RPGVX ? sprintf("Data/Map%03d.rvdata",data_system.start_map_id) :
                         sprintf("Data/Map%03d.rxdata",data_system.start_map_id)
        if data_system.start_map_id==0 || !pbRgssExists?(mapfile)
          Kernel.pbMessage(_INTL("No starting position was set in the map editor.\1"))
          Kernel.pbMessage(_INTL("The game cannot continue."))
          @scene.pbEndScene
          $scene=nil
          return
        end
        if safeExists?(savefile)
          trainer=nil
          framecount=0
          showContinue=false
          haveBackup=false
          begin
            trainer, framecount, $game_system, $PokemonSystem, mapid=pbTryLoadFile(savefile)
            showContinue=true
            rescue
            if safeExists?(savefile+".bak")
              begin
                trainer, framecount, $game_system, $PokemonSystem, mapid=pbTryLoadFile(savefile+".bak")
                haveBackup=true
                showContinue=true
                rescue
              end
            end
            if haveBackup
              Kernel.pbMessage(_INTL("The save file is corrupt.  The previous save file will be loaded."))
            else
              Kernel.pbMessage(_INTL("The save file is corrupt, or is incompatible with this game."))
              if !Kernel.pbConfirmMessageSerious(_INTL("Do you want to delete the save file and start anew?"))
                raise "scss error - Corrupted or incompatible save file."
              end
              begin; File.delete(savefile); rescue; end
              begin; File.delete(savefile+".bak"); rescue; end
              $PokemonSystem=PokemonSystem.new if !$PokemonSystem
              $game_system=Game_System.new
              Kernel.pbMessage(_INTL("The save file was deleted."))
            end
          end
          if showContinue
            if !haveBackup
              begin; File.delete(savefile+".bak"); rescue; end
              end
            totalsec = framecount / Graphics.frame_rate
            hour = totalsec / 60 / 60
            min = totalsec / 60 % 60
            mapname=pbGetMapNameFromId(mapid)
            mapname.gsub!(/\\PN/,trainer.name)
            textColor=["0070F8,78B8E8","E82010,F8A8B8","0070F8,78B8E8"][trainer.gender]
            loctext=_INTL("<ac><c2=06644bd2>{1}</c2></ac>",mapname)
            loctext+=_INTL("Player<r><c3={1}>{2}</c3><br>",textColor,fmtescape(trainer.name))
            loctext+=_ISPRINTF("Time<r><c3={1:s}>{2:02d}:{3:02d}</c3><br>",textColor,hour,min)
            loctext+=_INTL("Badges<r><c3={1}>{2}</c3><br>",textColor,trainer.numbadges)
            if trainer.pokedex
              loctext+=_INTL("Pokédex<r><c3={1}>{2}/{3}</c3><br>",textColor,trainer.pokedexOwned,trainer.pokedexSeen)
            end
            
            @sprites={}
            @sprites["overlay"]=BitmapSprite.new(Graphics.width, Graphics.height)
            @sprites["overlay"].z = 99999
            @[email protected]["overlay"].bitmap
            @overlay.clear
            baseColor=Color.new(239, 239, 239)
            shadowColor=Color.new(140,140,140)
            pbSetSystemFont(@sprites["overlay"].bitmap)
        
            textpos=[
            [_INTL("{1}",trainer.name),84,60,false,Color.new(57,165,255),Color.new(57,107,173)],
            [_INTL("{1}",mapname),84,90,false,baseColor,shadowColor],
            [_INTL("Badges: {1}",trainer.numbadges),84,135,false,baseColor,shadowColor],
            [_ISPRINTF("Time: {1:02d}:{2:02d}",hour,min),220,135,false,baseColor,shadowColor],
            ]
            pbDrawTextPositions(@overlay,textpos)
              
            loctext+=_INTL("Party") if trainer.party.length>0
            @scene.pbSetAuxiliaryWindow(loctext)
            @scene.pbSetParty(trainer,trainer.pokedex)
          end
          commands[cmdContinue=commands.length]=_INTL("Continue") if showContinue
          commands[cmdNewGame=commands.length]=_INTL("New Game")
          commands[cmdMysteryGift=commands.length]=_INTL("Mystery Gift") if (trainer.mysterygiftaccess rescue false)
          commands[cmdOption=commands.length]=_INTL("Options")
        else
          commands[cmdNewGame=commands.length]=_INTL("New Game")
          commands[cmdOption=commands.length]=_INTL("Options")
        end
        if LANGUAGES.length>=2
          commands[cmdLanguage=commands.length]=_INTL("Language")
        end
        loop do
          [email protected](commands)
          if cmdNewGame>=0 && command==cmdNewGame
            savefile=RTP.getSaveFileName("Game.rxdata")
            if safeExists?(savefile)
              @sprites["overlay"].opacity = 0
            end
            @scene.pbEndScene
            if $game_map && $game_map.events
              for event in $game_map.events.values
                event.clear_starting
              end
            end
            $game_temp.common_event_id=0 if $game_temp
            $scene               = Scene_Map.new
            Graphics.frame_count = 0
            $game_system         = Game_System.new
            $game_switches       = Game_Switches.new
            $game_variables      = Game_Variables.new
            $game_self_switches  = Game_SelfSwitches.new
            $game_screen         = Game_Screen.new
            $game_player         = Game_Player.new
            $ItemData            = readItemList("Data/items.dat")
            $PokemonMap          = PokemonMapMetadata.new
            $PokemonGlobal       = PokemonGlobalMetadata.new
            $PokemonStorage      = PokemonStorage.new
            $PokemonEncounters   = PokemonEncounters.new
            $PokemonTemp.begunNewGame=true
            $data_system         = pbLoadRxData("Data/System")
            $MapFactory          = PokemonMapFactory.new($data_system.start_map_id) # calls setMapChanged
            $game_player.moveto($data_system.start_x, $data_system.start_y)
            $game_player.refresh
            $game_map.autoplay
            $game_map.update
            return
          elsif cmdLanguage>=0 && command==cmdLanguage
            @scene.pbEndScene
            $PokemonSystem.language=pbChooseLanguage
            pbLoadMessages("Data/"+LANGUAGES[$PokemonSystem.language][1])
            savedata=[]
            if safeExists?(savefile)
              File.open(savefile,"rb"){|f|
                 14.times {    savedata.push(Marshal.load(f)) }
              }
              savedata[3]=$PokemonSystem
              begin
                File.open(RTP.getSaveFileName("Game.rxdata"),"wb"){|f|
                   14.times {|i| Marshal.dump(savedata[i],f) }
                }
              rescue; end
            end
            $scene=pbCallTitle
            return
          elsif cmdContinue>=0 && command==cmdContinue
            unless safeExists?(savefile)
              pbPlayBuzzerSE()
              next
            end
            @sprites["overlay"].opacity = 0
            @scene.pbEndScene
            metadata=nil
            File.open(savefile){|f|
               $Trainer             = Marshal.load(f)
               Graphics.frame_count = Marshal.load(f)
               $game_system         = Marshal.load(f)
               Marshal.load(f) # PokemonSystem already loaded
               Marshal.load(f) # Current map id no longer needed
               $game_switches       = Marshal.load(f)
               $game_variables      = Marshal.load(f)
               $game_self_switches  = Marshal.load(f)
               $game_screen         = Marshal.load(f)
               $MapFactory          = Marshal.load(f)
               $game_map            = $MapFactory.map
               $game_player         = Marshal.load(f)
               $PokemonGlobal       = Marshal.load(f)
               metadata             = Marshal.load(f)
               $ItemData            = readItemList("Data/items.dat")
               $PokemonBag          = Marshal.load(f)
               $PokemonStorage      = Marshal.load(f)
               magicNumberMatches=false
               if $data_system.respond_to?("magic_number")
                 magicNumberMatches=($game_system.magic_number==$data_system.magic_number)
               else
                 magicNumberMatches=($game_system.magic_number==$data_system.version_id)
               end
               if !magicNumberMatches || $PokemonGlobal.safesave
                 if pbMapInterpreterRunning?
                   pbMapInterpreter.setup(nil,0)
                 end
                 begin
                   $MapFactory.setup($game_map.map_id) # calls setMapChanged
                   rescue Errno::ENOENT
                   if $DEBUG
                     Kernel.pbMessage(_INTL("Map {1} was not found.",$game_map.map_id))
                     map=pbWarpToMap()
                     if map
                       $MapFactory.setup(map[0])
                       $game_player.moveto(map[1],map[2])
                     else
                       $game_map=nil
                       $scene=nil
                       return
                     end
                   else
                     $game_map=nil
                     $scene=nil
                     Kernel.pbMessage(_INTL("The map was not found. The game cannot continue."))
                   end
                 end
                 $game_player.center($game_player.x, $game_player.y)
               else
                 $MapFactory.setMapChanged($game_map.map_id)
               end
            }
            if !$game_map.events # Map wasn't set up
              $game_map=nil
              $scene=nil
              Kernel.pbMessage(_INTL("The map is corrupt. The game cannot continue."))
              return
            end
            $PokemonMap=metadata
            $PokemonEncounters=PokemonEncounters.new
            $PokemonEncounters.setup($game_map.map_id)
            pbAutoplayOnSave
            $game_map.update
            $PokemonMap.updateMap
            $scene = Scene_Map.new
            return
          elsif cmdMysteryGift>=0 && command==cmdMysteryGift
            pbFadeOutIn(99999){
               trainer=pbDownloadMysteryGift(trainer)
            }
          elsif cmdOption>=0 && command==cmdOption
            scene=PokemonOptionScene.new
            screen=PokemonOption.new(scene)
            pbFadeOutIn(99999) { screen.pbStartScreen }
          end
        end
        @sprites["overlay"].opacity = 0
        @scene.pbEndScene
        return
      end
    end
    Replace your code with this one, made it look neat and tidy too...
    This was tested with a gift waiting, it will look silly if there isn't one... If you want it to look better, I'll let you figure that out, since all the code is there, you can learn to edit it yourself.
    Reply With Quote