Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class PokemonMustafaMenuScene
- def update
- pbUpdateSpriteHash(@sprites)
- end
- X=[40,286,40,286,40,286]
- Y=[62,62,158,158,246,246,384]
- def pbStartScene
- pbSetViableDexes
- @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
- @viewport.z=99999
- base=Color.new(248,248,248)
- shadow=Color.new(40,40,40)
- @close=false
- @commands_menu=[]
- @commands_menu.push("Party") if $Trainer.party.length>0
- @commands_menu.push("Pokegear") if $Trainer.pokegear
- @commands_menu.push("Bag")
- @commands_menu.push("#{$Trainer.name}") if $game_switches[75]
- @commands_menu.push("Save")
- @commands_menu.push("Options")
- @select=0
- @oldsel=0
- @sprites={}
- @sprites["bg"]=Sprite.new(@viewport)
- @sprites["bg"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/mustafa/bg")
- @sprites["bg"].x=0
- @sprites["bg"].y=0
- @sprites["bg"].opacity=0
- for i in 0...@commands_menu.length
- cmdname=@commands_menu[i]=="" ? "#{$Trainer.name}" : @commands_menu[i]
- pbMenuIcon("icon#{i}","#{cmdname}",X[i],Y[i])
- end
- pbUpdateCursor
- pbOpenMenu
- end
- def pbMenuIcon(name,iconame,x,y,opacity=0,visible=true)
- base=Color.new(248,248,248)
- shadow=Color.new(40,40,40)
- iconame="Card" if iconame=="#{$Trainer.name}"
- @sprites["#{name}"]=Sprite.new(@viewport)
- @sprites["#{name}"].bitmap=Bitmap.new(Graphics.width,Graphics.height)
- @sprites["#{name}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/Icon"),Rect.new(0,0,Graphics.width,Graphics.height))
- @sprites["#{name}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/Icon_#{iconame}"),Rect.new(0,0,Graphics.width,Graphics.height))
- @sprites["#{name}"].x=x
- @sprites["#{name}"].y=y+Y[6]#6 is position of y for animation
- @sprites["#{name}"].visible=visible
- @sprites["#{name}"].opacity = opacity
- iconame="#{$Trainer.name}" if iconame=="Card"
- textpos=[]
- textpos.push([_INTL("#{iconame}"),88,22,false,base,shadow])
- pbDrawTextPositions(@sprites["#{name}"].bitmap,textpos)
- end
- def pbEndScene
- pbDisposeSpriteHash(@sprites)
- @viewport.dispose
- end
- def pbRefresh
- Graphics.update
- Input.update
- self.update
- pbUpdateCursor
- end
- def pbOpenMenu
- 10.times do
- for i in 0...@commands_menu.length
- @sprites["icon#{i}"].y-=38.4
- @sprites["icon#{i}"].opacity+=25.5
- end
- @sprites["bg"].opacity+=15
- pbWait(1)
- end
- end
- def pbCloseMenu
- 10.times do
- for i in 0...@commands_menu.length
- @sprites["icon#{i}"].y+=38.4
- @sprites["icon#{i}"].opacity-=25.5
- end
- @sprites["bg"].opacity-=15
- pbWait(1)
- end
- end
- def pbIndex(index)
- case index
- when "Party"
- sscene=PokemonScreen_Scene.new
- sscreen=PokemonScreen.new(sscene,$Trainer.party)
- hiddenmove=nil
- pbFadeOutIn(99999) {
- hiddenmove=sscreen.pbPokemonScreen
- if hiddenmove
- pbCloseMenu
- @close=true
- else
- pbRefresh
- end
- }
- if hiddenmove
- Kernel.pbUseHiddenMove(hiddenmove[0],hiddenmove[1])
- return
- end
- when "Pokegear"
- pbLoadRpgxpScene(Scene_Pokegear.new)
- when "Bag"
- item=0
- scene=PokemonBag_Scene.new
- screen=PokemonBagScreen.new(scene,$PokemonBag)
- pbFadeOutIn(99999) {
- item=screen.pbStartScreen
- if item>0
- pbCloseMenu
- @close=true
- else
- pbRefresh
- end
- }
- if item>0
- Kernel.pbUseKeyItemInField(item)
- return
- end
- when "#{$Trainer.name}"
- scene=PokemonTrainerCardScene.new
- screen=PokemonTrainerCard.new(scene)
- pbFadeOutIn(99999) {
- screen.pbStartScreen
- pbRefresh
- }
- when "Save"
- pbCloseMenu
- scene=PokemonSaveScene.new
- screen=PokemonSave.new(scene)
- if screen.pbSaveScreen
- pbCloseMenu
- endscene=false
- @close=true
- else
- pbOpenMenu
- end
- when "Options"
- scene=PokemonOptionScene.new
- screen=PokemonOption.new(scene)
- pbFadeOutIn(99999) {
- screen.pbStartScreen
- pbUpdateSceneMap
- pbRefresh
- }
- end
- end
- def pbUpdateCursor
- base=Color.new(248,248,248)
- shadow=Color.new(40,40,40)
- iconame="icon3" ? "Card": "#{@commands_menu[@oldsel]}"
- @sprites["icon#{@oldsel}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/Icon"),Rect.new(0,0,Graphics.width,Graphics.height))
- @sprites["icon#{@oldsel}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/Icon_#{iconame}"),Rect.new(0,0,Graphics.width,Graphics.height))
- iconame="icon3" ? "Card": "#{@commands_menu[@select]}"
- @sprites["icon#{@select}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/cursor"),Rect.new(0,0,Graphics.width,Graphics.height))
- @sprites["icon#{@select}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/Icon_#{iconame}"),Rect.new(0,0,Graphics.width,Graphics.height))
- textpos=[]
- textpos2=[]
- textpos.push([_INTL("#{@commands_menu[@select]}"),88,22,false,base,shadow])
- name=@commands_menu[@oldsel]
- textpos2.push([_INTL("#{name}"),88,22,false,base,shadow])
- pbDrawTextPositions(@sprites["icon#{@select}"].bitmap,textpos)
- pbDrawTextPositions(@sprites["icon#{@oldsel}"].bitmap,textpos2)
- @oldsel=@select
- end
- def pbMustafaMenu
- loop do
- Graphics.update
- Input.update
- self.update
- pbUpdateCursor
- for icons in 0...@commands_menu.length
- if $mouse.over?(@sprites["icon#{icons}"])
- @select=icons
- pbUpdateCursor
- end
- end
- if Input.repeat?(Input::RIGHT)
- if @select%5 == 4 && @commands_menu.length>6
- @select+=5
- end
- @select += 1
- @select = 0 if @select > @commands_menu.length - 1
- pbSEPlay("SE_Select1")
- elsif Input.repeat?(Input::LEFT)
- if @select%5 == 0 && @commands_menu.length>6
- @select-=5
- end
- @select -= 1
- @select = @commands_menu.length - 1 if @select < 0
- pbSEPlay("SE_Select1")
- elsif Input.repeat?(Input::UP)
- @select-=2
- @select=0 if @select<0
- elsif Input.repeat?(Input::DOWN)
- @select+=2
- @select=@commands_menu.length - 1 if @select>=@commands_menu.length
- elsif Input.trigger?(Input::C) || $mouse.leftClick?(@sprites["icon#{@select}"])
- pbIndex(@commands_menu[@select])
- end
- if Input.trigger?(Input::F9) && $DEBUG
- pbFadeOutIn(99999) {
- pbDebugMenu
- pbRefresh
- }
- end
- if Input.trigger?(Input::B) || @close
- pbCloseMenu
- pbEndScene
- break
- end
- end
- end
- end
- class PokemonMustafaMenu
- def initialize(scene)
- @scene=scene
- end
- def pbStartScreen
- @scene.pbStartScene
- @scene.pbMustafaMenu
- @scene.pbEndScene
- end
- end
- def pbMustafaMenu
- scene=PokemonMustafaMenuScene.new
- screen=PokemonMustafaMenu.new(scene)
- screen.pbStartScreen
- end
- #===============================================================================
- # € Simple Map Clock by KleinStudio
- #===============================================================================
- # Positions
- #===============================================================================
- # Clock
- CLOCKX=440
- CLOCKY=6
- # Menu button
- #===================================================================
- FADEIN=0
- FADEOUT=1
- def clockDisabled?
- return $CLOCKBLACK.visible if $CLOCKBLACK && !$CLOCKBLACK.disposed?
- end
- def disableClock
- $CLOCKBLACK.visible=true if $CLOCKBLACK && !$CLOCKBLACK.disposed?
- end
- def enableClock
- $CLOCKBLACK.visible=false if $CLOCKBLACK && !$CLOCKBLACK.disposed?
- end
- class Scene_Map
- alias _sceneMiniUpdate miniupdate
- def miniupdate
- _sceneMiniUpdate
- updateClockmini if @clockrendered
- end
- def createSpritesets
- @spritesets={}
- clockRender if $Trainer #&& $PokemonSystem.interactivemenu==0
- for map in $MapFactory.maps
- @spritesets[map.map_id]=Spriteset_Map.new(map)
- end
- $MapFactory.setSceneStarted(self)
- updateSpritesets
- end
- def disposeSpritesets
- return if !@spritesets
- clockDispose if @clockrendered
- for i in @spritesets.keys
- if @spritesets[i]
- @spritesets[i].dispose
- @spritesets[i]=nil
- end
- end
- @spritesets.clear
- @spritesets={}
- end
- def main
- createSpritesets
- Graphics.transition
- loop do
- Graphics.update
- Input.update
- update
- clockUpdate if @clockrendered
- if $scene != self
- break
- end
- end
- Graphics.freeze
- disposeSpritesets
- if $game_temp.to_title
- Graphics.transition
- Graphics.freeze
- end
- end
- alias call_menu_old call_menu
- def call_menu
- $game_temp.menu_calling = false
- $game_temp.in_menu = true
- $game_player.straighten
- $game_map.update
- pbMustafaMenu
- $game_temp.in_menu = false
- end
- def clockRender
- @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
- @viewport.z=99999
- @sprites= {}
- @fade=false
- @frame=0
- @baseColorW=Color.new(255,255,255)
- @shadowColorW=Color.new(51,51,51)
- @sprites["bg"]=Sprite.new(@viewport)
- @sprites["bg"].bitmap=Bitmap.new(512,102)
- @sprites["bg"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/Mustafa/menu_bg"),Rect.new(0,0,512,102))
- @sprites["bg"].bitmap.blt(20,5,BitmapCache.load_bitmap("Graphics/Pictures/Mustafa/playericon"),Rect.new(0,0,88,88))
- @sprites["bg"].bitmap.blt(330,5,BitmapCache.load_bitmap("Graphics/Pictures/Mustafa/area"),Rect.new(0,0,182,92))
- @sprites["bg"].bitmap.blt(262,0,BitmapCache.load_bitmap("Graphics/Pictures/Mustafa/menu_open"),Rect.new(0,0,34,24))
- @sprites["bg"].y=384
- @sprites["bg"].opacity=$PokemonSystem.interactivemenuopacity
- # @sprites["bg"].visible=$PokemonSystem.interactivemenu ? true : false
- @oldopacity=$PokemonSystem.interactivemenuopacity
- @oldmoney=$Trainer.money
- @oldmap=$game_map.name
- @sprites["overlay_band"]=BitmapSprite.new(@sprites["bg"].bitmap.width,@sprites["bg"].bitmap.height,@viewport)
- @sprites["overlay_band"].x=@sprites["bg"].x
- @sprites["overlay_band"].y=@sprites["bg"].y
- # @sprites["bg"].visible=$PokemonSystem.interactivemenu ? true : false
- pbSetSmallFont(@sprites["overlay_band"].bitmap)
- textpos=[]
- textpos.push([_INTL("#{$Trainer.name}"),112,20,false,@baseColorW,@shadowColorW])
- textpos.push([_INTL("$#{$Trainer.money}"),112,48,false,@baseColorW,@shadowColorW])
- textpos.push([_INTL("#{$game_map.name}"),372,38,false,@baseColorW,@shadowColorW])
- pbDrawTextPositions(@sprites["overlay_band"].bitmap,textpos)
- $CLOCKBLACK=@sprites["black"]
- @clockrendered=true
- end
- def clockToneScreen(value)
- @clocktonescreen=value
- end
- def clockDispose
- pbDisposeSpriteHash(@sprites)
- end
- def clockUpdate
- if !$game_system.map_interpreter.running? or !$game_temp.message_window_showing
- enableClock
- end
- updateHour
- end
- def updateClockmini
- updateHour
- end
- def updateHour
- if $game_system.map_interpreter.running? or $game_temp.message_window_showing
- disableClock
- end
- if $PokemonSystem.interactivemenuopacity!=@oldopacity
- @sprites["bg"].opacity=$PokemonSystem.interactivemenuopacity
- if $PokemonSystem.interactivemenuopacity<=0
- $PokemonSystem.interactivemenu=1
- end
- end
- if $Trainer.money!=@oldmoney || $game_map.name!=@oldmap
- @sprites["overlay_band"].bitmap.clear
- textpos=[]
- textpos.push([_INTL("$#{$Trainer.money}"),112,48,false,@baseColorW,@shadowColorW])
- textpos.push([_INTL("#{$game_map.name}"),372,38,false,@baseColorW,@shadowColorW])
- pbDrawTextPositions(@sprites["overlay_band"].bitmap,textpos)
- end
- end
- end
- def pbDoorTone1(tone=Tone.new(-255,-255,-255,0),duration=6)
- $game_screen.start_tone_change(tone,duration * 2)
- for picture in $game_screen.pictures
- picture.start_tone_change(tone,duration * 2) if picture
- end
- #$scene.clockToneScreen(FADEIN)
- end
- def pbDoorTone2(tone=Tone.new(0,0,0,0),duration=6)
- $game_screen.start_tone_change(tone,duration * 2)
- for picture in $game_screen.pictures
- picture.start_tone_change(tone,duration * 2) if picture
- end
- #$scene.clockToneScreen(FADEOUT)
- end
- class PokemonSystem
- attr_accessor :interactivemenu
- attr_accessor :interactivemenuopacity
- def interactivemenuopacity
- return (!@interactivemenuopacity) ? 255 : @interactivemenuopacity
- end
- alias initialize_old initialize
- def initialize
- @interactivemenuopacity=255
- @interactivemenu=0
- end
- end
- class PokemonOptionScene
- alias pbStartScene_old pbStartScene
- def pbStartScene(inloadscreen=false)
- @sprites={}
- @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
- @viewport.z=99999
- @sprites["title"]=Window_UnformattedTextPokemon.newWithSize(
- _INTL("Options"),0,0,Graphics.width,64,@viewport)
- @sprites["textbox"]=Kernel.pbCreateMessageWindow
- @sprites["textbox"].letterbyletter=false
- @sprites["textbox"].text=_INTL("Speech frame {1}.",1+$PokemonSystem.textskin)
- # These are the different options in the game. To add an option, define a
- # setter and a getter for that option. To delete an option, comment it out
- # or delete it. The game's options may be placed in any order.
- @PokemonOptions=[
- SliderOption.new(_INTL("Menu Opacity"),0,255,25.5,
- proc { $PokemonSystem.interactivemenuopacity },
- proc {|value|
- if $PokemonSystem.interactivemenuopacity!=value
- $PokemonSystem.interactivemenuopacity=value
- end
- }
- ),
- SliderOption.new(_INTL("Music Volume"),0,100,5,
- proc { $PokemonSystem.bgmvolume },
- proc {|value|
- if $PokemonSystem.bgmvolume!=value
- $PokemonSystem.bgmvolume=value
- if $game_system.playing_bgm != nil && !inloadscreen
- $game_system.playing_bgm.volume=value
- playingBGM=$game_system.getPlayingBGM
- $game_system.bgm_pause
- $game_system.bgm_resume(playingBGM)
- end
- end
- }
- ),
- SliderOption.new(_INTL("SE Volume"),0,100,5,
- proc { $PokemonSystem.sevolume },
- proc {|value|
- if $PokemonSystem.sevolume!=value
- $PokemonSystem.sevolume=value
- if $game_system.playing_bgs != nil
- $game_system.playing_bgs.volume=value
- playingBGS=$game_system.getPlayingBGS
- $game_system.bgs_pause
- $game_system.bgs_resume(playingBGS)
- end
- pbPlayCursorSE()
- end
- }
- ),
- EnumOption.new(_INTL("Text Speed"),[_INTL("Slow"),_INTL("Normal"),_INTL("Fast")],
- proc { $PokemonSystem.textspeed },
- proc {|value|
- $PokemonSystem.textspeed=value
- MessageConfig.pbSetTextSpeed(pbSettingToTextSpeed(value))
- }
- ),
- EnumOption.new(_INTL("Menu"),[_INTL("On"),_INTL("Off")],
- proc { $PokemonSystem.interactivemenu },
- proc {|value| $PokemonSystem.interactivemenu=value }
- ),
- EnumOption.new(_INTL("Battle Effects"),[_INTL("On"),_INTL("Off")],
- proc { $PokemonSystem.battlescene },
- proc {|value| $PokemonSystem.battlescene=value }
- ),
- EnumOption.new(_INTL("Battle Style"),[_INTL("Switch"),_INTL("Set")],
- proc { $PokemonSystem.battlestyle },
- proc {|value| $PokemonSystem.battlestyle=value }
- ),
- EnumOption.new(_INTL("Running Key"),[_INTL("Hold"),_INTL("Toggle")],
- proc { $PokemonSystem.runstyle },
- proc {|value|
- if $PokemonSystem.runstyle!=value
- $PokemonSystem.runstyle=value
- $PokemonGlobal.runtoggle=false if $PokemonGlobal
- end
- }
- ),
- NumberOption.new(_INTL("Speech Frame"),1,$SpeechFrames.length,
- proc { $PokemonSystem.textskin },
- proc {|value|
- $PokemonSystem.textskin=value
- MessageConfig.pbSetSpeechFrame("Graphics/Windowskins/"+$SpeechFrames[value])
- }
- ),
- NumberOption.new(_INTL("Menu Frame"),1,$TextFrames.length,
- proc { $PokemonSystem.frame },
- proc {|value|
- $PokemonSystem.frame=value
- MessageConfig.pbSetSystemFrame($TextFrames[value])
- }
- ),
- EnumOption.new(_INTL("Font Style"),[_INTL("Em"),_INTL("R/S"),_INTL("FRLG"),_INTL("DP")],
- proc { $PokemonSystem.font },
- proc {|value|
- $PokemonSystem.font=value
- MessageConfig.pbSetSystemFontName($VersionStyles[value])
- }
- ),
- # ------------------------------------------------------------------------------
- # Quote this section out if you don't want to allow players to change the screen
- # size.
- EnumOption.new(_INTL("Screen Size"),[_INTL("S"),_INTL("M"),_INTL("L"),_INTL("XL"),_INTL("Full")],
- proc { $PokemonSystem.screensize },
- proc {|value|
- oldvalue=$PokemonSystem.screensize
- $PokemonSystem.screensize=value
- if value!=oldvalue
- pbSetResizeFactor($PokemonSystem.screensize)
- ObjectSpace.each_object(TilemapLoader){|o| next if o.disposed?; o.updateClass }
- end
- }
- ),
- # ------------------------------------------------------------------------------
- EnumOption.new(_INTL("Screen Border"),[_INTL("Off"),_INTL("On")],
- proc { $PokemonSystem.border },
- proc {|value|
- oldvalue=$PokemonSystem.border
- $PokemonSystem.border=value
- if value!=oldvalue
- pbSetResizeFactor($PokemonSystem.screensize)
- ObjectSpace.each_object(TilemapLoader){|o| next if o.disposed?; o.updateClass }
- end
- }
- )
- ]
- @PokemonOptions=pbAddOnOptions(@PokemonOptions)
- @sprites["option"]=Window_PokemonOption.new(@PokemonOptions,0,
- @sprites["title"].height,Graphics.width,
- Graphics.height-@sprites["title"].height-@sprites["textbox"].height)
- @sprites["option"].viewport=@viewport
- @sprites["option"].visible=true
- # Get the values of each option
- for i in [email protected]
- @sprites["option"][i]=(@PokemonOptions[i].get || 0)
- end
- pbDeactivateWindows(@sprites)
- pbFadeInAndShow(@sprites) { pbUpdate }
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment