Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 4067 miembros registrados.
El último usuario registrado es segaj89.

Nuestros miembros han publicado un total de 84121 mensajes en 11982 argumentos.

Error en este script

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Error en este script

Mensaje por Ganelan el 2015-09-09, 15:52

Buenas a todos.

Formatee el PC ya que iba lento y... cosas que hacen que uno formatee el PC Sweat y cuando volvi a poner todo como antes, me salta error en esta linea de script.

Código:
    return @mapinfo[@map_id].name

El script es el de Carga/Guardar de MOG. Antes no me pasaba, pero es formatear el PC y ale... error by the face!

Por si acaso, aqui os dejo el script.

Código:
#==============================================================================
# ** MOG Scene File Ayumi V1.2
#     By Moghunter  
#     http://www.atelier-rgss.com
#------------------------------------------------------------------------------
# ** Reinvisioned version
#    
#    This variant has retooled the MOG module by adding more configurables for
#    the user.  No longer are the graphics hardwired into the code but are now
#    able to be altered in the revised configuration serction.
#
#    Also,  a few redundant modules  have been deleted  for compatability with
#    other systems.  Please note that this system 'does' rewrite the save file
#    structure,  so systems that append to the save file may need to be edited
#    for use with this script.
#==============================================================================
  

module MOG
  
  # BASIC MENU CONFIGURATION
    # File Graphics Used  
      FILE_LAYOUT     = "Layout-File"     # File Menu Graphics
      FILE_BACKGROUND = "Back-Other"      # Animated background graphic  
      FILE_STATUS     = "Status-File"     # File Window Graphic
      FACE_LARGE      = "_Fl"             # Suffix for large face graphics
    # File Effects
      FILE_MOVE_FX    = false             # If savefile moves side-to-side
      FILE_OPACITY_FX = false             # If savefile changes opacity
    # Menu
      FILE_FX         = 2                 # Back FX (0=Moving/ 1=Still/ 2=Map)
      FILE_TRAN_TIME  = 20                # Transition Time
      FILE_TRAN_TYPE  = "Angel"     # Transition Type (Name)
    # Font Used
      FILE_FONT       = "Estrangelo Edessa"         # Font used in file menu  
      
end

# Mogscript global
$mogscript = {} if $mogscript == nil
$mogscript["menu_ayumi"] = true



#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
#  This class handles the map. It includes scrolling and passable determining
#  functions. Refer to "$game_map" for the instance of this class.
#==============================================================================

class Game_Map
  #--------------------------------------------------------------------------
  # * Get Map Name
  #--------------------------------------------------------------------------  
  def map_name
    @mapinfo = load_data("Data/MapInfos.rxdata") if @mapinfo == nil
    return @mapinfo[@map_id].name
  end
end



#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
#  This class is for all in-game windows.
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # * Draw File Window
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate  
  #--------------------------------------------------------------------------    
  def drw_win_file(x, y)
    dwf = RPG::Cache.picture(MOG::FILE_STATUS)
    cw = dwf.width
    ch = dwf.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, dwf, src_rect)    
  end  
  #--------------------------------------------------------------------------
  # * Draw Empty Face
  #--------------------------------------------------------------------------  
  def nada
    face = RPG::Cache.picture("")
  end    
  #--------------------------------------------------------------------------
  # * Draw Face #3 (Larger face)
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------  
  def draw_heroface3(actor, x, y)
    face = RPG::Cache.picture(actor.name + MOG::FACE_LARGE) rescue nada
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, face, src_rect)    
  end  
  #--------------------------------------------------------------------------
  # * Draw Actor Level #6
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------  
  def draw_actor_level6(actor, x, y)
    self.contents.font.color = Color.new(0, 0, 0, 255)
    self.contents.draw_text(x + 1, y + 1, 32, 32, "Lv")  
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, "Lv")
    self.contents.font.color = Color.new(0, 0, 0, 255)
    self.contents.draw_text(x + 17, y + 1, 24, 32, actor.level.to_s, 2)
    self.contents.font.color = Color.new(255, 255, 255, 255)
    self.contents.draw_text(x + 16, y, 24, 32, actor.level.to_s, 2)
  end
  #--------------------------------------------------------------------------
  # * Draw Actor Name #6
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------  
  def draw_actor_name6(actor, x, y)
    self.contents.font.color = Color.new(0, 0, 0, 255)
    self.contents.draw_text(x + 1, y + 1, 100, 32, actor.name, 1)  
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 100, 32, actor.name, 1)
  end
end



#==============================================================================
# ** Window_SaveFile
#------------------------------------------------------------------------------
#  This window displays save files on the save and load screens.
#==============================================================================

class Window_SaveFile < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     file_index : save file index (0-3)
  #     filename   : file name
  #--------------------------------------------------------------------------  
  def initialize(file_index, filename)
    super(0, 64 + file_index * 138, 640, 240)    
    self.contents = Bitmap.new(width - 32, height - 32)  
    self.opacity = 0
    @file_index = file_index
    @filename = "Save#{@file_index + 1}.rxdata"
    @time_stamp = Time.at(0)
    @file_exist = FileTest.exist?(@filename)
    if @file_exist
      file = File.open(@filename, "r")
      @time_stamp     = file.mtime
      @characters     = Marshal.load(file)
      @frame_count    = Marshal.load(file)
      @game_system    = Marshal.load(file)
      @game_switches  = Marshal.load(file)
      @game_variables = Marshal.load(file)
      @game_self_switches = Marshal.load(file)
      @game_screen    = Marshal.load(file)
      @game_actors    = Marshal.load(file)
      @game_party     = Marshal.load(file)
      @game_troop     = Marshal.load(file)
      @game_map       = Marshal.load(file)
      @total_sec      = @frame_count / Graphics.frame_rate
      file.close
    end
    @wiref = 0
    refresh
    @selected = false
  end  
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------  
  def refresh
    self.contents.clear
    self.contents.font.name = MOG::FILE_FONT
    drw_win_file(0,190)
    name = "#{@file_index + 1}"
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(161, 41, 600, 32, name)
    self.contents.font.color = Color.new(255,255,255,255)
    self.contents.draw_text(160, 40, 600, 32, name)    
    @name_width = contents.text_size(name).width
    if @file_exist
      for i in 0...@characters.size
        bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
        cw = bitmap.rect.width / 4
        ch = bitmap.rect.height / 4
        src_rect = Rect.new(cw * @wiref + 1 , 0, cw, ch)
        x = 300 - @characters.size + i * 64 - cw / 4
        self.contents.blt(x - 10, 150 - ch, bitmap, src_rect)
        x = 116
        actors = @game_party.actors
        for i in 0...[actors.size, 4].min
        x     = i * 60
        actor = actors[i]        
        self.contents.font.size = 20
        draw_actor_level6(actor, x + 280, 140)
        actor = actors[0]    
        draw_heroface3(actor,160,180)    
        draw_actor_name6(actor, 160, 155)
        self.contents.font.size = 22
        end          
      end      
      hour = @total_sec / 60 / 60
      min = @total_sec / 60 % 60
      sec = @total_sec % 60
      time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
      self.contents.font.color = Color.new(0,0,0,255)
      self.contents.draw_text(5, 41, 450, 32, time_string, 2)
      self.contents.draw_text(41 , 141, 120 , 32, @game_map.map_name.to_s)
      self.contents.font.color = Color.new(255,255,255,255)
      self.contents.draw_text(40 , 140, 120 , 32, @game_map.map_name.to_s)  
      self.contents.draw_text(4, 40, 450, 32, time_string, 2)  
    end
  end
  #--------------------------------------------------------------------------
  # * Set Selected
  #     selected : new selected (true = selected, false = unselected)
  #--------------------------------------------------------------------------
  def selected=(selected)
    @selected = selected
  end
end



#==============================================================================
# ** Scene_Save
#------------------------------------------------------------------------------
#  This class performs save screen processing.
#==============================================================================

class Scene_Save < Scene_File
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias mog_init initialize
  def initialize
    mog_init
    $mog_scene_filesave_flag = 1
  end
end



#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
#  This is a superclass for the save screen and load screen.
#==============================================================================

class Scene_File
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------  
  def main
    if $mog_scene_filesave_flag != 1
      @mnback = Plane.new
      @mnback.bitmap = RPG::Cache.picture(MOG::FILE_BACKGROUND)
      @mnback.z = 1      
    else
      if MOG::FILE_FX == 0
        @mnback = Plane.new
        @mnback.bitmap = RPG::Cache.picture(MOG::FILE_BACKGROUND)
        @mnback.z = 1
      elsif MOG::FILE_FX == 1
        @mnback = Plane.new
        @mnback.bitmap = RPG::Cache.picture(MOG::FILE_BACKGROUND)
        @mnback.z = 1
      else
        @spriteset = Spriteset_Map.new
      end
    end
    @mnlay = Sprite.new
    @mnlay.bitmap = RPG::Cache.picture(MOG::FILE_LAYOUT)
    @mnlay.z = 2
    @help_window = Window_Help.new
    @help_window.set_text(@help_text)
    @help_window.opacity = 0
    @savefile_windows = []
    @cursor_displace = 0
    for i in 0..2
      @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
    end
    
    @savefile_windows[0]
    @file_index = $game_temp.last_file_index
    @savefile_windows[@file_index].selected = true
    
    @savefile_windows[0].y = 40    
    @savefile_windows[1].y = 140
    @savefile_windows[2].y = 240    
    
    @win_move_time = 0
    @win_move = 0
    @win_dire = 0
    @win_opac = 255
    @win1_y = 0
    @win2_y = 0
    @win3_y = 0
    unless MOG::FILE_FX == 2
      Graphics.transition(MOG::FILE_TRAN_TIME, "Graphics/Transitions/" +
        MOG::FILE_TRAN_TYPE)
    else
      Graphics.transition
    end
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    for i in 0..50
      @mnback.ox += 1 if MOG::FILE_FX == 0
      @savefile_windows[0].x += 10    
      @savefile_windows[1].x -= 10
      @savefile_windows[2].x += 10
      for i in @savefile_windows
        i.contents_opacity -= 5
      end  
      Graphics.update  
    end      
    Graphics.freeze
    @help_window.dispose
    @mnback.dispose if MOG::FILE_FX == 0
    @mnback.dispose if MOG::FILE_FX == 1
    @mnback.dispose if MOG::FILE_FX == 2 && $mog_scene_filesave_flag != 1
    @spriteset.dispose if MOG::FILE_FX == 2 && $mog_scene_filesave_flag == 1
    $mog_scene_filesave_flag = 0
    @mnlay.dispose
    for i in @savefile_windows ; i.dispose ; end
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------    
  def update
    @mnback.ox += 1 if MOG::FILE_FX == 0
    if MOG::FILE_OPACITY_FX
      @win_opac += 3
      @win_opac = 150 if @win_opac > 254
    else
      @win_opac = 255
    end
    @win_move_time += 1    
    if @win_move_time > 60
      @win_dire += 1
      @win_move_time = 0    
    end
    @win_dire = 0 if @win_dire > 1
    if @win_dire == 0
       @win_move += 1
    else  
       @win_move -= 1
    end        
    # Update File Windows
    update_window_z
    update_moving_window if MOG::FILE_MOVE_FX
    update_window_opacity
    @help_window.update    
    for i in @savefile_windows ; i.update ; end
    if Input.trigger?(Input::C)
      on_decision(make_filename(@file_index))
      $game_temp.last_file_index = @file_index
      return
    end
    if Input.trigger?(Input::B)
      on_cancel
      return
    end
    if Input.repeat?(Input::DOWN)
      if Input.trigger?(Input::DOWN) or @file_index < 3
        $game_system.se_play($data_system.cursor_se)
        @savefile_windows[@file_index].selected = false
        @file_index = (@file_index + 1) % 3
        @savefile_windows[@file_index].selected = true
        return
      end
    end
    if Input.repeat?(Input::UP)
      if Input.trigger?(Input::UP) or @file_index > 0
        $game_system.se_play($data_system.cursor_se)
        @savefile_windows[@file_index].selected = false
        @file_index = (@file_index - 1) % 3
        @savefile_windows[@file_index].selected = true
        return
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (Reposition File Window)
  #--------------------------------------------------------------------------
  def update_window_z
    if @file_index == 0
      @savefile_windows[0].z = 2  
      @savefile_windows[1].z = 1
      @savefile_windows[2].z = 0        
    elsif @file_index == 1
      @savefile_windows[0].z = 1  
      @savefile_windows[1].z = 2
      @savefile_windows[2].z = 1        
    else
      @savefile_windows[0].z = 0  
      @savefile_windows[1].z = 1
      @savefile_windows[2].z = 2        
    end      
  end  
  #--------------------------------------------------------------------------
  # * Frame Update (Moving File Window)
  #--------------------------------------------------------------------------
  def update_moving_window
    if @file_index == 0
      @savefile_windows[0].x = @win_move
      @savefile_windows[1].x = 0
      @savefile_windows[1].x = 0
      @savefile_windows[2].x = 0    
    elsif @file_index == 1
      @savefile_windows[0].x = 0
      @savefile_windows[1].x = @win_move
      @savefile_windows[2].x = 0    
    else
      @savefile_windows[0].x = 0
      @savefile_windows[1].x = 0
      @savefile_windows[2].x = @win_move  
    end      
  end
  #--------------------------------------------------------------------------
  # * Frame Update (File Window Opacity)
  #--------------------------------------------------------------------------  
  def update_window_opacity
    if @file_index == 0
      @savefile_windows[0].contents_opacity =   @win_opac
      @savefile_windows[1].contents_opacity =   130
      @savefile_windows[2].contents_opacity =   130    
    elsif @file_index == 1
      @savefile_windows[0].contents_opacity =   130
      @savefile_windows[1].contents_opacity =   @win_opac
      @savefile_windows[2].contents_opacity =   130
    else
      @savefile_windows[0].contents_opacity =   130
      @savefile_windows[1].contents_opacity =   130
      @savefile_windows[2].contents_opacity =   @win_opac    
    end    
  end
end
avatar
Ganelan
Veterano
Veterano

0/3

Créditos 584

Gracias : 23

Volver arriba Ir abajo

RPG Maker XP Re: Error en este script

Mensaje por orochii el 2015-09-09, 17:42

No sé realmente si esto solucionará el error, pero puedes probarlo a ver qué tal xd... Pones esta linea en lugar de la otra.

Código:
return @mapinfo[@map_id].name rescue (return "")

Lo que he agregado es un valor de retorno en caso de cualquier error. No es lo más adecuado tapar goteras a la fuerza, pero bueh xD.
avatar
orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6359

Gracias : 325

http://ragnarokrproject.com/

Volver arriba Ir abajo

RPG Maker XP Re: Error en este script

Mensaje por Ganelan el 2015-09-09, 17:49

Arreglado! Gracias orochii-sama!
avatar
Ganelan
Veterano
Veterano

0/3

Créditos 584

Gracias : 23

Volver arriba Ir abajo

RPG Maker XP Re: Error en este script

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.