View Single Post
  #1    
Old December 19th, 2012 (1:14 PM). Edited December 19th, 2012 by carmaniac.
carmaniac's Avatar
carmaniac carmaniac is offline
Where the pickle surprise at?
     
    Join Date: Apr 2009
    Location: England
    Age: 22
    Nature: Relaxed
    Posts: 682

    Yes, this is a public resource for anyone who wants to use it, only tested with version 10 of essentials, please credit me if used.

    Anyway, I present to you, B/W styled loading screen for essentials. To install this script, go to the script, PokémonLoad in the script editor, and replace the entire script with this new one below, download the graphics folder and put all the graphics into the Graphics/Pictures folder of your game.

    http://www.mediafire.com/?olw1l5t5o6lfu8t

    Code:
    class PokemonLoadScene # :doc:
      def pbUpdate
        pbUpdateSpriteHash(@sprites)
      end

    def pbStartScene @sprites={} @viewport=Viewport.new(0,0,Graphics.width,Graphics.height) @viewport.z=99998 savefile=RTP.getSaveFileName("Game.rxdata")

    @sprites["overlay"]=BitmapSprite.new(Graphics.width, Graphics.height) @sprites["overlay"].z = 99999 @[email protected]["overlay"].bitmap @overlay.clear baseColor=Color.new(239, 239, 239) shadowColor=Color.new(140,140,140) pbSetSystemFont(@sprites["overlay"].bitmap)

    if safeExists?(savefile) @sprites["Continue"] = Sprite.new @sprites["Continue"].x = 52 @sprites["Continue"].y = 4 @sprites["Continue"].z = 99998 @sprites["Continue"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Continue") @sprites["Continue"].opacity = 210

    @sprites["NewGame"] = Sprite.new @sprites["NewGame"].x = 68 @sprites["NewGame"].y = 232 @sprites["NewGame"].z = 99998 @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar") @sprites["NewGame"].opacity = 210

    @sprites["Options"] = Sprite.new @sprites["Options"].x = 68 @sprites["Options"].y = 282 @sprites["Options"].z = 99998 @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar") @sprites["Options"].opacity = 210

    textpos=[ [_INTL("CONTINUE"),84,10,false,baseColor,shadowColor], [_INTL("NEW GAME"),84,238,false,baseColor,shadowColor], [_INTL("OPTIONS"),84,288,false,baseColor,shadowColor], #[_INTL( ] pbDrawTextPositions(@overlay,textpos) else @sprites["NewGame"] = Sprite.new @sprites["NewGame"].x = 68 @sprites["NewGame"].y = 142 @sprites["NewGame"].z = 99998 @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar") @sprites["NewGame"].opacity = 210

    @sprites["Options"] = Sprite.new @sprites["Options"].x = 68 @sprites["Options"].y = 192 @sprites["Options"].z = 99998 @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar") @sprites["Options"].opacity = 210

    textpos=[ [_INTL("NEW GAME"),84,148,false,baseColor,shadowColor], [_INTL("OPTIONS"),84,198,false,baseColor,shadowColor], ] pbDrawTextPositions(@overlay,textpos)

    end

    addBackgroundOrColoredPlane(@sprites,"background","loadbg", Color.new(96,96,248),@viewport) @sprites["locwindow"]=Window_AdvancedTextPokemon.new("") @sprites["locwindow"].[email protected] @sprites["locwindow"].visible=false @sprites["cmdwindow"]=Window_CommandPokemon.new([]) @sprites["cmdwindow"].x=512 @sprites["cmdwindow"].y=0 @sprites["cmdwindow"].[email protected] @sprites["cmdwindow"].visible=false pbFadeInAndShow(@sprites) { pbUpdate } end

    def pbSetAuxiliaryWindow(loctext) @sprites["locwindow"].resizeToFit(loctext,[email protected]["cmdwindow"].width) @sprites["locwindow"].width=228 if @sprites["locwindow"].width<228 @sprites["locwindow"].height=Graphics.height @sprites["locwindow"].[email protected]["locwindow"].width @sprites["locwindow"].visible=true @sprites["locwindow"].text=loctext end

    def pbSetParty(trainer,hasPokedex=false) for i in 0...trainer.party.length @sprites["party#{i}"]=PokemonIconSprite.new(trainer.party[i]) @sprites["party#{i}"].z=99999 @sprites["party#{i}"].x=80+60*i @sprites["party#{i}"].y=150 end end

    def pbChoose(commands) @sprites["cmdwindow"].resizeToFit(commands) @sprites["cmdwindow"].commands=commands @sprites["cmdwindow"].x=512 @sprites["cmdwindow"].y=0 @sprites["cmdwindow"].visible=true loop do Graphics.update Input.update pbUpdate savefile=RTP.getSaveFileName("Game.rxdata") if safeExists?(savefile) if @sprites["cmdwindow"].index==0 @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar") @sprites["Continue"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Continue_S") @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar") elsif @sprites["cmdwindow"].index==1 @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar_S") @sprites["Continue"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Continue") @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar") elsif @sprites["cmdwindow"].index==2 @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar") @sprites["Continue"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Continue") @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar_S") end else if @sprites["cmdwindow"].index==0 @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar_S") @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar") elsif @sprites["cmdwindow"].index==1 @sprites["NewGame"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar") @sprites["Options"].bitmap = BitmapCache.load_bitmap("Graphics/Pictures/Bar_S") end end

    if Input.trigger?(Input::C) return @sprites["cmdwindow"].index end end end

    def pbEndScene pbFadeOutAndHide(@sprites) { pbUpdate } pbDisposeSpriteHash(@sprites) @viewport.dispose end

    def pbCloseScene pbDisposeSpriteHash(@sprites) @viewport.dispose end end

    module FontInstaller # :doc: # filenames of fonts to be installed Filenames = [ 'pkmnem.ttf', 'pkmnemn.ttf', 'pkmnems.ttf', 'pkmnrs.ttf', 'pkmndp.ttf', 'pkmnfl.ttf' ] # names (not filenames) of fonts to be installed Names = [ 'Power Green', 'Power Green Narrow', 'Power Green Small', 'Power Red and Blue', 'Power Clear', 'Power Red and Green' ] # whether to notify player (via pop-up message) that fonts were installed Notify = true # location of fonts (relative to game folder) Source = 'Fonts/'

    def self.getFontFolder fontfolder=MiniRegistry.get(MiniRegistry::HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Fonts") return fontfolder+"\\" if fontfolder if ENV['SystemRoot'] return ENV['SystemRoot'] + '\\Fonts\\' elsif ENV['windir'] return ENV['windir'] + '\\Fonts\\' else return '\\Windows\\Fonts\\' end end

    AFR = Win32API.new('gdi32', 'AddFontResource', ['P'], 'L') WPS = Win32API.new('kernel32', 'WriteProfileString', ['P'] * 3, 'L') SM = Win32API.new('user32', 'PostMessage', ['L'] * 4, 'L') WM_FONTCHANGE = 0x001D HWND_BROADCAST = 0xffff

    def self.copy_file(src,dest) File.open(src, 'rb') {|r| File.open(dest, 'wb') {|w| while s = r.read(4096) w.write s end } } end

    def self.pbResolveFont(name) RTP.eachPathFor(Source+name) {|file| return file if safeExists?(file) } return Source+name end

    def self.install success = [] # Check if all fonts already exist filesExist=true fontsExist=true dest=self.getFontFolder() for i in 0...Names.size if !safeExists?(dest + Filenames[i]) filesExist=false end if !Font.exist?(Names[i]) fontsExist=false end end return if filesExist # Check if all source fonts exist exist=true for i in 0...Names.size if !RTP.exists?(Source + Filenames[i]) exist=false break end end return if !exist # Exit if not all source fonts exist Kernel.pbMessage(_INTL("One or more fonts used in this game do not exist on the system.\1")) Kernel.pbMessage(_INTL("The game can be played, but the look of the game's text will not be optimal.\1")) failed=false for i in 0...Filenames.size f = Filenames[i] if safeExists?(dest + f) && !Font.exist?(Names[i]) File.delete(dest + f) rescue nil end # check if already installed... if not safeExists?(dest + f) # check to ensure font is in specified location... if RTP.exists?(Source + f) # copy file to fonts folder succeeded=false begin copy_file(pbResolveFont(f), dest + f) # add font resource AFR.call(dest + f) # add entry to win.ini/registry WPS.call('Fonts', Names[i] + ' (TrueType)', f) succeeded=safeExists?(dest + f) rescue SystemCallError # failed succeeded=false end if succeeded success.push(Names[i]) else failed=true end end else success.push(Names[i]) # assume success end end if success.length>0 # one or more fonts successfully installed SM.call(HWND_BROADCAST,WM_FONTCHANGE,0,0) if Notify fonts = '' success.each do |f| fonts << f << ', ' end if failed Kernel.pbMessage(_INTL("Some of the fonts were successfully installed.\1")) Kernel.pbMessage(_INTL("To install the other fonts, copy the files in this game's Fonts folder to the Fonts folder in Control Panel.")) else Kernel.pbMessage(_INTL("The fonts were successfully installed.\1")) end if Kernel.pbConfirmMessage(_INTL("Would you like to restart the game and apply the changes?")) a = Thread.new { system('Game') } exit end end else # No fonts were installed. Kernel.pbMessage(_INTL("To install the necessary fonts, copy the files in this game's Fonts folder to the Fonts folder in Control Panel.")) end end end

    class PokemonLoad def initialize(scene) @scene=scene end

    def pbDisplay(text,brief=false) @scene.pbDisplay(text,brief) end

    def pbDisplayPaused(text) @scene.pbDisplayPaused(text) end

    def pbConfirm(text) return @scene.pbConfirm(text) end

    def pbTryLoadFile(savefile) trainer=nil framecount=nil game_system=nil pokemonSystem=nil mapid=nil File.open(savefile){|f| trainer=Marshal.load(f) framecount=Marshal.load(f) game_system=Marshal.load(f) pokemonSystem=Marshal.load(f) mapid=Marshal.load(f) } raise "Corrupted file" if !trainer.is_a?(PokeBattle_Trainer) raise "Corrupted file" if !framecount.is_a?(Numeric) raise "Corrupted file" if !game_system.is_a?(Game_System) raise "Corrupted file" if !pokemonSystem.is_a?(PokemonSystem) raise "Corrupted file" if !mapid.is_a?(Numeric) return [trainer,framecount,game_system,pokemonSystem,mapid] end

    def pbStartDeleteScreen savefile=RTP.getSaveFileName("Game.rxdata") @scene.pbStartScene if safeExists?(savefile) if Kernel.pbConfirmMessageSerious(_INTL("Delete all saved data?")) Kernel.pbMessage(_INTL("Once data has been deleted, there is no way to recover it.\1")) if Kernel.pbConfirmMessageSerious(_INTL("Delete the saved data anyway?")) Kernel.pbMessage(_INTL("Deleting all data.\r\nDon't turn off the power.\\wtnp[0]")) begin; File.delete(savefile); rescue; end begin; File.delete(savefile+".bak"); rescue; end Kernel.pbMessage(_INTL("The save file was deleted.")) end end else Kernel.pbMessage(_INTL("No save file was found.")) end @scene.pbEndScene $scene=pbCallTitle end

    def pbStartLoadScreen $PokemonTemp = PokemonTemp.new $game_temp = Game_Temp.new $game_system = Game_System.new $PokemonSystem = PokemonSystem.new if !$PokemonSystem @scene.pbStartScene cmdContinue=-1 cmdNewGame=0 cmdOption=1 cmdLanguage=-1 commands=[] savefile=RTP.getSaveFileName("Game.rxdata") FontInstaller.install data_system = pbLoadRxData("Data/System") mapfile=$RPGVX ? sprintf("Data/Map%03d.rvdata",data_system.start_map_id) : sprintf("Data/Map%03d.rxdata",data_system.start_map_id) if data_system.start_map_id==0 || !pbRgssExists?(mapfile) Kernel.pbMessage(_INTL("No starting position was set in the map editor.\1")) Kernel.pbMessage(_INTL("The game cannot continue.")) @scene.pbEndScene $scene=nil return end if safeExists?(savefile) trainer=nil framecount=0 showContinue=false haveBackup=false begin trainer, framecount, $game_system, $PokemonSystem, mapid=pbTryLoadFile(savefile) showContinue=true rescue if safeExists?(savefile+".bak") begin trainer, framecount, $game_system, $PokemonSystem, mapid=pbTryLoadFile(savefile+".bak") haveBackup=true showContinue=true rescue end end if haveBackup Kernel.pbMessage(_INTL("The save file is corrupt. The previous save file will be loaded.")) else Kernel.pbMessage(_INTL("The save file is corrupt, or is incompatible with this game.")) if !Kernel.pbConfirmMessageSerious(_INTL("Do you want to delete the save file and start anew?")) raise "scss error - Corrupted or incompatible save file." end begin; File.delete(savefile); rescue; end begin; File.delete(savefile+".bak"); rescue; end $PokemonSystem=PokemonSystem.new if !$PokemonSystem $game_system=Game_System.new Kernel.pbMessage(_INTL("The save file was deleted.")) end end if showContinue if !haveBackup begin; File.delete(savefile+".bak"); rescue; end end totalsec = framecount / Graphics.frame_rate hour = totalsec / 60 / 60 min = totalsec / 60 % 60 mapname=pbGetMapNameFromId(mapid) mapname.gsub!(/\\PN/,trainer.name) textColor=["0070F8,78B8E8","E82010,F8A8B8","0070F8,78B8E8"][trainer.gender] loctext=_INTL("<ac><c2=06644bd2>{1}</c2></ac>",mapname) loctext+=_INTL("Player<r><c3={1}>{2}</c3><br>",textColor,fmtescape(trainer.name)) loctext+=_ISPRINTF("Time<r><c3={1:s}>{2:02d}:{3:02d}</c3><br>",textColor,hour,min) loctext+=_INTL("Badges<r><c3={1}>{2}</c3><br>",textColor,trainer.numbadges) if trainer.pokedex loctext+=_INTL("Pokédex<r><c3={1}>{2}/{3}</c3><br>",textColor,trainer.pokedexOwned,trainer.pokedexSeen) end

    @sprites={} @sprites["overlay"]=BitmapSprite.new(Graphics.width, Graphics.height) @sprites["overlay"].z = 99999 @[email protected]["overlay"].bitmap @overlay.clear baseColor=Color.new(239, 239, 239) shadowColor=Color.new(140,140,140) pbSetSystemFont(@sprites["overlay"].bitmap)

    textpos=[ [_INTL("{1}",trainer.name),84,60,false,Color.new(57,165,255),Color.new(57,107,173)], [_INTL("{1}",mapname),84,90,false,baseColor,shadowColor], [_INTL("Badges: {1}",trainer.numbadges),84,135,false,baseColor,shadowColor], [_ISPRINTF("Time: {1:02d}:{2:02d}",hour,min),220,135,false,baseColor,shadowColor], ] pbDrawTextPositions(@overlay,textpos)

    loctext+=_INTL("Party") if trainer.party.length>0 @scene.pbSetAuxiliaryWindow(loctext) @scene.pbSetParty(trainer,trainer.pokedex) end commands[cmdContinue=commands.length]=_INTL("Continue") if showContinue commands[cmdNewGame=commands.length]=_INTL("New Game") commands[cmdOption=commands.length]=_INTL("Options") else commands[cmdNewGame=commands.length]=_INTL("New Game") commands[cmdOption=commands.length]=_INTL("Options") end if LANGUAGES.length>=2 commands[cmdLanguage=commands.length]=_INTL("Language") end loop do [email protected](commands) if cmdNewGame>=0 && command==cmdNewGame savefile=RTP.getSaveFileName("Game.rxdata") if safeExists?(savefile) @sprites["overlay"].opacity = 0 end @scene.pbEndScene if $game_map && $game_map.events for event in $game_map.events.values event.clear_starting end end $game_temp.common_event_id=0 if $game_temp $scene = Scene_Map.new Graphics.frame_count = 0 $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_screen = Game_Screen.new $game_player = Game_Player.new $ItemData = readItemList("Data/items.dat") $PokemonMap = PokemonMapMetadata.new $PokemonGlobal = PokemonGlobalMetadata.new $PokemonStorage = PokemonStorage.new $PokemonEncounters = PokemonEncounters.new $PokemonTemp.begunNewGame=true $data_system = pbLoadRxData("Data/System") $MapFactory = PokemonMapFactory.new($data_system.start_map_id) # calls setMapChanged $game_player.moveto($data_system.start_x, $data_system.start_y) $game_player.refresh $game_map.autoplay $game_map.update return elsif cmdLanguage>=0 && command==cmdLanguage @scene.pbEndScene $PokemonSystem.language=pbChooseLanguage pbLoadMessages("Data/"+LANGUAGES[$PokemonSystem.language][1]) savedata=[] if safeExists?(savefile) File.open(savefile,"rb"){|f| 14.times { savedata.push(Marshal.load(f)) } } savedata[3]=$PokemonSystem begin File.open(RTP.getSaveFileName("Game.rxdata"),"wb"){|f| 14.times {|i| Marshal.dump(savedata[i],f) } } rescue; end end $scene=pbCallTitle return elsif cmdContinue>=0 && command==cmdContinue unless safeExists?(savefile) pbPlayBuzzerSE() next end @sprites["overlay"].opacity = 0 @scene.pbEndScene metadata=nil File.open(savefile){|f| $Trainer = Marshal.load(f) Graphics.frame_count = Marshal.load(f) $game_system = Marshal.load(f) Marshal.load(f) # PokemonSystem already loaded Marshal.load(f) # Current map id no longer needed $game_switches = Marshal.load(f) $game_variables = Marshal.load(f) $game_self_switches = Marshal.load(f) $game_screen = Marshal.load(f) $MapFactory = Marshal.load(f) $game_map = $MapFactory.map $game_player = Marshal.load(f) $PokemonGlobal = Marshal.load(f) metadata = Marshal.load(f) $ItemData = readItemList("Data/items.dat") $PokemonBag = Marshal.load(f) $PokemonStorage = Marshal.load(f) magicNumberMatches=false if $data_system.respond_to?("magic_number") magicNumberMatches=($game_system.magic_number==$data_system.magic_number) else magicNumberMatches=($game_system.magic_number==$data_system.version_id) end if !magicNumberMatches || $PokemonGlobal.safesave if pbMapInterpreterRunning? pbMapInterpreter.setup(nil,0) end begin $MapFactory.setup($game_map.map_id) # calls setMapChanged rescue Errno::ENOENT if $DEBUG Kernel.pbMessage(_INTL("Map {1} was not found.",$game_map.map_id)) map=pbWarpToMap() if map $MapFactory.setup(map[0]) $game_player.moveto(map[1],map[2]) else $game_map=nil $scene=nil return end else $game_map=nil $scene=nil Kernel.pbMessage(_INTL("The map was not found. The game cannot continue.")) end end $game_player.center($game_player.x, $game_player.y) else $MapFactory.setMapChanged($game_map.map_id) end } if !$game_map.events # Map wasn't set up $game_map=nil $scene=nil Kernel.pbMessage(_INTL("The map is corrupt. The game cannot continue.")) return end $PokemonMap=metadata $PokemonEncounters=PokemonEncounters.new $PokemonEncounters.setup($game_map.map_id) pbAutoplayOnSave $game_map.update $PokemonMap.updateMap $scene = Scene_Map.new return elsif cmdOption>=0 && command==cmdOption scene=PokemonOptionScene.new screen=PokemonOption.new(scene) pbFadeOutIn(99999) { screen.pbStartScreen } end end @sprites["overlay"].opacity = 0 @scene.pbEndScene return end end

    __________________

    Quote:
    Originally Posted by Luka S.J. View Post
    My balls seem to be fine.

    Reply With Quote