Nikox19971
Avanzando
Hola, buscando en el foro encontre algunos recursos que me gustaron para mi proyecto en essentials, uno de ellos fue este script para que el menu de inicio se vea diferente:
Se insertarlo en el editor de scipts pero a la hora de iniciar el juego me da error, si alguien me ayuda a solucionarlo se lo agradesco mucho.
por si acaso el post de donde lo saque es este: http://whackahack.com/foro/t-33065/xp-scripts-essentials-menu-pantalla-inicial#post370975
Código:
################################################################################
################################################################################
############################## CREIDTOS SI SE USA ##############################
#################################### By VGS ####################################
################################################################################
################################################################################
#-------------------------------------------------------------------------------
# La variable SELEECION es para ecoger alguna opcion utilizando:
# True - El modulo de Mouse.
# False - Los controles normales.
SELECCION=true
# SELEC y SELECS, son el color base y la sombra del texto de mayor relevancia
# osea "Continuar" o de "Nuevo Juego"
SELEC=Color.new(51,255,102)
SELECS=Color.new(0,201,51)
#-------------------------------------------------------------------------------
class PokemonLoadScene # :doc:
def pbUpdate
Mouse.update
$mouse.x = Mouse.pos_x
$mouse.y = Mouse.pos_y
pbUpdateSpriteHash
[MENTION=24071]Sprite[/MENTION]
s)
end
def pbStartScene
savefile=RTP.getSaveFileName("Game.rxdata")
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)}
[MENTION=24071]Sprite[/MENTION]
s={}
@viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
@viewport.z=99998
addBackgroundOrColoredPlane
[MENTION=24071]Sprite[/MENTION]
s,"background","Fondo",
Color.new(96,96,248),@viewport)
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"]=Window_CommandPokemon.new([])
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].x=0
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].y=0
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].viewport=@viewport
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].visible=false
pbFadeInAndShow
[MENTION=24071]Sprite[/MENTION]
s) { pbUpdate }
[MENTION=24071]Sprite[/MENTION]
s["overlay"]=BitmapSprite.new(Graphics.width, Graphics.height)
[MENTION=24071]Sprite[/MENTION]
s["overlay"].z = 99999
overlay
[MENTION=24071]Sprite[/MENTION]
s["overlay"].bitmap
overlay.clear
baseColor=Color.new(72,72,72)
shadowColor=Color.new(160,160,160)
pbSetSystemFont
[MENTION=24071]Sprite[/MENTION]
s["overlay"].bitmap)
if safeExists?(savefile)
totalsec = framecount / Graphics.frame_rate
hour = totalsec / 60 / 60
min = totalsec / 60 % 60
mapname=pbGetMapNameFromId(mapid)
mapname.gsub!(/\\PN/,trainer.name)
if trainer.gender==0
@ColorN=Color.new(90,200,250)
@ColorNS=Color.new(34,170,220)
[MENTION=24071]Sprite[/MENTION]
s["JUGADOR"]=Sprite.new(@viewport)
[MENTION=24071]Sprite[/MENTION]
s["JUGADOR"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/introBoy")
[MENTION=24071]Sprite[/MENTION]
s["JUGADOR"].src_rect=Rect.new(0,0,80,80)
[MENTION=24071]Sprite[/MENTION]
s["JUGADOR"].x=92
[MENTION=24071]Sprite[/MENTION]
s["JUGADOR"].y=50
[MENTION=24071]Sprite[/MENTION]
s["JUGADOR"].z=99999
else
@ColorN=Color.new(255,102,255)
@ColorNS=Color.new(255,153,255)
[MENTION=24071]Sprite[/MENTION]
s["JUGADORA"]=Sprite.new(@viewport)
[MENTION=24071]Sprite[/MENTION]
s["JUGADORA"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/introGirl")
[MENTION=24071]Sprite[/MENTION]
s["JUGADORA"].src_rect=Rect.new(0,0,80,80)
[MENTION=24071]Sprite[/MENTION]
s["JUGADORA"].x=92
[MENTION=24071]Sprite[/MENTION]
s["JUGADORA"].y=50
[MENTION=24071]Sprite[/MENTION]
s["JUGADORA"].z=99999
end
[MENTION=24071]Sprite[/MENTION]
s["CONTINUAR"]=Sprite.new(@viewport)
[MENTION=24071]Sprite[/MENTION]
s["CONTINUAR"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraG")
[MENTION=24071]Sprite[/MENTION]
s["CONTINUAR"].x=72
[MENTION=24071]Sprite[/MENTION]
s["CONTINUAR"].y=10
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"]=Sprite.new(@viewport)
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].x=72
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].y=190
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"]=Sprite.new(@viewport)
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].x=72
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].y=258
textpos=[
[_INTL("Continuar"),85,15,false,SELEC,SELECS],
[_INTL("Nuevo Juego"),85,195,false,baseColor,shadowColor],
[_INTL("Opciones"),85,263,false,baseColor,shadowColor],
[_INTL("{1}",trainer.name),186,50,false,@ColorN,@ColorNS],
[_INTL("{1}",mapname),186,80,false,baseColor,shadowColor],
[_ISPRINTF("Tiempo: {1:02d}:{2:02d}",hour,min),95,135,false,baseColor,shadowColor],
[_INTL("Medallas: {1}",trainer.numbadges),310,50,false,baseColor,shadowColor],
[_INTL("Pokedex: {1}",trainer.pokedexOwned),290,135,false,baseColor,shadowColor]]
pbDrawTextPositions(overlay,textpos)
else
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"]=Sprite.new(@viewport)
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].x=72
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].y=50
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"]=Sprite.new(@viewport)
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].x=72
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].y=118
textpos=[
[_INTL("Nuevo Juego"),85,60,false,SELEC,SELECS],
[_INTL("Opciones"),85,128,false,baseColor,shadowColor]]
pbDrawTextPositions(overlay,textpos)
end
end
def pbChoose(commands)
loop do
Graphics.update
Input.update
pbUpdate
savefile=RTP.getSaveFileName("Game.rxdata")
if SELECCION==true
if safeExists?(savefile)
if Mouse.mouse_in_area?(72, 10, 368, 164)
[MENTION=24071]Sprite[/MENTION]
s["CONTINUAR"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraGs")
if Mouse.click?(1)
return
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].index=0
end
else
[MENTION=24071]Sprite[/MENTION]
s["CONTINUAR"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraG")
end
if Mouse.mouse_in_area?(72,190,368,53)
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraCs")
if Mouse.click?(1)
return
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].index=1
end
else
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
end
if Mouse.mouse_in_area?(72,258,368,53)
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraCs")
if Mouse.click?(1)
return
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].index=2
end
else
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
end
else
if Mouse.mouse_in_area?(72,50,368,53)
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraCs")
if Mouse.click?(1)
return
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].index=0
end
else
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
end
if Mouse.mouse_in_area?(72,118,368,53)
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraCs")
if Mouse.click?(1)
return
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].index=1
end
else
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
end
end
else
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].resizeToFit(commands)
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].commands=commands
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].x=0
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].y=0
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].visible=false
if safeExists?(savefile)
case
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].index
when 0
[MENTION=24071]Sprite[/MENTION]
s["CONTINUAR"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraGs")
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
when 1
[MENTION=24071]Sprite[/MENTION]
s["CONTINUAR"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraG")
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraCs")
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
when 2
[MENTION=24071]Sprite[/MENTION]
s["CONTINUAR"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraG")
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraCs")
end
else
case
[MENTION=24071]Sprite[/MENTION]
["cmdwindow"].index
when 0
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraCs")
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
when 1
[MENTION=24071]Sprite[/MENTION]
s["NUEVOJUEGO"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraC")
[MENTION=24071]Sprite[/MENTION]
s["OPCIONES"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/BarraCs")
end
end
end
if Input.trigger?(Input::C)
return
[MENTION=24071]Sprite[/MENTION]
s["cmdwindow"].index
end
end
end
def pbEndScene
pbFadeOutAndHide
[MENTION=24071]Sprite[/MENTION]
s) { pbUpdate }
pbDisposeSpriteHash
[MENTION=24071]Sprite[/MENTION]
s)
@viewport.dispose
end
def pbCloseScene
pbDisposeSpriteHash
[MENTION=24071]Sprite[/MENTION]
s)
@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=-1
cmdOption=-1
cmdLanguage=-1
cmdMysteryGift=-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
end
commands[cmdContinue=commands.length]=_INTL("Continue") if showContinue
commands[cmdNewGame=commands.length]=_INTL("New Game")
commands[cmdMysteryGift=commands.length]=_INTL("Mystery Gift") if (trainer.mysterygiftaccess rescue false)
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
command=@scene.pbChoose(commands)
if cmdNewGame>=0 && command==cmdNewGame
@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
@scene.pbEndScene
metadata=nil
File.open(savefile){|f|
Marshal.load(f) # Trainer already loaded
$Trainer = trainer
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 cmdMysteryGift>=0 && command==cmdMysteryGift
pbFadeOutIn(99999){
trainer=pbDownloadMysteryGift(trainer)
}
elsif cmdOption>=0 && command==cmdOption
scene=PokemonOptionScene.new
screen=PokemonOption.new(scene)
pbFadeOutIn(99999) { screen.pbStartScreen }
end
end
@scene.pbEndScene
return
end
end
por si acaso el post de donde lo saque es este: http://whackahack.com/foro/t-33065/xp-scripts-essentials-menu-pantalla-inicial#post370975