Buscador avanzado
Navegación
 Portal
 Índice
 Miembros
 Perfil
 FAQ
 Buscar
¿Quién está en línea?
En total hay 3 usuarios en línea: 0 Registrados, 0 Ocultos y 3 Invitados :: 1 Motor de búsqueda

Ninguno

[ Ver toda la lista ]


La mayor cantidad de usuarios en línea fue 30 el Lun Dic 21, 2015 12:37 am.
Últimos temas
» MundoDeluxe cierra - Muchas Gracias a todos
por ZAnimeMaker Miér Mar 02, 2016 3:45 pm

» Recomendaciones para subir aportes
por Xpe Mar Ene 05, 2016 5:00 pm

» dUDA Sobre mi Rpg maker XP en ES
por SketchDeluxe Sáb Ene 02, 2016 7:26 pm

» Arruina el anterior y pide un deseo
por asdseba123 Mar Dic 29, 2015 11:07 pm

» ¿Qué haremos en nuestros días libres?
por bathory123 Sáb Dic 26, 2015 4:02 pm

» Monster Strike (Anime)
por kyonides Sáb Dic 26, 2015 3:33 am

» Galeria de avatares
por bathory123 Vie Dic 25, 2015 6:57 pm

» Feliz Navidad 2015
por kyonides Vie Dic 25, 2015 2:18 am

» Battlers laterales(Ragnarok)
por Maghno Miér Dic 23, 2015 6:57 pm

» Buenas a todos!
por SketchDeluxe Mar Dic 22, 2015 4:36 pm

Publicidad
Afiliados


KyoSaveGame VX

Ver el tema anterior Ver el tema siguiente Ir abajo

KyoSaveGame VX

Mensaje por kyonides el Lun Nov 09, 2015 2:00 am

KyoSaveGame VX
por Kyonides-Arkanthos


Este script fue uno de los primeros que posteé en el viejo foro de MD. Solo trata de hacerles más fácil la definición de cuántas serán las partidas que les permitirán a los jugadores para que guarden sus avances en el juego. Lo traigo al nuevo foro por ser uno de los clásicos.

Código:
#==============================================================================
# ** KyoSaveGame VX
#    por Kyonides-Arkanthos alias Kyonides
#    v 1.0.0 - 29.03.2010
#==============================================================================
module KyoSave
  MAXFILES = 16 # Numero Maximo de Partidas Guardadas
end

class Window_SaveFile < Window_Base
  include KyoSave
  def initialize(file_index, filename)
    @file_index = file_index
    x = left? ? 0 : 272
    y = 56 + (left? ? file_index : file_index - (MAXFILES/2)) % MAXFILES * 90
    super(x, y, 272, 90)
    @filename = filename
    load_gamedata
    refresh
    @selected = false
  end
  
  def left?; @file_index < MAXFILES / 2 end
  
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    name = Vocab::File + " #{@file_index + 1}"
    self.contents.draw_text(4, 0, 200, WLH, name)
    @name_width = contents.text_size(name).width
    if @file_exist
      draw_party_characters(100, 32) # (100, 32)
      draw_playtime(0, 34, contents.width - 4, 2)
    end
  end
end

class Scene_File
  include KyoSave
  alias kyon_save_scene_file_start start
  def start
    kyon_save_scene_file_start
    if (@index == self.latest_file_index or $game_temp.last_file_index != 0) and
      latest_file_index.between?(4, (MAXFILES/2)-1) or
      latest_file_index.between?((MAXFILES/2)+4, MAXFILES-1)
      @windows.each do |window|
        i = last_index? ? latest_file_index : latest_file_index-(MAXFILES/2)
        window.y = @pos_y[@windows.index(window)] - ( @height_max * (i-3) )
      end
      update_windows_visibility
    end
  end
  
  def last_index?; self.latest_file_index < (MAXFILES/2) end
  
  def create_savefile_windows
    @savefile_windows, @pos_y = [], []
    for i in 0...MAXFILES
      @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
      @pos_y << @savefile_windows[i].y
    end
    @item_max, @windows = MAXFILES, @savefile_windows
    @height_max = @savefile_windows[0].height; @screen_max = 56+(@height_max*3)
  end
  
  def cursor_down(wrap)
    if @index < @item_max - 1 or wrap
      @index = (@index+1) % @item_max
      if more_slots_down?
        @windows.each{|window| window.y -= @height_max if !first_4_positions?}
      elsif wrap
        @windows.each {|w| w.y = @pos_y[@windows.index(w)]}
      end
      update_windows_visibility
    end
  end

  def cursor_up(wrap)
    if @index > 0 or wrap
      @index = (@index-1 + @item_max) % @item_max
      if more_slots_up?
        @windows.each {|window| window.y += @height_max}
      elsif !first_4_positions?
        @windows.each do |window|
          window.y = @pos_y[@windows.index(window)] - (
            @height_max * ( ( @item_max/2 )-4 ) )
        end
      end
      update_windows_visibility
    end
  end
  
  def more_slots_down?
    @windows[(@item_max/2)-1].y > @screen_max and @windows[@item_max-1].y > 326
  end
  
  def more_slots_up?
    @index != 0 and @index != @item_max/2 and
    @windows[(@item_max/2)-1].y < 56+(@height_max*((@item_max/2)-1))
  end
  
  def first_4_positions?
    @index.between?(0,3) or @index.between?(@item_max/2, (@item_max/2)+3)
  end
  
  def update_windows_visibility
    @windows.each do |window|
      boolean = !(window.y < 56 or window.y > @screen_max)
      window.visible = boolean if window.visible != boolean
    end
  end
end
avatar
kyonides
Usuario VIP
Usuario VIP

Mensajes : 66
Fecha de inscripción : 09/03/2009

Ver perfil de usuario

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.