¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 [RPG Maker VX] Menú - Demyx09 el Mar Abr 26, 2011 10:42 pm

demyx09

avatar
Que hace el script:
lo que hace este script es borrar todas las ventanas(windows) del menú principal también borra las ventanas de Objetos, Técnicas, Estatus, equipamiento,menu guardado y fin del jeugo.Lo siguiente que hace es poder agregar cualquier imagen de fondo en esos sectores.

imágenes necesarias (Grafic/Picture):


megaupload.com 62FXU8N7

Capturas:



Spoiler:





actualizado versión 0.9

-Cada escena del menú tendrá ahora 2 imágenes de fondo.

-una de las imágenes de fondo se podrá mover en cualquier dirección y fijarle una velocidad de movimiento(también si quieren puede quedar estatica ,vean el script)

-Por ultimo puedes decidir si usar o no la edición de cada escena con un simple 'true' o 'false'(vean el script)


script versión 0.9:




Código:
#==============================================================================
#                                              Demyx09 Menu --- version 0.9
#
#
# Como usar:
#
#  -pegar este script debajo de ▼ Materials
#  -importar las imagenes a  Grafic/Picture
#
# Todos los creditos para: Demyx09
#
#
#==============================================================================
# seccion editable:

# si es 'true' el menú personalizado estara activo.si es 'false' volverá
#al menú por defecto. EJEMPLO: FONDOOBJETO = false, FONDOTECNICA = true
# en este caso el menú de objetos no estará activo pero el de técnicas si.

FONDO = true

#FONDO_X:Es determina la velocidad horizontal con la que se moverá el 'fondo' de las escenas
#EJEMPLO:  'FONDO_X = 2' el fondo de esta escena se moverá lentamente hacia la derecha
#si se le agrega un signo menos (-) se moverá hacia la izquierda.

#FONDO_Y: esto es similar a lo otro solo que en vez de moverze horizontal se movera
#vertical.

FONDO_X = -2
FONDO_Y = -2

FONDOOBJETO = true

FONDOOBJETO_X = 1
FONDOOBJETO_Y = 1

FONDOTECNICA = true

FONDOTECNICA_X = 0
FONDOTECNICA_Y = 0

FONDOEQUIPO = true

FONDOEQUIPO_X = 2
FONDOEQUIPO_Y = 2

FONDOGUARDADO = false

FONDOGUARDADO_X = 2
FONDOGUARDADO_Y = 2

FONDOFIN = true

FONDOFIN_X = 2
FONDOFIN_Y = 2

FONDOESTATUS = true

#Fin de la seccion editable
#====================================================================


class Scene_Menu < Scene_Base
 
 


  if FONDO == true
   

 
def start
    super
    create_menu_background
    create_command_window
    @command_window.opacity = 0
    @fondo = Plane.new
    @fondo.bitmap = Cache.picture("FondoMenu")
    @sprite = Sprite.new
    @sprite.bitmap = Cache.picture("Menu")
    @gold_window = Window_Gold.new(0, 360)
    @gold_window.opacity = 0
    @status_window = Window_MenuStatus.new(160, 0)
    @status_window.opacity = 0
  end
def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @fondo.dispose
    @sprite.dispose
  end
def update
    super
    @fondo.ox -= FONDO_X
    @fondo.oy -= FONDO_Y
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)    # Disable item
      @command_window.draw_item(1, false)    # Disable skill
      @command_window.draw_item(2, false)    # Disable equipment
      @command_window.draw_item(3, false)    # Disable status
    end
    if $game_system.save_disabled            # If save is forbidden
      @command_window.draw_item(4, false)    # Disable save
    end
  end
end
end
#====================================================================
if FONDOOBJETO == true

class Scene_Item < Scene_Base
def start
    super
    create_menu_background
    @fondo = Plane.new
    @fondo.bitmap = Cache.picture("FondoObjeto")
    @sprite = Sprite.new
    @sprite.bitmap = Cache.picture("Objeto")
    @viewport = Viewport.new(0, 0, 544, 416)
    @help_window = Window_Help.new
    @help_window.opacity = 0
    @help_window.viewport = @viewport
    @item_window = Window_Item.new(0, 56, 544, 360)
    @item_window.viewport = @viewport
    @item_window.help_window = @help_window
    @item_window.active = false
    @item_window.opacity = 0
    @target_window = Window_MenuStatus.new(0, 0)
    hide_target_window
  end
def terminate
    super
    dispose_menu_background
    @viewport.dispose
    @help_window.dispose
    @item_window.dispose
    @target_window.dispose
    @fondo.dispose
    @sprite.dispose
  end
def update
    super
    @fondo.ox -= FONDOOBJETO_X
    @fondo.oy -= FONDOOBJETO_Y
    update_menu_background
    @help_window.update
    @item_window.update
    @target_window.update
    if @item_window.active
      update_item_selection
    elsif @target_window.active
      update_target_selection
    end
  end
end
end
#===================================================================
if FONDOTECNICA == true

class Scene_Skill < Scene_Base
 def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
  end
def start
    super
    create_menu_background
    @fondo = Plane.new
    @fondo.bitmap = Cache.picture("FondoTecnica")
    @sprite = Sprite.new
    @sprite.bitmap = Cache.picture("Tecnica")
    @actor = $game_party.members[@actor_index]
    @viewport = Viewport.new(0, 0, 544, 416)
    @help_window = Window_Help.new
    @help_window.viewport = @viewport
    @help_window.opacity = 0
    @status_window = Window_SkillStatus.new(0, 56, @actor)
    @status_window.viewport = @viewport
    @status_window.opacity = 0
    @skill_window = Window_Skill.new(0, 112, 544, 304, @actor)
    @skill_window.viewport = @viewport
    @skill_window.help_window = @help_window
    @skill_window.opacity = 0
    @target_window = Window_MenuStatus.new(0, 0)
    hide_target_window
  end
def terminate
    super
    dispose_menu_background
    @help_window.dispose
    @status_window.dispose
    @skill_window.dispose
    @target_window.dispose
    @fondo.dispose
    @sprite.dispose
  end
def update
    super
    @fondo.ox -= FONDOTECNICA_X
    @fondo.oy -= FONDOTECNICA_Y
    update_menu_background
    @help_window.update
    @status_window.update
    @skill_window.update
    @target_window.update
    if @skill_window.active
      update_skill_selection
    elsif @target_window.active
      update_target_selection
    end
  end
end
end
#===================================================================
if FONDOEQUIPO == true

class Scene_Equip < Scene_Base

  EQUIP_TYPE_MAX = 5                      # Number of equip region

  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
    @equip_index = equip_index
  end
def start
    super
    create_menu_background
    @fondo = Plane.new
    @fondo.bitmap = Cache.picture("FondoEquipo")
    @sprite = Sprite.new
    @sprite.bitmap = Cache.picture("Equipo")
    @actor = $game_party.members[@actor_index]
    @help_window = Window_Help.new
    @help_window.opacity = 0
    create_item_windows
    @equip_window = Window_Equip.new(208, 56, @actor)
    @equip_window.help_window = @help_window
    @equip_window.index = @equip_index
    @equip_window.opacity = 0
    @status_window = Window_EquipStatus.new(0, 56, @actor)
    @status_window.opacity = 0
  end
def terminate
    super
    dispose_menu_background
    @help_window.dispose
    @equip_window.dispose
    @status_window.dispose
    dispose_item_windows
    @fondo.dispose
    @sprite.dispose
  end
def update
    super
    @fondo. ox -= FONDOEQUIPO_X
    @fondo.oy -=  FONDOEQUIPO_Y
    update_menu_background
    @help_window.update
    update_equip_window
    update_status_window
    update_item_windows
    if @equip_window.active
      update_equip_selection
    elsif @item_window.active
      update_item_selection
    end
  end
end
end
#===================================================================
if FONDOESTATUS == true

class Scene_Status < Scene_Base
 
def start
    super
    @fondo = Plane.new
    @fondo.bitmap = Cache.picture("FondoEstatus")
    @sprite = Sprite.new
    @sprite.bitmap = Cache.picture("Estatus")
    @actor = $game_party.members[@actor_index]
    @status_window = Window_Status.new(@actor)
    @status_window.opacity = 0
  end
 
def terminate
    super
    @status_window.dispose
    @fondo.dispose
    @sprite.dispose
  end
end
 
 def update
    @fondo.ox += 1   
    @status_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    end
    super
    @fondo.ox += 1 
  end
end
#===================================================================
if FONDOGUARDADO == true

class Scene_File < Scene_Base
def initialize(saving, from_title, from_event)
    @saving = saving
    @from_title = from_title
    @from_event = from_event
  end
def start
    super
    create_menu_background
    @fondo = Plane.new
    @fondo.bitmap = Cache.picture("FondoGuardado")
    @sprite = Sprite.new
    @sprite.bitmap = Cache.picture("Guardado")
    @help_window = Window_Help.new
    @help_window.opacity = 0
    create_savefile_windows
    if @saving
      @index = $game_temp.last_file_index
      @help_window.set_text(Vocab::SaveMessage)
    else
      @index = self.latest_file_index
      @help_window.set_text(Vocab::LoadMessage)
    end
    @savefile_windows[@index].selected = true
  end
def terminate
    super
    dispose_menu_background
    @help_window.dispose
    dispose_item_windows
    @fondo.dispose
    @sprite.dispose
  end
def update
    super
    @fondo. ox -= FONDOGUARDADO_X
    @fondo.oy -=  FONDOGUARDADO_Y
    update_menu_background
    @help_window.update
    update_savefile_windows
    update_savefile_selection
  end
end
end
#===================================================================
 if FONDOGUARDADO == true

class Window_SaveFile < Window_Base
def initialize(file_index, filename)
    super(0, 56 + file_index % 4 * 90, 544, 90)
    self.opacity = 0
    @file_index = file_index
    @filename = filename
    load_gamedata
    refresh
    @selected = false
  end
end
end
#===================================================================
if FONDOFIN == true

class Scene_End < Scene_Base
def start
    super
    create_menu_background
    @fondo = Plane.new
    @fondo.bitmap = Cache.picture("FondoFin")
    @sprite = Sprite.new
    @sprite.bitmap = Cache.picture("Fin")
    create_command_window
    @command_window.opacity = 0
  end
def terminate
    super
    dispose_command_window
    dispose_menu_background
    @fondo.dispose
    @sprite.dispose
  end
def update
    super
    @fondo. ox -= FONDOFIN_X
    @fondo.oy -=  FONDOFIN_Y
    update_menu_background
    @command_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::C)
      case @command_window.index
      when 0  # to title
        command_to_title
      when 1  # shutdown
        command_shutdown
      when 2  # quit
        command_cancel
      end
    end
  end
end
end
#===================================================================
if FONDOEQUIPO == true

class Window_Item_menu < Window_Selectable
def initialize(x, y, width, height)
    super(x, y, width, height)
    @column_max = 2
    self.opacity = 0
    self.index = 0
    refresh
  end
def item
    return @data[self.index]
  end
def include?(item)
    return false if item == nil
    if $game_temp.in_battle
      return false unless item.is_a?(RPG::Item)
    end
    return true
  end
 def enable?(item)
    return $game_party.item_can_use?(item)
  end
 def refresh
    @data = []
    for item in $game_party.items
      next unless include?(item)
      @data.push(item)
      if item.is_a?(RPG::Item) and item.id == $game_party.last_item_id
        self.index = @data.size - 1
      end
    end
    @data.push(nil) if include?(nil)
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
  end
def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    item = @data[index]
    if item != nil
      number = $game_party.item_number(item)
      enabled = enable?(item)
      rect.width -= 4
      draw_item_name(item, rect.x, rect.y, enabled)
      self.contents.draw_text(rect, sprintf(":%2d", number), 2)
    end
  end
def update_help
    @help_window.set_text(item == nil ? "" : item.description)
  end
end
end
#===================================================================
if FONDOEQUIPO == true

class Window_EquipItem < Window_Item_menu
def initialize(x, y, width, height, actor, equip_type)
    @actor = actor
    if equip_type == 1 and actor.two_swords_style
      equip_type = 0                              # Change shield to weapon
    end
    @equip_type = equip_type
    super(x, y, width, height)
  end
def include?(item)
    return true if item == nil
    if @equip_type == 0
      return false unless item.is_a?(RPG::Weapon)
    else
      return false unless item.is_a?(RPG::Armor)
      return false unless item.kind == @equip_type - 1
    end
    return @actor.equippable?(item)
  end
def enable?(item)
    return true
  end
end
end



Última edición por demyx09 el Vie Abr 29, 2011 6:27 pm, editado 4 veces

#2 Re: [RPG Maker VX] Menú - Demyx09 el Mar Abr 26, 2011 11:17 pm

JohaN.

avatar
Wow! Excelente menu, yo no sabia como incorporar imagenes hasta ahora xD.
Buen Aporte!

#3 Re: [RPG Maker VX] Menú - Demyx09 el Miér Abr 27, 2011 12:43 am

orochii

avatar
Bueno, si quieres "aligerar" un poco el script hay una cosa muy sencilla que deberías considerar. NO copiar TODA la clase que vas a modificar. Puedes empezar copiándola, supongo, si eso te facilita el trabajo, pero luego asegúrate de borrar o no incluir ninguna función que no hayas cambiado. Cuando "abres" una clase (class NombreDeClase), si existía una con el mismo nombre, no la sobreescribes. Con eso quiero decir, que si haces
Código:
class Window
end
por ejemplo, no sucederá nada, no hay ningún cambio. Pero si haces por ejemplo...
Código:
class window
  def update
  end
end
Borrarías el método/función llamado update.

Con eso, si lo revisas de patas a cabeza, podrías recordar qué está copiado porque sí, y quitarle un poco de líneas si así lo deseas Ópalo Guiño. Lo mismo se puede en el RMXP, aunque en el VX lo bueno es que todo está mejor organizado en subfunciones, y así es más posible hacer compatibilidad, y aligerar el código claro.

Espero esto te ayude, suerte,
Orochii Zouveleki

PD.: El menú está muy bonito Ópalo Gato, congratulaciones xD.

#4 Re: [RPG Maker VX] Menú - Demyx09 el Miér Abr 27, 2011 7:33 pm

demyx09

avatar
gracias por tus consejos orochi, la verdad yo queria hacerlo mas pequeño y quitarle cosas pero me daba error X.X, intentare achicarlo y agregare otras funciones jeje sera la version 0.5 : D
---------------------------------------------------------------------------------------------------------------------------------------------
Añadido:

vi que tenia algunos errores así que lo he actualizado jeje

version 0.5

-Ahora se pueden agregar imágenes al menú de guardado y al de Fin del juego
-Las imágenes ahora irán en la carpeta Grafic/Picture
-Se arreglaron algunos errores y se a aligerado un poco el script


vean el principio del post

#5 Re: [RPG Maker VX] Menú - Demyx09 el Miér Abr 27, 2011 10:56 pm

orochii

avatar
Me gusta =D, congratulaciones Demyx xD. Si noto bastante más "ligero" el script, redujiste considerablemente la cantidad de líneas, y ten por seguro que ahora tendrá mejor compatibilidad ;D.
También te quedó muy bien la interfaz de muestra, "congratzulaciones" xD.

Ópalo Sonriente,
OZ

#6 Re: [RPG Maker VX] Menú - Demyx09 el Jue Abr 28, 2011 12:29 am

demyx09

avatar
gracias orochi
ahora se me ocurrieron otras cosas que ya agregue jeje

actualizado versión 0.9

-Cada escena del menú tendrá ahora 2 imágenes de fondo
acá el link de las imágenes:
Descarga

-una de las imágenes de fondo se podrá mover en cualquier dirección y fijarle una velocidad de movimiento(también si quieren puede quedar estatica ,vean el script)

-Por ultimo puedes decidir si usar o no la edición de cada escena con un simple 'true' o 'false'(vean el script)


esta es la region editable:



Código:
#==============================================================================
#                                              Demyx09 Menu --- version 0.9
#
#
# Como usar:
#
#  -pegar este script debajo de ▼ Materials
#  -importar las imagenes a  Grafic/Picture
#
# Todos los creditos para: Demyx09
#
#
#==============================================================================
# seccion editable:

# si es 'true' el menú personalizado estara activo.si es 'false' volverá
#al menú por defecto. EJEMPLO: FONDOOBJETO = false, FONDOTECNICA = true
# en este caso el menú de objetos no estará activo pero el de técnicas si.

FONDO = true

#FONDO_X:Es determina la velocidad horizontal con la que se moverá el 'fondo' de las escenas
#EJEMPLO:  'FONDO_X = 2' el fondo de esta escena se moverá lentamente hacia la derecha
#si se le agrega un signo menos (-) se moverá hacia la izquierda.

#FONDO_Y: esto es similar a lo otro solo que en vez de moverze horizontal se movera
#vertical.

FONDO_X = -2
FONDO_Y = -2

FONDOOBJETO = true

FONDOOBJETO_X = 1
FONDOOBJETO_Y = 1

FONDOTECNICA = true

FONDOTECNICA_X = 0
FONDOTECNICA_Y = 0

FONDOEQUIPO = true

FONDOEQUIPO_X = 2
FONDOEQUIPO_Y = 2

FONDOGUARDADO = false

FONDOGUARDADO_X = 2
FONDOGUARDADO_Y = 2

FONDOFIN = true

FONDOFIN_X = 2
FONDOFIN_Y = 2

FONDOESTATUS = true

#Fin de la seccion editable
#====================================================================


no pude lograr que el fondo del estatus se pudiera mover xD por eso es version 0.9 jeje

#7 Re: [RPG Maker VX] Menú - Demyx09 el Jue Abr 28, 2011 12:43 am

NeosKun

avatar
Esta genial tu script demyx a ver que tal le queda a mi proyecto :O

#8 Re: [RPG Maker VX] Menú - Demyx09 el Vie Abr 29, 2011 12:52 pm

D.A.C.

avatar
¡Te está quedando genial! La ausencia de ventanas falseadas por las imágenes quedan realmente bien, y es muy personalizable. ¿Has probado si tiene compatibilidad con RPG Maker XP?




Si quieres verlo, haz click aquí.

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

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