¡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 3378 miembros registrados.
El último usuario registrado es Max003.

Nuestros miembros han publicado un total de 79744 mensajes en 11241 argumentos.
Navega con Google Chrome
[DESCARGA]

Error en este script

 :: RPG Maker :: Ayuda RPG

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

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.

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.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!

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 Hoy a las 04:34


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

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