• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Trading Card Game 2 protagonist in the poll by clicking here.
  • 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.

[Custom Feature Question] Positioning character sprites for Sun/Moon gender selection screen

  • 21
    Posts
    6
    Years
    • Seen Jul 23, 2024
    Hello! I want to reposition the sprites for bo4p5687's Sun/Moon gender selection screen script.

    Currently it looks like this.
    [PokeCommunity.com] Positioning character sprites for Sun/Moon gender selection screen

    I want to make it so that the character sprites are rendered properly, can anybody help me with this?

    Here is the script for the gender selection screen, and the original post for the script.

    https://www.pokecommunity.com/threads/409950

    Code:
    #===============================================================================
    # * Gender Selection Screen like Sun/Moon (8 characters) by bo4p5687
    # * based on Nickalooose's script
    #===============================================================================
    #
    # How to use:
    #  To use, remove event "Show choices: Boy, Girl" and add script:
    #        pbCallGenderSelect
    #
    # Graphic:
    #  You should use images 512x384 for background and background for selecting, 90x106 for Avatar
    #  Put the images in folder: Graphics\Pictures\GenderSelection  
    #
    #===============================================================================
    #
    # To this script works, put it above main.
    #
    #===============================================================================
    class GenderPickScene
      
      AVATAR_A = "AvatarA" # Name of first Avatar: Player A
      AVATAR_B = "AvatarB" # Name of second Avatar: Player B
      AVATAR_C = "AvatarC" # Name of third Avatar: Player C
      AVATAR_D = "AvatarD" # Name of fourth Avatar: Player D
      AVATAR_E = "AvatarE" # Name of fifth Avatar: Player E
      AVATAR_F = "AvatarF" # Name of sixth Avatar: Player F
      AVATAR_G = "AvatarG" # Name of seventh Avatar: Player G
      AVATAR_H = "AvatarH" # Name of eighth Avatar: Player H
      
      BACKGROUND = "Background" # Name of background
      BACKGROUND_SELECTION = "BackgroundSelect" # Name of background for selecting 
      
      def update
        pbUpdateSpriteHash(@sprites)
      end
    
      def pbStartScene
        
        @sprites={}
        @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
        @viewport.z=99999
        @select=0
        
        pbSprite("bg",BACKGROUND,0,0)
        pbSprite("bgslt",BACKGROUND_SELECTION,0,0)
        
        pbSprite("boya",AVATAR_A,68,65,155)
        pbSprite("boyb",AVATAR_B,182,65,155)
        pbSprite("boyc",AVATAR_C,296,65,155)
        pbSprite("boyd",AVATAR_D,410,65,155)
        
        pbSprite("girla",AVATAR_E,68,230,155)
        pbSprite("girlb",AVATAR_F,182,230,155)
        pbSprite("girlc",AVATAR_G,296,230,155)
        pbSprite("girld",AVATAR_H,410,230,155)
    	
      end
      
      def pbEndScene
        pbDisposeSpriteHash(@sprites)
        @viewport.dispose
      end
      
      def pbSprite(name,bitmap,x,y,opacity=255)
        @sprites["#{name}"]=Sprite.new(@viewport)
        @sprites["#{name}"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/GenderSelection/#{bitmap}")
        @sprites["#{name}"].x=x
        @sprites["#{name}"].y=y
        @sprites["#{name}"].opacity = opacity
      end
          
      def pbGenderSelect
      
      loop do
          Graphics.update
          Input.update
          self.update 
          if @select == 0 
            @sprites["boya"].opacity = 255
            @sprites["boyb"].opacity = 155
            @sprites["boyc"].opacity = 155
            @sprites["boyd"].opacity = 155
            @sprites["girla"].opacity = 155
            @sprites["girlb"].opacity = 155
            @sprites["girlc"].opacity = 155
            @sprites["girld"].opacity = 155
          end
          if Input.trigger?(Input::LEFT)
            pbSEPlay("Choose")
            pbSEPlay("Anim/Choose") # if you use v17, this will check SE
            if @select == 0
              @select = 7
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 255
            elsif @select == 7
              @select = 6
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 255
              @sprites["girld"].opacity = 155
            elsif @select == 6
              @select = 5
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 255
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 5
              @select = 4
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 255
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 4
              @select = 3
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 255
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 3
              @select = 2
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 255
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 2
              @select = 1
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 255
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 1
              @select = 0
              @sprites["boya"].opacity = 255
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            end
          elsif Input.trigger?(Input::RIGHT)
            pbSEPlay("Choose")
            pbSEPlay("Anim/Choose") # if you use v17, this will check SE
            if @select == 0
              @select = 1
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 255
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 1
              @select = 2
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 255
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 2
              @select = 3
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 255
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 3
              @select = 4
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 255
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 4
              @select = 5
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 255
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 5
              @select = 6
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 255
              @sprites["girld"].opacity = 155
            elsif @select == 6
              @select = 7
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 255
            elsif @select == 7
              @select = 0
              @sprites["boya"].opacity = 255
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            end
          elsif Input.trigger?(Input::DOWN) || Input.trigger?(Input::UP)
            pbSEPlay("Choose")
            pbSEPlay("Anim/Choose") # if you use v17, this will check SE
            if @select == 0
              @select = 4
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 255
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 4
              @select = 0
              @sprites["boya"].opacity = 255
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 1
              @select = 5
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 255
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 5
              @select = 1
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 255
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 2
              @select = 6
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 255
              @sprites["girld"].opacity = 155
            elsif @select == 6
              @select = 2
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 255
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            elsif @select == 3
              @select = 7
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 155
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 255
            elsif @select == 7
              @select = 3
              @sprites["boya"].opacity = 155
              @sprites["boyb"].opacity = 155
              @sprites["boyc"].opacity = 155
              @sprites["boyd"].opacity = 255
              @sprites["girla"].opacity = 155
              @sprites["girlb"].opacity = 155
              @sprites["girlc"].opacity = 155
              @sprites["girld"].opacity = 155
            end
          end
    #===============================================================================
    # After selecting
    #===============================================================================
          if Input.trigger?(Input::C)
            pbSEPlay("Choose")
            pbSEPlay("Anim/Choose") # if you use v17, this will check SE
            if @select == 0
              @sprites["bgslt"].opacity = 0
              @sprites["boyb"].opacity = 0
              @sprites["boyc"].opacity = 0
              @sprites["boyd"].opacity = 0
              @sprites["girla"].opacity = 0
              @sprites["girlb"].opacity = 0
              @sprites["girlc"].opacity = 0
              @sprites["girld"].opacity = 0
              @sprites["boya"].x = 211
              @sprites["boya"].y = 100
              Graphics.update
              Input.update
              self.update
              if Kernel.pbConfirmMessage("You OK with the one you chose,yeah?")
                pbChangePlayer(0)  # Player A
                pbEndScene
                return true
              else
                @sprites["bgslt"].opacity = 255
                @sprites["boyb"].opacity = 155
                @sprites["boyc"].opacity = 155
                @sprites["boyd"].opacity = 155
                @sprites["girla"].opacity = 155
                @sprites["girlb"].opacity = 155
                @sprites["girlc"].opacity = 155
                @sprites["girld"].opacity = 155
                @sprites["boya"].x = 68
                @sprites["boya"].y = 65
              end
            elsif @select == 1
              @sprites["bgslt"].opacity = 0
              @sprites["boya"].opacity = 0
              @sprites["boyc"].opacity = 0
              @sprites["boyd"].opacity = 0
              @sprites["girla"].opacity = 0
              @sprites["girlb"].opacity = 0
              @sprites["girlc"].opacity = 0
              @sprites["girld"].opacity = 0		  
              @sprites["boyb"].x = 211
              @sprites["boyb"].y = 100
              Graphics.update
              Input.update
              self.update
              if Kernel.pbConfirmMessage("You OK with the one you chose,yeah?")
                pbChangePlayer(2) # Player C
                pbEndScene
                return true
              else
                @sprites["bgslt"].opacity = 255
                @sprites["boya"].opacity = 155
                @sprites["boyc"].opacity = 155
                @sprites["boyd"].opacity = 155
                @sprites["girla"].opacity = 155
                @sprites["girlb"].opacity = 155
                @sprites["girlc"].opacity = 155
                @sprites["girld"].opacity = 155
                @sprites["boyb"].x = 182
                @sprites["boyb"].y = 65
              end
            elsif @select == 2
              @sprites["bgslt"].opacity = 0
              @sprites["boya"].opacity = 0
              @sprites["boyb"].opacity = 0
              @sprites["boyd"].opacity = 0
              @sprites["girla"].opacity = 0
              @sprites["girlb"].opacity = 0
              @sprites["girlc"].opacity = 0
              @sprites["girld"].opacity = 0
              @sprites["boyc"].x = 211
              @sprites["boyc"].y = 100
              Graphics.update
              Input.update
              self.update
              if Kernel.pbConfirmMessage("You OK with the one you chose,yeah?")
                pbChangePlayer(4) # Player E
                pbEndScene
                return true
              else
                @sprites["bgslt"].opacity = 255
                @sprites["boya"].opacity = 155
                @sprites["boyb"].opacity = 155
                @sprites["boyd"].opacity = 155
                @sprites["girla"].opacity = 155
                @sprites["girlb"].opacity = 155
                @sprites["girlc"].opacity = 155
                @sprites["girld"].opacity = 155
                @sprites["boyc"].x = 296
                @sprites["boyc"].y = 65
              end
            elsif @select == 3
              @sprites["bgslt"].opacity = 0
              @sprites["boya"].opacity = 0
              @sprites["boyc"].opacity = 0
              @sprites["boyb"].opacity = 0
              @sprites["girla"].opacity = 0
              @sprites["girlb"].opacity = 0
              @sprites["girlc"].opacity = 0
              @sprites["girld"].opacity = 0
              @sprites["boyd"].x = 211
              @sprites["boyd"].y = 100
              Graphics.update
              Input.update
              self.update
              if Kernel.pbConfirmMessage("You OK with the one you chose,yeah?")
                pbChangePlayer(6) # Player G
                pbEndScene
                return true
              else
                @sprites["bgslt"].opacity = 255
                @sprites["boya"].opacity = 155
                @sprites["boyc"].opacity = 155
                @sprites["boyb"].opacity = 155
                @sprites["girla"].opacity = 155
                @sprites["girlb"].opacity = 155
                @sprites["girlc"].opacity = 155
                @sprites["girld"].opacity = 155
                @sprites["boyd"].x = 410
                @sprites["boyd"].y = 65
              end
            elsif @select == 4
              @sprites["bgslt"].opacity = 0
              @sprites["boya"].opacity = 0
              @sprites["boyb"].opacity = 0
              @sprites["boyc"].opacity = 0
              @sprites["boyd"].opacity = 0
              @sprites["girlb"].opacity = 0
              @sprites["girlc"].opacity = 0
              @sprites["girld"].opacity = 0
              @sprites["girla"].x = 211
              @sprites["girla"].y = 100
              Graphics.update
              Input.update
              self.update
              if Kernel.pbConfirmMessage("You OK with the one you chose,yeah?")
                pbChangePlayer(1) # Player B
                pbEndScene
                return true
              else
                @sprites["bgslt"].opacity = 255
                @sprites["boya"].opacity = 155
                @sprites["boyb"].opacity = 155
                @sprites["boyc"].opacity = 155
                @sprites["boyd"].opacity = 155
                @sprites["girlb"].opacity = 155
                @sprites["girlc"].opacity = 155
                @sprites["girld"].opacity = 155
                @sprites["girla"].x = 68
                @sprites["girla"].y = 230
              end
            elsif @select == 5
              @sprites["bgslt"].opacity = 0
              @sprites["boya"].opacity = 0
              @sprites["boyb"].opacity = 0
              @sprites["boyc"].opacity = 0
              @sprites["boyd"].opacity = 0
              @sprites["girla"].opacity = 0
              @sprites["girlc"].opacity = 0
              @sprites["girld"].opacity = 0
              @sprites["girlb"].x = 211
              @sprites["girlb"].y = 100
              Graphics.update
              Input.update
              self.update
              if Kernel.pbConfirmMessage("You OK with the one you chose,yeah?")
                pbChangePlayer(3) # Player D
                pbEndScene
                return true
              else
                @sprites["bgslt"].opacity = 255
                @sprites["boya"].opacity = 155
                @sprites["boyb"].opacity = 155
                @sprites["boyc"].opacity = 155
                @sprites["boyd"].opacity = 155
                @sprites["girla"].opacity = 155
                @sprites["girlc"].opacity = 155
                @sprites["girld"].opacity = 155
                @sprites["girlb"].x = 182
                @sprites["girlb"].y = 230
              end
            elsif @select == 6
              @sprites["bgslt"].opacity = 0
              @sprites["boya"].opacity = 0
              @sprites["boyb"].opacity = 0
              @sprites["boyc"].opacity = 0
              @sprites["boyd"].opacity = 0
              @sprites["girlb"].opacity = 0
              @sprites["girla"].opacity = 0
              @sprites["girld"].opacity = 0
              @sprites["girlc"].x = 211
              @sprites["girlc"].y = 100
              Graphics.update
              Input.update
              self.update
              if Kernel.pbConfirmMessage("You OK with the one you chose,yeah?")
                pbChangePlayer(5) # Player F
                pbEndScene
                return true
              else
                @sprites["bgslt"].opacity = 255
                @sprites["boya"].opacity = 155
                @sprites["boyb"].opacity = 155
                @sprites["boyc"].opacity = 155
                @sprites["boyd"].opacity = 155
                @sprites["girlb"].opacity = 155
                @sprites["girla"].opacity = 155
                @sprites["girld"].opacity = 155
                @sprites["girlc"].x = 296
                @sprites["girlc"].y = 230
              end
            elsif @select == 7
              @sprites["bgslt"].opacity = 0
              @sprites["boya"].opacity = 0
              @sprites["boyb"].opacity = 0
              @sprites["boyc"].opacity = 0
              @sprites["boyd"].opacity = 0
              @sprites["girlb"].opacity = 0
              @sprites["girlc"].opacity = 0
              @sprites["girla"].opacity = 0
              @sprites["girld"].x = 211
              @sprites["girld"].y = 100
              Graphics.update
              Input.update
              self.update
              if Kernel.pbConfirmMessage("You OK with the one you chose,yeah?")
                pbChangePlayer(7) # Player H
                pbEndScene
                return true
              else
                @sprites["bgslt"].opacity = 255
                @sprites["boya"].opacity = 155
                @sprites["boyb"].opacity = 155
                @sprites["boyc"].opacity = 155
                @sprites["boyd"].opacity = 155
                @sprites["girlb"].opacity = 155
                @sprites["girlc"].opacity = 155
                @sprites["girla"].opacity = 155
                @sprites["girld"].x = 410
                @sprites["girld"].y = 230
              end
            end
          end	  	
        end
      end    
    end
    
    
    class GenderPick
    
      def initialize(scene)
        @scene=scene
      end
      
      def pbStartScreen
        @scene.pbStartScene
        @scene.pbGenderSelect
        @scene.pbEndScene
      end
    
    end
    
    def pbCallGenderSelect
      scene=GenderPickScene.new
      screen=GenderPick.new(scene)
      screen.pbStartScreen
    end
     
    Back
    Top