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

Modify Screen Save

295
Posts
5
Years
    • Age 28
    • Seen Aug 15, 2022
    One day, you want change save screen like the images, the contents, etc but you don't know how to do.
    This scipt can help you to do this.

    Graphic:

    The images, which I used, are 366x247. ( Name is "Save" )
    You should put image in folder: Graphics\Pictures\SaveScreen
    This is my graphic, you can use this:
    Save


    Code:

    Code:
    #===============================================================================
    #
    # To this script works, put it above main.
    #
    #===============================================================================
    
    class PokemonSave_Scene 
    
      def pbStartScreen
        @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
        @viewport.z=99999
        @sprites={}
            
        setSprite("savescreen","Save",0,0,255)
    
        if $Trainer.party.size > 0
          for i in 0...6
            @sprites["party#{i}"] = PokemonIconSprite.new($Trainer.party[i],@viewport)
            @sprites["party#{i}"].x = 151*2+33*2*(i&1) - 91
            @sprites["party#{i}"].y = 36*2+25*2*(i/2) + 8
            @sprites["party#{i}"].z = 99999
          end
        end
                
        meta=pbGetMetadata(0,MetadataPlayerA+$PokemonGlobal.playerID)
        if meta
          @sprites["shadow"]=IconSprite.new(0,0,@viewport)
          @sprites["shadow"].setBitmap("Graphics/Pictures/Naming/icon_shadow")
          @sprites["shadow"].x=262
          @sprites["shadow"].y=36
          filename=pbGetPlayerCharset(meta,1)
          @sprites["character"]=TrainerWalkingCharSprite.new(filename,@viewport)
          charwidth=@sprites["character"].bitmap.width
          charheight=@sprites["character"].bitmap.height
          @sprites["character"].x = 268
          @sprites["character"].y = 0
        end
        
        totalsec = Graphics.frame_count / Graphics.frame_rate
        hour = totalsec / 60 / 60
        min = totalsec / 60 % 60
        hourreal = pbGetTimeNow.hour
        minreal = pbGetTimeNow.min
        mapname = $game_map.name
        
    #    Example: when name of map is too long -> change sprite
    #    if mapname.length <= 20
    #      @sprites ["savescreen"].opacity = 255
    #       add sprites ...
    #    else
    #      @sprites ["savescreen"].opacity = 0
    #    end
    
        @sprites["savescreen2"] = Sprite.new(@viewport)
        @sprites["savescreen2"].bitmap = Bitmap.new(Graphics.width, Graphics.height)
        @sprites["savescreen2"].bitmap.clear
        
        pbSetSystemFont(@sprites["savescreen2"].bitmap)
       
        textposition = []
        # * Real Time #
        textposition.push([_INTL("{1} - {2} - {3}",Time.now.day.to_i,Time.now.month.to_i,Time.now.year.to_i),5,7,0,Color.new(198,228,61),Color.new(158,180,57)])
        if hourreal >= 10
          if minreal >= 10
            textposition.push([_INTL("{1}:{2}",Time.now.hour.to_i,Time.now.min.to_i),167,7,2,Color.new(246,211,105),Color.new(212,183,96)])
          else 
            textposition.push([_INTL("{1}:0{2}",Time.now.hour.to_i,Time.now.min.to_i),167,7,2,Color.new(246,211,105),Color.new(212,183,96)])
          end
        else
          if minreal >= 10
            textposition.push([_INTL("0{1}:{2}",Time.now.hour.to_i,Time.now.min.to_i),167,7,2,Color.new(246,211,105),Color.new(212,183,96)])
          else
            textposition.push([_INTL("0{1}:0{2}",Time.now.hour.to_i,Time.now.min.to_i),167,7,2,Color.new(246,211,105),Color.new(212,183,96)])
          end
        end
        # * Seasons #
        if pbIsSpring
          textposition.push([_INTL("Spring"),68,40,0,Color.new(222,247,107),Color.new(189,210,92)])
        elsif pbIsSummer
          textposition.push([_INTL("Summer"),68,40,0,Color.new(100,225,240),Color.new(97,195,207)])      
        elsif pbIsAutumn
          textposition.push([_INTL("Autumn"),68,40,0,Color.new(237,119,119),Color.new(188,65,65)])            
        elsif pbIsWinter
          textposition.push([_INTL("Winter"),68,40,0,Color.new(232,222,232),Color.new(246,228,247)])            
        end
        # * Badge Number #
        textposition.push([_INTL("Badges: {1}",$Trainer.numbadges.to_s),15,110,0,Color.new(232,232,232),Color.new(136,136,136)])
        # * Money #
        textposition.push([_INTL("Money: ${1}",$Trainer.money.to_s),15,142,0,Color.new(232,232,232),Color.new(136,136,136)])
        # * Pokedex #
        if $Trainer.pokedex
          textposition.push([_INTL("Pokédex: {1}/{2}",$Trainer.pokedexOwned.to_s,$Trainer.pokedexSeen.to_s),15,209,0,Color.new(232,232,232),Color.new(136,136,136)])
        end
        # * Time play #
        if hour>0 
          if min>0
            textposition.push([_INTL("Time: {1}h {2}m",hour,min),15,175,0,Color.new(232,232,232),Color.new(136,136,136)])
          else 
            textposition.push([_INTL("Time: {1}h 0{2}m",hour,min),15,175,0,Color.new(232,232,232),Color.new(136,136,136)])
          end
        else
          textposition.push([_INTL("Time: 0h {1}m",min),15,175,0,Color.new(232,232,232),Color.new(136,136,136)])
        end
        if $Trainer.isMale?
          textposition.push([$Trainer.name,283,54,2,Color.new(56,160,248),Color.new(56,104,168)]) # trainer' name
          textposition.push([mapname,98,76,2,Color.new(56,160,248),Color.new(56,104,168)]) # map' name
        else
          textposition.push([$Trainer.name,283,54,2,Color.new(240,72,88),Color.new(160,64,64)]) # trainer' name
          textposition.push([mapname,98,76,2,Color.new(240,72,88),Color.new(160,64,64)]) # map' name
        end
      
        pbDrawTextPositions(@sprites["savescreen2"].bitmap,textposition)
      end
      
      def setSprite(name,bitmap,x,y,opacity=255)  
        @sprites["#{name}"]=Sprite.new(@viewport)
        @sprites["#{name}"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/SaveScreen/#{bitmap}")
        @sprites["#{name}"].x=x
        @sprites["#{name}"].y=y
        @sprites["#{name}"].opacity = opacity
      end
        
      def pbEndScreen
        pbDisposeSpriteHash(@sprites)
        @viewport.dispose
      end
      
    end
     
    Last edited:

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
    • Age 32
    • He/Him
    • Brazil
    • Seen Apr 22, 2024
    So beautifull! Ty ty for share.

    And did you make a Load Screen too? I want to learn how create lol or have a base, like your save screen i will make to me.
    I want to make a load screen showin your party with overworld front sprite, like Phoenix Rising. Such amazing!
     
    295
    Posts
    5
    Years
    • Age 28
    • Seen Aug 15, 2022
    So beautifull! Ty ty for share.

    And did you make a Load Screen too? I want to learn how create lol or have a base, like your save screen i will make to me.
    I want to make a load screen showin your party with overworld front sprite, like Phoenix Rising. Such amazing!

    You can make this in PScreen_Load.
     
    Back
    Top