• 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] Pokémon Starter Selection

68
Posts
11
Years
    • Seen Jan 17, 2017
    im using the script from Pokémon Starter Selection
    but in me game you can select 1 of 6 starter instead 3
    some one can change this script to add 3 starter more ?

    this is the original pokemon starter selection script
    Spoiler:


    i try edit this script , just copy and pasted some stuff in the script to add 3 more, but that give a error xD
    Spoiler:
    here the error

    Spoiler:


    i really dont know almost nothing about script xD
     
    Last edited:
    24
    Posts
    8
    Years
    • Seen Jan 18, 2023
    You might need to change the second set of 'pkmn1-2-3's to 4-5-6. Ah... this:
    Spoiler:


    Probably needs to be this:
    Spoiler:


    Try that and get back to us =)
     

    Zeak6464

    Zeak #3205 - Discord
    1,101
    Posts
    11
    Years
  • Code:
    #===============================================================================
    # * Advanced Starter Selection Script for Pokémon Essentials by shiney570.
    #
    # Current Version: V1.0
    # 
    # 
    # * If you have any questions or found a bug let me know.
    # * Contact: Skype: imatrix.wt ;  DeviantArt: shiney570
    # edited by Zeak6464 
    #===============================================================================
    class PokemonStarterSelection
     
     
     STARTERLEVEL = 5 # Feel free to change the value for the Level of your Starters.
    
     # Whether you are using the Elite Battle System or not.
     USING_ELITE_BATTLE = true
     
     def initialize(pkmn1,pkmn2,pkmn3,pkmn4,pkmn5,pkmn6)
      
      if $game_switches[62]==true # Randomizer 
        @pkmn1=rand(PBSpecies.maxValue)+1;@pkmn2=rand(PBSpecies.maxValue)+1;@pkmn3=rand(PBSpecies.maxValue)+1
      else
        @pkmn1=pkmn1; @pkmn2=pkmn2; @pkmn3=pkmn3; @pkmn4=pkmn4; @pkmn5=pkmn5; @pkmn6=pkmn6
    	end
      
      @select=1
     
      @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
      @viewport.z=99999
      @sprites={}
      
      @sprites["black"]=IconSprite.new(0,0,@viewport)    
      @sprites["black"].setBitmap("Graphics/Pictures/StarterSelection/black")
      @sprites["black"].opacity=0
      
      @sprites["bg"]=IconSprite.new(0,0,@viewport)    
      @sprites["bg"].setBitmap("Graphics/Pictures/StarterSelection/bg")
      @sprites["bg"].opacity=0
      
      @sprites["ball_1"]=IconSprite.new(0,0,@viewport)
      @sprites["ball_1"].setBitmap("Graphics/Pictures/StarterSelection/ball1")
      @sprites["ball_1"].x=145
      @sprites["ball_1"].y=45
      @sprites["ball_1"].opacity=0
      
      @sprites["ball_2"]=IconSprite.new(0,0,@viewport)
      @sprites["ball_2"].setBitmap("Graphics/Pictures/StarterSelection/ball2")
      @sprites["ball_2"].x=201
      @sprites["ball_2"].y=13
      @sprites["ball_2"].opacity=0
          
      @sprites["ball_3"]=IconSprite.new(0,0,@viewport)
      @sprites["ball_3"].setBitmap("Graphics/Pictures/StarterSelection/ball3")
      @sprites["ball_3"].x=260
      @sprites["ball_3"].y=43
      @sprites["ball_3"].opacity=0
      
      @sprites["ball_4"]=IconSprite.new(0,0,@viewport)
      @sprites["ball_4"].setBitmap("Graphics/Pictures/StarterSelection/ball3")
      @sprites["ball_4"].x=260
      @sprites["ball_4"].y=43
      @sprites["ball_4"].opacity=0
      
      @sprites["ball_5"]=IconSprite.new(0,0,@viewport)
      @sprites["ball_5"].setBitmap("Graphics/Pictures/StarterSelection/ball3")
      @sprites["ball_5"].x=260
      @sprites["ball_5"].y=43
      @sprites["ball_5"].opacity=0
      
      @sprites["ball_6"]=IconSprite.new(0,0,@viewport)
      @sprites["ball_6"].setBitmap("Graphics/Pictures/StarterSelection/ball3")
      @sprites["ball_6"].x=260
      @sprites["ball_6"].y=43
      @sprites["ball_6"].opacity=0
      
      @sprites["select"]=IconSprite.new(0,0,@viewport)
      @sprites["select"].setBitmap("Graphics/Pictures/StarterSelection/select")
      @sprites["select"].opacity=0
      @sprites["select"].x=5000
      
      @sprites["pkmn_1"]=IconSprite.new(0,0,@viewport)
      @sprites["pkmn_1"].setBitmap(sprintf("Graphics/Battlers/%03d",@pkmn1))
      @sprites["pkmn_1"].bitmap=AnimatedBitmapWrapper.new(sprintf("Graphics/Battlers/%03d",@pkmn1)).bitmap if USING_ELITE_BATTLE
      @sprites["pkmn_1"].x=340
      @sprites["pkmn_1"].y=120
      @sprites["pkmn_1"].opacity=0
      @sprites["pkmn_1"].ox = 104/2
      @sprites["pkmn_1"].oy =  96/2
    
    
      @sprites["pkmn_2"]=IconSprite.new(0,0,@viewport)
      @sprites["pkmn_2"].setBitmap(sprintf("Graphics/Battlers/%03d",@pkmn2))
      @sprites["pkmn_2"].bitmap=AnimatedBitmapWrapper.new(sprintf("Graphics/Battlers/%03d",@pkmn2)).bitmap if USING_ELITE_BATTLE
      @sprites["pkmn_2"].x=410
      @sprites["pkmn_2"].y=120
      @sprites["pkmn_2"].opacity=0
      @sprites["pkmn_2"].ox = 108/2
      @sprites["pkmn_2"].oy = 100/2
      
      
      @sprites["pkmn_3"]=IconSprite.new(0,0,@viewport)
      @sprites["pkmn_3"].setBitmap(sprintf("Graphics/Battlers/%03d",@pkmn3))
      @sprites["pkmn_3"].bitmap=AnimatedBitmapWrapper.new(sprintf("Graphics/Battlers/%03d",@pkmn3)).bitmap if USING_ELITE_BATTLE
      @sprites["pkmn_3"].x=170
      @sprites["pkmn_3"].y=120-10
      @sprites["pkmn_3"].opacity=0
      @sprites["pkmn_3"].ox = 105/2
      @sprites["pkmn_3"].oy =  95/2
    
      @sprites["pkmn_4"]=IconSprite.new(0,0,@viewport)
      @sprites["pkmn_4"].setBitmap(sprintf("Graphics/Battlers/%03d",@pkmn4))
      @sprites["pkmn_4"].bitmap=AnimatedBitmapWrapper.new(sprintf("Graphics/Battlers/%03d",@pkmn4)).bitmap if USING_ELITE_BATTLE
      @sprites["pkmn_4"].x=170
      @sprites["pkmn_4"].y=120-10
      @sprites["pkmn_4"].opacity=0
      @sprites["pkmn_4"].ox = 105/2
      @sprites["pkmn_4"].oy =  95/2
      
      @sprites["pkmn_5"]=IconSprite.new(0,0,@viewport)
      @sprites["pkmn_5"].setBitmap(sprintf("Graphics/Battlers/%03d",@pkmn5))
      @sprites["pkmn_5"].bitmap=AnimatedBitmapWrapper.new(sprintf("Graphics/Battlers/%03d",@pkmn5)).bitmap if USING_ELITE_BATTLE
      @sprites["pkmn_5"].x=170
      @sprites["pkmn_5"].y=120-10
      @sprites["pkmn_5"].opacity=0
      @sprites["pkmn_5"].ox = 105/2
      @sprites["pkmn_5"].oy =  95/2
      
      @sprites["pkmn_6"]=IconSprite.new(0,0,@viewport)
      @sprites["pkmn_6"].setBitmap(sprintf("Graphics/Battlers/%03d",@pkmn6))
      @sprites["pkmn_6"].bitmap=AnimatedBitmapWrapper.new(sprintf("Graphics/Battlers/%03d",@pkmn6)).bitmap if USING_ELITE_BATTLE
      @sprites["pkmn_6"].x=170
      @sprites["pkmn_6"].y=120-10
      @sprites["pkmn_6"].opacity=0
      @sprites["pkmn_6"].ox = 105/2
      @sprites["pkmn_6"].oy =  95/2
      
      @sprites["overlay"]=BitmapSprite.new(Graphics.width, Graphics.height, @viewport)
      @sprites["overlay"].opacity=0
      
      @data={}
      @data["pkmn_1"]=PokeBattle_Pokemon.new(@pkmn1,STARTERLEVEL)
      @data["pkmn_2"]=PokeBattle_Pokemon.new(@pkmn2,STARTERLEVEL)
      @data["pkmn_3"]=PokeBattle_Pokemon.new(@pkmn3,STARTERLEVEL)
      @data["pkmn_4"]=PokeBattle_Pokemon.new(@pkmn4,STARTERLEVEL)
      @data["pkmn_5"]=PokeBattle_Pokemon.new(@pkmn5,STARTERLEVEL)
      @data["pkmn_6"]=PokeBattle_Pokemon.new(@pkmn6,STARTERLEVEL)
      @pokemon=@data["pkmn_#{@select}"]    
      self.openscene
     end
     
     def openscene
      25.times do
        @sprites["black"].opacity+=10.2
        @sprites["bg"].opacity+=10.2
        @sprites["ball_1"].opacity+=10.2
        @sprites["ball_2"].opacity+=10.2
        @sprites["ball_3"].opacity+=10.2
        @sprites["ball_4"].opacity+=10.2
        @sprites["ball_5"].opacity+=10.2
        @sprites["ball_6"].opacity+=10.2
        @sprites["select"].opacity+=10.2
        pbWait(1)
      end
      self.gettinginput
      self.input_action
     end
     
     def closescene
      25.times do
        @sprites["black"].opacity-=10.2
        @sprites["bg"].opacity-=10.2
        @sprites["ball_1"].opacity-=10.2
        @sprites["ball_2"].opacity-=10.2
        @sprites["ball_3"].opacity-=10.2
        @sprites["ball_4"].opacity-=10.2
        @sprites["ball_5"].opacity-=10.2
        @sprites["ball_6"].opacity-=10.2
        @sprites["select"].opacity-=10.2
        @sprites["pkmn_1"].opacity-=10.2
        @sprites["pkmn_2"].opacity-=10.2
        @sprites["pkmn_3"].opacity-=10.2
        @sprites["pkmn_4"].opacity-=10.2
        @sprites["pkmn_5"].opacity-=10.2
        @sprites["pkmn_6"].opacity-=10.2
        @sprite.opacity-=10.2
        @sprites["pkmn_#{@select}"].opacity-=10.2
        @sprites["overlay"].opacity-=10.2
        pbWait(1)
        end      
      end
     
     def gettinginput
      if Input.trigger?(Input::RIGHT)  && @select <6
        @select+=1
      end
      if Input.trigger?(Input::LEFT) && @select >1
        @select-=1
      end
      pokemon=[@pkmn1,@pkmn2,@pkmn3,@pkmn4,@pkmn5,@pkmn6]
      @pkmn_array=pokemon
      if defined?($mouse)
        for i in 1...4
          if $mouse.over?(@sprites["ball_#{i}"]) && !$mouse.isStatic?
            @select=i
          end
        end
        if $mouse.leftClick?(@sprites["ball_#{@select}"])
          pressBall
        end
      end
      if Input.trigger?(Input::C) 
        pressBall
      end
     end
     
     def pressBall
      @sprites["select"].visible=false
      20.times do
        @sprites["pkmn_#{@select}"].opacity+=255/20
        @sprite.opacity+=255/20; @sprites["overlay"].opacity+=255/20
        @sprites["ball_#{@select}"].x-=4; @sprites["ball_#{@select}"].y-=4
        @sprites["ball_#{@select}"].zoom_x+=0.05; @sprites["ball_#{@select}"].zoom_y+=0.05
        for j in 1...4
          @sprites["ball_#{j}"].opacity-=10 if !(j==@select)
          if @select==2#
          @sprites["ball_1"].x-=1
          else#
          @sprites["ball_#{j}"].x-=2 if !(j==@select) && @select>1
        end#
      end      
      @sprites["bg"].opacity-=10
      pbWait(1)
      end
      @sprites["pkmn_#{@select}"].visible=true
      @sprite.visible=true
      pbSEPlay(sprintf("%03dCry",@pkmn_array[@select-1]))
      pbWait(20)
      if Kernel.pbConfirmMessage("Do you want #{@pokemon.name}?")
        pbAddPokemon(@pkmn_array[@select-1],STARTERLEVEL)
        $game_variables[7]=@select
        self.closescene
      else
        20.times do
          @sprites["pkmn_#{@select}"].opacity-=255/20
          @sprite.opacity-=255/20; @sprites["overlay"].opacity-=255/20
          @sprites["ball_#{@select}"].x+=4; @sprites["ball_#{@select}"].y+=4
          @sprites["ball_#{@select}"].zoom_x-=0.05; @sprites["ball_#{@select}"].zoom_y-=0.05
          for j in 1...4
            @sprites["ball_#{j}"].opacity+=10 if !(j==@select)
              if @select==2
              @sprites["ball_1"].x+=1
              else
              @sprites["ball_#{j}"].x+=2 if !(j==@select) && @select>1
            end
          end  
          @sprites["bg"].opacity+=10
          pbWait(1)
        end
          @sprites["pkmn_#{@select}"].visible=false
          @sprite.visible=false
          @sprites["select"].visible=true
        end
      end
        
     def input_action
      x=[5000,170,229,285,285,285,285]
      y=[5000,25 ,-10 ,23 ,23 ,23, 23]
      while $game_variables[7]==0
        Graphics.update
        Input.update
        @pokemon=@data["pkmn_#{@select}"]
        self.gettinginput
        @sprites["select"].x=x[@select]
        @sprites["select"].y=y[@select]
        self.text; self.typebitmap
      end
     end
    
     def text
      overlay= @sprites["overlay"].bitmap
      overlay.clear
      baseColor=Color.new(255, 255, 255)
      shadowColor=Color.new(0,0,0)
      pbSetSystemFont(@sprites["overlay"].bitmap)
      name_x=[5000,273,343,103,103,103,103] # -70
      textos=[]
      textos.push([_INTL("{1}", @pokemon.name),name_x[@select],10,false,baseColor,shadowColor])
      pbDrawTextPositions(overlay,textos)
     end
    
     def typebitmap
      
      @sprite=Sprite.new(@viewport)
      @sprite.bitmap=Bitmap.new(194,28)
      @sprite.y=171
      
      @sprite.opacity=0
      @bitmap=BitmapCache.load_bitmap("Graphics/Pictures/types")
      
      @type1rect=Rect.new(0,@pokemon.type1*28,64,28)
      @type2rect=Rect.new(0,@pokemon.type2*28,64,28)
      
      typex=[5000,-120,-50,-285,-285,-285,-285]
      
      if @[email protected]
        @sprite.x=402+typex[@select]
        @sprite.bitmap.blt(0,0,@bitmap,@type1rect)
      else
        @sprite.x=370+typex[@select]
        @sprite.bitmap.blt(0,0,@bitmap,@type1rect)
        @sprite.bitmap.blt(66,0,@bitmap,@type2rect)
      end
     end
    end
    Your going to have to edit X,Y coordinates for all pokemon and pokeball images
     
    Back
    Top