Harvey_Create
Pokemon Apex Team Member
- 136
- Posts
- 12
- Years
- Iowa
- Seen Jul 12, 2015
Button Based Start Menu (Script)
After all of the Issues with me no understanding Nickaloose helping me, and updating, The script is here, rather then in comments.
The scripts in this post are Nickaloose's so ask him for help on themm if they dont work.
This is what is should look like,
[/QUOTE]
The PokemonPauseMenu script. Just Copy and Paste over the PokemonPauseMenu script.
Then make a new script entry below PokemonPauseMenu, and call it NPauseMenu. Then Paste this code into it.
After all of the Issues with me no understanding Nickaloose helping me, and updating, The script is here, rather then in comments.
The scripts in this post are Nickaloose's so ask him for help on themm if they dont work.
This is what is should look like,
![[PokeCommunity.com] New Start Menu? [PokeCommunity.com] New Start Menu?](https://imageshack.com/a/img199/4866/7jmj.png)
The PokemonPauseMenu script. Just Copy and Paste over the PokemonPauseMenu script.
Spoiler:
Code:
class PokemonMenu_Scene
def pbShowCommands(commands)
ret=-1
cmdwindow=@sprites["cmdwindow"]
cmdwindow.viewport=@viewport
cmdwindow.index=$PokemonTemp.menuLastChoice
cmdwindow.resizeToFit(commands)
cmdwindow.commands=commands
cmdwindow.x=Graphics.width-cmdwindow.width
cmdwindow.y=0
cmdwindow.visible=true
loop do
cmdwindow.update
Graphics.update
Input.update
pbUpdateSceneMap
if Input.trigger?(Input::B)
ret=-1
break
end
if Input.trigger?(Input::C)
ret=cmdwindow.index
$PokemonTemp.menuLastChoice=ret
break
end
end
return ret
end
def pbShowInfo(text)
@sprites["infowindow"].resizeToFit(text,Graphics.height)
@sprites["infowindow"].text=text
@sprites["infowindow"].visible=true
@infostate=true
end
def pbShowHelp(text)
@sprites["helpwindow"].resizeToFit(text,Graphics.height)
@sprites["helpwindow"].text=text
@sprites["helpwindow"].visible=true
@helpstate=true
pbBottomLeft(@sprites["helpwindow"])
end
def pbStartScene
@viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
@viewport.z=99999
@sprites={}
@sprites["cmdwindow"]=Window_CommandPokemon.new([])
@sprites["infowindow"]=Window_UnformattedTextPokemon.newWithSize("",0,0,32,32,@viewport)
@sprites["infowindow"].visible=false
@sprites["helpwindow"]=Window_UnformattedTextPokemon.newWithSize("",0,0,32,32,@viewport)
@sprites["helpwindow"].visible=false
@sprites["cmdwindow"].visible=false
@infostate=false
@helpstate=false
pbSEPlay("menu")
end
def pbHideMenu
@sprites["cmdwindow"].visible=false
@sprites["infowindow"].visible=false
@sprites["helpwindow"].visible=false
end
def pbShowMenu
@sprites["cmdwindow"].visible=true
@sprites["infowindow"].visible=@infostate
@sprites["helpwindow"].visible=@helpstate
end
def pbEndScene
pbDisposeSpriteHash(@sprites)
@viewport.dispose
end
def pbRefresh
end
end
class PokemonMenu
def initialize(scene)
@scene=scene
end
def pbShowMenu
@scene.pbRefresh
@scene.pbShowMenu
end
def pbStartPokemonMenu
@scene.pbStartScene
endscene=true
pbSetViableDexes
commands=[]
cmdPokedex=-1
cmdPokemon=-1
cmdBag=-1
cmdTrainer=-1
cmdSave=-1
cmdOption=-1
cmdPokegear=-1
cmdDebug=-1
cmdQuit=-1
if !$Trainer
if $DEBUG
Kernel.pbMessage(_INTL("The player trainer was not defined, so the menu can't be displayed."))
Kernel.pbMessage(_INTL("Please see the documentation to learn how to set up the trainer player."))
end
return
end
commands[cmdPokedex=commands.length]=_INTL("Pokédex") if $Trainer.pokedex && $PokemonGlobal.pokedexViable.length>0
commands[cmdPokemon=commands.length]=_INTL("Pokémon") if $Trainer.party.length>0
commands[cmdBag=commands.length]=_INTL("Bag") if !pbInBugContest?
commands[cmdPokegear=commands.length]=_INTL("Pokégear") if $Trainer.pokegear
commands[cmdTrainer=commands.length]=$Trainer.name
if pbInSafari?
if SAFARISTEPS<=0
@scene.pbShowInfo(_INTL("Balls: {1}",pbSafariState.ballcount))
else
@scene.pbShowInfo(_INTL("Steps: {1}/{2}\nBalls: {3}",pbSafariState.steps,SAFARISTEPS,pbSafariState.ballcount))
end
commands[cmdQuit=commands.length]=_INTL("Quit")
elsif pbInBugContest?
if pbBugContestState.lastPokemon
@scene.pbShowInfo(_INTL("Caught: {1}\nLevel: {2}\nBalls: {3}",
PBSpecies.getName(pbBugContestState.lastPokemon.species),
pbBugContestState.lastPokemon.level,
pbBugContestState.ballcount))
else
@scene.pbShowInfo(_INTL("Caught: None\nBalls: {1}",pbBugContestState.ballcount))
end
commands[cmdQuit=commands.length]=_INTL("Quit")
else
commands[cmdSave=commands.length]=_INTL("Save") if !$game_system || !$game_system.save_disabled
end
commands[cmdOption=commands.length]=_INTL("Options")
commands[cmdDebug=commands.length]=_INTL("Debug") if $DEBUG
commands[commands.length]=_INTL("Exit")
loop do
[email protected](commands)
if cmdPokedex>=0 && command==cmdPokedex
if DEXDEPENDSONLOCATION
pbFadeOutIn(99999) {
scene=PokemonPokedexScene.new
screen=PokemonPokedex.new(scene)
screen.pbStartScreen
@scene.pbRefresh
}
else
if $PokemonGlobal.pokedexViable.length==1
$PokemonGlobal.pokedexDex=$PokemonGlobal.pokedexViable[0]
$PokemonGlobal.pokedexDex=-1 if $PokemonGlobal.pokedexDex==$PokemonGlobal.pokedexUnlocked.length-1
pbFadeOutIn(99999) {
scene=PokemonPokedexScene.new
screen=PokemonPokedex.new(scene)
screen.pbStartScreen
@scene.pbRefresh
}
else
pbLoadRpgxpScene(Scene_PokedexMenu.new)
end
end
elsif cmdPokegear>=0 && command==cmdPokegear
pbLoadRpgxpScene(Scene_Pokegear.new)
elsif cmdPokemon>=0 && command==cmdPokemon
sscene=PokemonScreen_Scene.new
sscreen=PokemonScreen.new(sscene,$Trainer.party)
hiddenmove=nil
pbFadeOutIn(99999) {
hiddenmove=sscreen.pbPokemonScreen
if hiddenmove
@scene.pbEndScene
else
@scene.pbRefresh
end
}
if hiddenmove
Kernel.pbUseHiddenMove(hiddenmove[0],hiddenmove[1])
return
end
elsif cmdBag>=0 && command==cmdBag
item=0
scene=PokemonBag_Scene.new
screen=PokemonBagScreen.new(scene,$PokemonBag)
pbFadeOutIn(99999) {
item=screen.pbStartScreen
if item>0
@scene.pbEndScene
else
@scene.pbRefresh
end
}
if item>0
Kernel.pbUseKeyItemInField(item)
return
end
elsif cmdTrainer>=0 && command==cmdTrainer
PBDebug.logonerr {
scene=PokemonTrainerCardScene.new
screen=PokemonTrainerCard.new(scene)
pbFadeOutIn(99999) {
screen.pbStartScreen
@scene.pbRefresh
}
}
elsif cmdQuit>=0 && command==cmdQuit
@scene.pbHideMenu
if pbInSafari?
if Kernel.pbConfirmMessage(_INTL("Would you like to leave the Safari Game right now?"))
@scene.pbEndScene
pbSafariState.decision=1
pbSafariState.pbGoToStart
return
else
pbShowMenu
end
else
if Kernel.pbConfirmMessage(_INTL("Would you like to end the Contest now?"))
@scene.pbEndScene
pbBugContestState.pbStartJudging
return
else
pbShowMenu
end
end
elsif cmdSave>=0 && command==cmdSave
@scene.pbHideMenu
scene=PokemonSaveScene.new
screen=PokemonSave.new(scene)
if screen.pbSaveScreen
@scene.pbEndScene
endscene=false
break
else
pbShowMenu
end
elsif cmdDebug>=0 && command==cmdDebug
pbFadeOutIn(99999) {
pbDebugMenu
@scene.pbRefresh
}
elsif cmdOption>=0 && command==cmdOption
scene=PokemonOptionScene.new
screen=PokemonOption.new(scene)
pbFadeOutIn(99999) {
screen.pbStartScreen
pbUpdateSceneMap
@scene.pbRefresh
}
else
break
end
end
@scene.pbEndScene if endscene
end
end
Then make a new script entry below PokemonPauseMenu, and call it NPauseMenu. Then Paste this code into it.
Spoiler:
Code:
class PokemonMenu_Scene
def pbShowCommands(commands)
ret=-1
cmdwindow=@sprites["cmdwindow"]
cmdwindow.viewport=@viewport
cmdwindow.index=$PokemonTemp.menuLastChoice
cmdwindow.resizeToFit(commands)
cmdwindow.commands=commands
cmdwindow.x=512
cmdwindow.y=0
cmdwindow.visible=true
loop do
cmdwindow.update
Graphics.update
Input.update
pbUpdateSceneMap
if Input.trigger?(Input::B)
ret=-1
break
end
if Input.trigger?(Input::C)
ret=cmdwindow.index
$PokemonTemp.menuLastChoice=ret
break
end
end
return ret
end
def pbStartScene
@sprites={}
@viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
@viewport.z=99998
@sprites["cmdwindow"]=Window_CommandPokemon.new([])
@sprites["infowindow"]=Window_UnformattedTextPokemon.newWithSize("",0,0,32,32,@viewport)
@sprites["infowindow"].visible=false
@sprites["helpwindow"]=Window_UnformattedTextPokemon.newWithSize("",0,0,32,32,@viewport)
@sprites["helpwindow"].visible=false
@sprites["cmdwindow"].visible=false
@infostate=false
@helpstate=false
pbSEPlay("menu")
@sprites["overlay"]=BitmapSprite.new(Graphics.width, Graphics.height)
@sprites["overlay"].z = 99999
@overlay=@sprites["overlay"].bitmap
@overlay.clear
baseColor=Color.new(239, 239, 239)
shadowColor=Color.new(140,140,140)
pbSetSystemFont(@sprites["overlay"].bitmap)
if $Trainer.party.length>0
@sprites["Pokemon"] = Sprite.new
@sprites["Pokemon"].x = 0
@sprites["Pokemon"].y = 47
@sprites["Pokemon"].z = 99998
@sprites["Pokemon"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
@sprites["Pokemon"].opacity = 210
end
if $Trainer.pokedex
@sprites["Pokedex"] = Sprite.new
@sprites["Pokedex"].x = 0
@sprites["Pokedex"].y = 0
@sprites["Pokedex"].z = 99998
@sprites["Pokedex"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
@sprites["Pokemon"].opacity = 210
end
@sprites["Bag"] = Sprite.new
@sprites["Bag"].x = 0
@sprites["Bag"].y = 94
@sprites["Bag"].z = 99998
@sprites["Bag"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
@sprites["Bag"].opacity = 210
@sprites["Trainer"] = Sprite.new
@sprites["Trainer"].x = 0
@sprites["Trainer"].y = 141
@sprites["Trainer"].z = 99998
@sprites["Trainer"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
@sprites["Trainer"].opacity = 210
@sprites["Save"] = Sprite.new
@sprites["Save"].x = 0
@sprites["Save"].y = 188
@sprites["Save"].z = 99998
@sprites["Save"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
@sprites["Save"].opacity = 210
@sprites["Option"] = Sprite.new
@sprites["Option"].x = 0
@sprites["Option"].y = 235
@sprites["Option"].z = 99998
@sprites["Option"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
@sprites["Option"].opacity = 210
if $Trainer.pokegear
@sprites["Pokegear"] = Sprite.new
@sprites["Pokegear"].x = 0
@sprites["Pokegear"].y = 282
@sprites["Pokegear"].z = 99998
@sprites["Pokegear"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
@sprites["Pokegear"].opacity = 210
end
if $DEBUG
@sprites["Debug"] = Sprite.new
@sprites["Debug"].x = 0
@sprites["Debug"].y = 329
@sprites["Debug"].z = 99998
@sprites["Debug"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
@sprites["Debug"].opacity = 210
end
@sprites["Quit"] = Sprite.new
@sprites["Quit"].x = 0
@sprites["Quit"].y = 376
@sprites["Quit"].z = 99998
@sprites["Quit"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar")
@sprites["Quit"].opacity = 210
textpos=[
[_INTL("Pokemon"),6,51,false,baseColor,shadowColor],
[_INTL("Pokedex"),6,4,false,baseColor,shadowColor],
[_INTL("Trainer"),6,145,false,baseColor,shadowColor],
[_INTL("Bag"),6,98,false,baseColor,shadowColor],
[_INTL("Options"),6,239,false,baseColor,shadowColor],
[_INTL("Pokegear"),6,286,false,baseColor,shadowColor],
[_INTL("Debug"),6,333,false,baseColor,shadowColor],
[_INTL("Quit"),6,380,false,baseColor,shadowColor],
[_INTL("Save"),6,192,false,baseColor,shadowColor],
]
pbDrawTextPositions(@overlay,textpos)
end
def pbSetAuxiliaryWindow(loctext)
@sprites["locwindow"].resizeToFit(loctext,Graphics.width-@sprites["cmdwindow"].width)
@sprites["locwindow"].width=228 if @sprites["locwindow"].width<228
@sprites["locwindow"].height=Graphics.height
@sprites["locwindow"].x=512
@sprites["locwindow"].visible=true
@sprites["locwindow"].text=loctext
end
def pbChooseM(commands)
@sprites["cmdwindow"].resizeToFit(commands)
@sprites["cmdwindow"].commands=commands
@sprites["cmdwindow"].x=512
@sprites["cmdwindow"].y=0
@sprites["cmdwindow"].visible=true
end
end
Last edited: