- 36
- Posts
- 9
- Years
- Seen Apr 17, 2025
Doesn't work in v17.2
Doesn't work in v17.2
Of course it doesn't. The script is 7 years old.
Check out Shiney570's Essentials BW2 Mod on Archive.org, that one may work with a few modifications.
hey a questionBW Gender Selection Screen *V2*
Hello, this is my first public Script that I have created and not helped or given advice on, made from scratch.
It is a basic version of a gender selection screen based on BW and BW2.
Quick to implement, no messing around.
Easy to manage.
Make your game look more professional.
How to add:
Simple, just throw this code into an empty script section above Main and name it GenderSelect.
Place all pictures into the Graphics/Pictures, folder.
Remove the Gender selection event within Prof. Oaks Intro (the "Are you a boy or a girl" part), and instead place this script:
Code:[COLOR="Blue"]scene=GenderPickScene.new screen=GenderPick.new(scene) screen.pbStartScreen[/COLOR]
All pictures should be named:
Male = Select_A
Female = Select_B
Male Base = Select_ABase
Female Base = Select_BBase.
All pictures can be edited of course and modifications to the script should be made.
Screenshots:
Spoiler:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Code:
Code:#==============================================================================# # V2 Created by Nickalooose # Please Credit If used. #==============================================================================# # FIXES: Save issue. #==============================================================================# # How To Use: # To use, remove the player gender event. # The "Are you a boy or a girl", event. # And add: # scene=GenderPickScene.new # screen=GenderPick.new(scene) # screen.pbStartScreen # as a single script event. # # Sprites included, are at recommended size for a 512x384 standard # Essentials game. # Should work in any Essentials. #==============================================================================# class GenderPickScene def pbUpdate pbUpdateSpriteHash(@sprites) end def selectPlayer @select=0 @sprites={} @viewport=Viewport.new(0,0,Graphics.width,Graphics.height) @viewport.z=99998 @sprites["overlay"]=BitmapSprite.new(Graphics.width, Graphics.height) @sprites["overlay"].z = 99999 @overlay=@sprites["overlay"].bitmap @overlay.clear # x is across # y is down # base a @sprites["playerabase"]=Sprite.new @sprites["playerabase"].z = 99998 @sprites["playerabase"].x = -200#0 @sprites["playerabase"].y = 102 @sprites["playerabase"].bitmap= BitmapCache.load_bitmap("Graphics/Pictures/Select_ABase") # base b @sprites["playerbbase"]=Sprite.new @sprites["playerbbase"].z = 99998 @sprites["playerbbase"].x = 456#256 @sprites["playerbbase"].y = 102 @sprites["playerbbase"].bitmap= BitmapCache.load_bitmap("Graphics/Pictures/Select_BBase") 20.times do @sprites["playerabase"].x+=10 @sprites["playerbbase"].x-=10 Graphics.update Input.update pbUpdate end # male @sprites["playera"]=Sprite.new @sprites["playera"].z = 99998 @sprites["playera"].x = 50 @sprites["playera"].y = 102 @sprites["playera"].bitmap= BitmapCache.load_bitmap("Graphics/Pictures/Select_A") # female @sprites["playerb"]=Sprite.new @sprites["playerb"].z = 99998 @sprites["playerb"].x = 380 @sprites["playerb"].y = 102 @sprites["playerb"].bitmap= BitmapCache.load_bitmap("Graphics/Pictures/Select_B") Kernel.pbMessage("Are you male or female?") loop do Graphics.update Input.update pbUpdate if Input.trigger?(Input::C) && @select==0 Kernel.pbMessage("You must be male or female.") Kernel.pbMessage("So, are you male or female?") end if Input.trigger?(Input::LEFT) if @select==1 pbSEPlay("Choose") @select=2 @sprites["playera"].color = Color.new(0, 0, 0, 200)#faded @sprites["playerabase"].color = Color.new(0, 0, 0, 200)#faded @sprites["playerb"].color = Color.new(0, 0, 0, 0) @sprites["playerbbase"].color = Color.new(0, 0, 0, 0) else pbSEPlay("Choose") @select=1 @sprites["playerb"].color = Color.new(0, 0, 0, 200) @sprites["playerbbase"].color = Color.new(0, 0, 0, 200) @sprites["playera"].color = Color.new(0, 0, 0, 0)#faded @sprites["playerabase"].color = Color.new(0, 0, 0, 0)#faded end elsif Input.trigger?(Input::RIGHT) if @select==2 pbSEPlay("Choose") @select=1 @sprites["playerb"].color = Color.new(0, 0, 0, 200) @sprites["playerbbase"].color = Color.new(0, 0, 0, 200) @sprites["playera"].color = Color.new(0, 0, 0, 0)#faded @sprites["playerabase"].color = Color.new(0, 0, 0, 0)#faded else pbSEPlay("Choose") @select=2 @sprites["playera"].color = Color.new(0, 0, 0, 200)#faded @sprites["playerabase"].color = Color.new(0, 0, 0, 200)#faded @sprites["playerb"].color = Color.new(0, 0, 0, 0) @sprites["playerbbase"].color = Color.new(0, 0, 0, 0) end elsif Input.trigger?(Input::UP) if @select==1 pbSEPlay("Choose") @select=2 @sprites["playera"].color = Color.new(0, 0, 0, 200)#faded @sprites["playerabase"].color = Color.new(0, 0, 0, 200)#faded @sprites["playerb"].color = Color.new(0, 0, 0, 0) @sprites["playerbbase"].color = Color.new(0, 0, 0, 0) else pbSEPlay("Choose") @select=1 @sprites["playerb"].color = Color.new(0, 0, 0, 200) @sprites["playerbbase"].color = Color.new(0, 0, 0, 200) @sprites["playera"].color = Color.new(0, 0, 0, 0)#faded @sprites["playerabase"].color = Color.new(0, 0, 0, 0)#faded end elsif Input.trigger?(Input::DOWN) if @select==2 pbSEPlay("Choose") @select=1 @sprites["playerb"].color = Color.new(0, 0, 0, 200) @sprites["playerbbase"].color = Color.new(0, 0, 0, 200) @sprites["playera"].color = Color.new(0, 0, 0, 0)#faded @sprites["playerabase"].color = Color.new(0, 0, 0, 0)#faded else pbSEPlay("Choose") @select=2 @sprites["playera"].color = Color.new(0, 0, 0, 200)#faded @sprites["playerabase"].color = Color.new(0, 0, 0, 200)#faded @sprites["playerb"].color = Color.new(0, 0, 0, 0) @sprites["playerbbase"].color = Color.new(0, 0, 0, 0) end end if Input.trigger?(Input::C) && @select==1 pbSEPlay("Choose") 19.times do @sprites["playera"].x+=9#192 @sprites["playerabase"].x-=10 @sprites["playerbbase"].x+=10 @sprites["playerb"].x+=10#192 Graphics.update Input.update pbUpdate end @sprites["playerabase"].opacity=0 @sprites["playerb"].opacity=0 @sprites["playerbbase"].opacity=0 pbWait(20) if Kernel.pbConfirmMessage("So, you are male?") pbChangePlayer(0) pbEndScene return true else @sprites["playerabase"].opacity=255 @sprites["playerb"].opacity=255 @sprites["playerbbase"].opacity=255 19.times do @sprites["playera"].x-=9#192 @sprites["playerabase"].x+=10 @sprites["playerbbase"].x-=10 @sprites["playerb"].x-=10#192 Graphics.update Input.update pbUpdate end end elsif Input.trigger?(Input::C) && @select==2 pbSEPlay("Choose") 19.times do @sprites["playerb"].x-=8#150 @sprites["playerabase"].x-=10 @sprites["playerbbase"].x+=10 @sprites["playera"].x-=9#192 Graphics.update Input.update pbUpdate end @sprites["playerabase"].opacity=0 @sprites["playera"].opacity=0 @sprites["playerbbase"].opacity=0 pbWait(20) if Kernel.pbConfirmMessage("So, you are female?") pbChangePlayer(1) pbEndScene return true else @sprites["playerabase"].opacity=255 @sprites["playera"].opacity=255 @sprites["playerbbase"].opacity=255 19.times do @sprites["playerb"].x+=8#50 @sprites["playerabase"].x+=10 @sprites["playerbbase"].x-=10 @sprites["playera"].x+=9#192 Graphics.update Input.update pbUpdate end end end end end def pbEndScene pbFadeOutAndHide(@sprites){pbUpdate} pbDisposeSpriteHash(@sprites) @viewport.dispose end end class GenderPick def initialize(scene) @scene=scene end def pbStartScreen @scene.selectPlayer @scene.pbEndScene end end
Credit me if used and if modifications are used.
Enjoy.
V2 FIXES:
Spoiler:
Save Issue.