RPG maker VX
Últimos temas
» Script de menu
por maxi Jue 04 Dic 2014, 1:44 pm

» Ayuda intro animado!!!
por maxi Miér 03 Dic 2014, 9:41 pm

» ayuda con este engin
por maxi Miér 03 Dic 2014, 8:42 am

» Hud de Vida 100% Personalizable - Engine Sencillo! Sin Scripts :)
por davidaikago Jue 20 Nov 2014, 10:58 am

» Ultimate parallax control by:GDS [ace]
por arellano Miér 08 Oct 2014, 8:28 pm

» Script Touhou (animated) Map name (v1.4)
por davidaikago Miér 08 Oct 2014, 2:09 pm

» tutorial puerta nueva
por davidaikago Miér 08 Oct 2014, 9:08 am

» cámara de fotos
por davidaikago Miér 08 Oct 2014, 9:05 am

» Imperial Action System II Demo
por davidaikago Miér 08 Oct 2014, 8:47 am

» VE Batalla animada [ACE]
por FhierusIV Jue 18 Sep 2014, 10:57 am

» Nuevo Reglamento del Foro [Vigente desde Septiembre 2014]
por maxi Miér 17 Sep 2014, 8:37 am

» MOG|Animated Title
por Souta21 Mar 09 Sep 2014, 7:24 pm

» Tutorial Engine - Cambiar Character al Equipar Objeto
por maxi Lun 21 Jul 2014, 10:19 am

» Script de climas
por gambasoxd Sáb 19 Jul 2014, 8:58 am

» Script de contraseña(codigo) para abrir un cofre
por rpgame Jue 03 Jul 2014, 6:03 pm

¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

[ Ver toda la lista ]


La mayor cantidad de usuarios en línea fue 117 el Mar 09 Ago 2011, 3:39 pm.

[Aporte]Script Menú de un solo personaje

Ver el tema anterior Ver el tema siguiente Ir abajo

[Aporte]Script Menú de un solo personaje

Mensaje por luistop12 el Dom 06 Ene 2013, 1:55 pm

este menú acorta la formacion a un solo personaje (ideal para los juegos de leyendas)
screen:
[Tienes que estar registrado y conectado para ver esa imagen]
Código:
#===============================================================================
#
# DT's One Person Menu
# Author: DoctorTodd
# Date (02/19/2012)
# Type: (Menu)
# Version: (1.1.0)
# Level: (Simple)
# Email: [Tienes que estar registrado y conectado para ver este vínculo]
#
#===============================================================================
#
# Description: A menu that is modified to work as if you are only using one
# actor.
#
# Credits: Me (DoctorTodd)
#
#===============================================================================
#
# Instructions
# Paste above main.
#
#===============================================================================
#
# Editing begins 30 and ends 32.
#
#===============================================================================
module DTOPM
 
  #Window skin to use, place in system.
  WINDOW = ('Window')
 
end

class Scene_Menu < Scene_Base
  include DTOPM
  #--------------------------------------------------------------------------
  # * Object Initialization
  #    menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @status_window = Window_MenuStatus.new (200, 75)
    @status_window.windowskin = Cache.system(DTOPM::WINDOW)
    @gold_window = Window_Gold.new(40, 250)
    @gold_window.windowskin = Cache.system(DTOPM::WINDOW)
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  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
    @command_window.x = 40
    @command_window.y = 75
    @command_window.windowskin = Cache.system(DTOPM::WINDOW)
    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
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1      # Skill
        @actor = $game_party.members[1]
        $scene = Scene_Skill.new
      when 2      # Equip
        @actor = $game_party.members[1]
        $scene = Scene_Equip.new
      when 3      # Status
        @actor = $game_party.members[1]
        $scene = Scene_Status.new
      when 4      # Save
        $scene = Scene_File.new(true, false, false)
      when 5      # End Game
        $scene = Scene_End.new
      end
    end
  end
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays the characters status on the menu screen.
#==============================================================================

class Window_MenuStatus < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #    x : window X coordinate
  #    y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 300, 231)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @actor = $game_party.members[0]
      draw_actor_face(@actor, 0, 0)
      draw_actor_name(@actor, 110, 5)
      draw_actor_level(@actor, 190, 5)
      draw_actor_hp(@actor, 110 ,40)
      draw_actor_mp(@actor, 110 , 65)
      draw_actor_parameter(@actor, 0, 100, 0)
      draw_actor_parameter(@actor, 0, 124, 1)
      draw_actor_parameter(@actor, 0, 148, 2)
      draw_actor_parameter(@actor, 0, 172, 3)
      draw_actor_graphic(@actor, 220, 160)
      draw_actor_state(@actor, 190, 180, width = 96)
    end
  end
end
avatar
luistop12
500
500

Masculino

Edad 27

Cantidad de envíos 759

Maker Cash 946

Reputación 42


Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por maxp90 el Dom 06 Ene 2013, 2:58 pm

el screen esta roto :/
"The requested content cannot be loaded.
Please try again later."
queria saber como es.. xq mi juego x ahora empieza con un solo PJ.. y aun no decido si unirle mas al grupo o que quede solito >.<
avatar
maxp90
15
15

Masculino

Edad 27

Cantidad de envíos 27

Maker Cash 43

Reputación 0


Extras
Sobre mí:: Probando q es todo esto :P

Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por luistop12 el Dom 06 Ene 2013, 4:44 pm

Amigo para que la screen se te vea debes hacerle click derecho y abrir en nueva pestaña y se te verá
avatar
luistop12
500
500

Masculino

Edad 27

Cantidad de envíos 759

Maker Cash 946

Reputación 42


Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por maxp90 el Dom 06 Ene 2013, 4:46 pm

Logre verla y es un gran aporte!!!
ahora podria ser q se vea d esa forma mientras seas un solo char, pero si añades otro se vea d la otra forma? :P o como se veria con 2 char esa misma ventanita? :3
avatar
maxp90
15
15

Masculino

Edad 27

Cantidad de envíos 27

Maker Cash 43

Reputación 0


Extras
Sobre mí:: Probando q es todo esto :P

Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por luistop12 el Lun 07 Ene 2013, 10:06 am

pues de echo si se une otro personaje no se ve xD, es algo cruel :/
avatar
luistop12
500
500

Masculino

Edad 27

Cantidad de envíos 759

Maker Cash 946

Reputación 42


Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por Hormiga95 el Jue 17 Ene 2013, 5:35 pm

Me aparece una ventana con error.
Script Menu4 line 435: No methodError ocurred.
undefined method close for nil:NilClass.

¿Que es?
avatar
Hormiga95
30
30

Masculino

Edad 22

Cantidad de envíos 33

Maker Cash 39

Reputación 0


Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por luistop12 el Jue 17 Ene 2013, 6:00 pm

que extraño lo acabo de probar y no me tira error debe ser por incompatibilidad con otro script que tengas
avatar
luistop12
500
500

Masculino

Edad 27

Cantidad de envíos 759

Maker Cash 946

Reputación 42


Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por Mike_182 el Jue 17 Ene 2013, 6:46 pm

Por favor, indica que script te dio ese error, ya que este solo tiene 174 lineas y el error no nos dice todo:

Script Menu4 line 435: No methodError ocurred.
undefined method close for nil:NilClass.


Seria un error influyente si fuera de alguna Window o Scene o en este script en si, pero veo que usas otro script que interrumpe el proceso de este, si estas usando dos menús personalizados te recomiendo que utilices uno nada mas, para evitar la inestabilidad.


[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]
avatar
Mike_182
Super Moderador
Super Moderador

Masculino

Edad 22

Cantidad de envíos 814

Maker Cash 1043

Reputación 150


Extras
Sobre mí::

Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por Hormiga95 el Jue 17 Ene 2013, 8:29 pm

Listo, elimine otro Script que modificaba el menu. Ya tengo este Script y me anda al 100%


Gracias [Tienes que estar registrado y conectado para ver esa imagen]
avatar
Hormiga95
30
30

Masculino

Edad 22

Cantidad de envíos 33

Maker Cash 39

Reputación 0


Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por luistop12 el Jue 17 Ene 2013, 11:24 pm

¿vez? solo era incopatibilidad
avatar
luistop12
500
500

Masculino

Edad 27

Cantidad de envíos 759

Maker Cash 946

Reputación 42


Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por Mike_182 el Vie 18 Ene 2013, 12:00 am

"•Esta prohibido postear mensajes con menos de una linea de texto."
luistop12 escribió:¿vez? solo era incopatibilidad

Ultimadamente, has estado comentando post innecesarios como para remarcar algo que ya se dijo anteriormente.
Evita hacer comentarios de ese tipo o seras sancionado.
Gracias.


[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]
avatar
Mike_182
Super Moderador
Super Moderador

Masculino

Edad 22

Cantidad de envíos 814

Maker Cash 1043

Reputación 150


Extras
Sobre mí::

Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por Hormiga95 el Mar 22 Ene 2013, 8:12 pm

Solo pasaba para preguntar:

Existe alguno que haga lo mismo para Ace?
avatar
Hormiga95
30
30

Masculino

Edad 22

Cantidad de envíos 33

Maker Cash 39

Reputación 0


Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por luistop12 el Mar 22 Ene 2013, 10:25 pm

sí pero escuche uno de hunter pero

no sé donde está xD
avatar
luistop12
500
500

Masculino

Edad 27

Cantidad de envíos 759

Maker Cash 946

Reputación 42


Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por Mike_182 el Mar 22 Ene 2013, 10:28 pm

Acá te hice uno:
Código:
#==============================================================================
# Idea original y creación [para VX]: DoctorTodd
# Email: [Tienes que estar registrado y conectado para ver este vínculo]-
#------------------------------------------------------------------------------
#Adaptación a Vx Ace: Mikee182 / Mike_182 / Mike182 <= Cualquiera de esos nicks x)
#www.rpgmkrvx.com
#Todos los créditos a DoctorTodd, pero si quieren darme créditos a mi no me molesta... xD -Mike
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # * Start Processing
  #--------------------------------------------------------------------------
  def start
    super
    create_command_window
    create_gold_window
    create_status_window
    @status_window = Window_MenuStatus.new(@command_window.width, 75)
    @status_window.x = 200
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_MenuCommand.new
    @command_window.set_handler(:item,      method(:command_item))
    @command_window.set_handler(:skill,    method(:command_personal))
    @command_window.set_handler(:equip,    method(:command_personal))
    @command_window.set_handler(:status,    method(:command_personal))
    @command_window.set_handler(:formation, method(:command_formation))
    @command_window.set_handler(:save,      method(:command_save))
    @command_window.set_handler(:game_end,  method(:command_game_end))
    @command_window.set_handler(:cancel,    method(:return_scene))
    @command_window.width = 160
    @command_window.x = 40
    @command_window.y = 75
   
  end
  #--------------------------------------------------------------------------
  # * Create Gold Window
  #--------------------------------------------------------------------------
  def create_gold_window
    @gold_window = Window_Gold.new
    @gold_window.x = 40
    @gold_window.y = 242
  end
  #--------------------------------------------------------------------------
  # * Create Status Window
  #--------------------------------------------------------------------------
  def create_status_window
    @status_window = Window_MenuStatus.new(@command_window.width, 0)
  end
  #--------------------------------------------------------------------------
  # * [Item] Command
  #--------------------------------------------------------------------------
  def command_item
    SceneManager.call(Scene_Item)
  end
  #--------------------------------------------------------------------------
  # * [Skill], [Equipment] and [Status] Commands
  #--------------------------------------------------------------------------
  def command_personal
    @status_window.select_last
    @status_window.activate
    @status_window.set_handler(:ok,    method(:on_personal_ok))
    @status_window.set_handler(:cancel, method(:on_personal_cancel))
  end
  #--------------------------------------------------------------------------
  # * [Formation] Command
  #--------------------------------------------------------------------------
  def command_formation
    @status_window.select_last
    @status_window.activate
    @status_window.set_handler(:ok,    method(:on_formation_ok))
    @status_window.set_handler(:cancel, method(:on_formation_cancel))
  end
  #--------------------------------------------------------------------------
  # * [Save] Command
  #--------------------------------------------------------------------------
  def command_save
    SceneManager.call(Scene_Save)
  end
  #--------------------------------------------------------------------------
  # * [Exit Game] Command
  #--------------------------------------------------------------------------
  def command_game_end
    SceneManager.call(Scene_End)
  end
  #--------------------------------------------------------------------------
  # * [OK] Personal Command
  #--------------------------------------------------------------------------
  def on_personal_ok
    case @command_window.current_symbol
    when :skill
      SceneManager.call(Scene_Skill)
    when :equip
      SceneManager.call(Scene_Equip)
    when :status
      SceneManager.call(Scene_Status)
    end
  end
  #--------------------------------------------------------------------------
  # * [Cancel] Personal Command
  #--------------------------------------------------------------------------
  def on_personal_cancel
    @status_window.unselect
    @command_window.activate
  end
  #--------------------------------------------------------------------------
  # * Formation [OK]
  #--------------------------------------------------------------------------
  def on_formation_ok
    if @status_window.pending_index >= 0
      $game_party.swap_order(@status_window.index,
                            @status_window.pending_index)
      @status_window.pending_index = -1
      @status_window.redraw_item(@status_window.index)
    else
      @status_window.pending_index = @status_window.index
    end
    @status_window.activate
  end
  #--------------------------------------------------------------------------
  # * Formation [Cancel]
  #--------------------------------------------------------------------------
  def on_formation_cancel
    if @status_window.pending_index >= 0
      @status_window.pending_index = -1
      @status_window.activate
    else
      @status_window.unselect
      @command_window.activate
    end
  end
end

################################################################################
################################################################################
################################################################################
class Window_MenuCommand < Window_Command
  #--------------------------------------------------------------------------
  # * Initialize Command Selection Position (Class Method)
  #--------------------------------------------------------------------------
  def self.init_command_position
    @@last_command_symbol = nil
  end
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0)
    select_last
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return 160
  end
  #--------------------------------------------------------------------------
  # * Get Number of Lines to Show
  #--------------------------------------------------------------------------
  def visible_line_number
    item_max
  end
  #--------------------------------------------------------------------------
  # * Create Command List
  #--------------------------------------------------------------------------
  def make_command_list
    add_main_commands
    add_original_commands
    add_save_command
    add_game_end_command
  end
  #--------------------------------------------------------------------------
  # * Add Main Commands to List
  #--------------------------------------------------------------------------
  def add_main_commands
    add_command(Vocab::item,  :item,  main_commands_enabled)
    add_command(Vocab::skill,  :skill,  main_commands_enabled)
    add_command(Vocab::equip,  :equip,  main_commands_enabled)
    add_command(Vocab::status, :status, main_commands_enabled)
  end
  #--------------------------------------------------------------------------
  # * For Adding Original Commands
  #--------------------------------------------------------------------------
  def add_original_commands
  end
  #--------------------------------------------------------------------------
  # * Add Save to Command List
  #--------------------------------------------------------------------------
  def add_save_command
    add_command(Vocab::save, :save, save_enabled)
  end
  #--------------------------------------------------------------------------
  # * Add Exit Game to Command List
  #--------------------------------------------------------------------------
  def add_game_end_command
    add_command(Vocab::game_end, :game_end)
  end
  #--------------------------------------------------------------------------
  # * Get Activation State of Main Commands
  #--------------------------------------------------------------------------
  def main_commands_enabled
    $game_party.exists
  end
  #--------------------------------------------------------------------------
  # * Get Activation State of Save
  #--------------------------------------------------------------------------
  def save_enabled
    !$game_system.save_disabled
  end
  #--------------------------------------------------------------------------
  # * Processing When OK Button Is Pressed
  #--------------------------------------------------------------------------
  def process_ok
    @@last_command_symbol = current_symbol
    super
  end
  #--------------------------------------------------------------------------
  # * Restore Previous Selection Position
  #--------------------------------------------------------------------------
  def select_last
    select_symbol(@@last_command_symbol)
  end
end

#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader  :pending_index            # Pending position (for formation)
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 300, 215)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    Graphics.width - 160
  end
  #--------------------------------------------------------------------------
  # * Get Window Height
  #--------------------------------------------------------------------------
  def window_height
    Graphics.height
  end
  #--------------------------------------------------------------------------
  # * Get Number of Items
  #--------------------------------------------------------------------------
  def item_max
    $game_party.members.size
  end
  #--------------------------------------------------------------------------
  # * Get Item Height
  #--------------------------------------------------------------------------
  def item_height
    (height - standard_padding * 2) / 4
  end
  #--------------------------------------------------------------------------
  # * Draw Item
  #--------------------------------------------------------------------------
  def draw_item(index)
    actor = $game_party.members[index]
    enabled = $game_party.battle_members.include?(actor)
    rect = item_rect(index)
    draw_item_background(index)
    draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled)
    draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
  end
  #--------------------------------------------------------------------------
  # * Draw Background for Item
  #--------------------------------------------------------------------------
 
    def draw_actor_simple_status(actor, x, y)
        self.contents.clear
    @actor = $game_party.members[0]
      draw_actor_face(@actor, 0, 0)
      draw_actor_name(@actor, 110, 5)
      draw_actor_level(@actor, 190, 5)
      draw_actor_hp(@actor, 110 ,40)
      draw_actor_mp(@actor, 110 , 65)
      draw_actor_param(@actor, 0, 98, 2)
      draw_actor_param(@actor, 0, 118, 3)
      draw_actor_param(@actor, 0, 140, 4)
      draw_actor_param(@actor, 0, 164, 6)
      draw_actor_graphic(@actor, 224, 160)
      draw_actor_icons(@actor, 190, 100, width = 96)
  end
 
  #--------------------------------------------------------------------------
  # * Processing When OK Button Is Pressed
  #--------------------------------------------------------------------------
  def process_ok
    super
    $game_party.menu_actor = $game_party.members[index]
  end
  #--------------------------------------------------------------------------
  # * Restore Previous Selection Position
  #--------------------------------------------------------------------------
  def select_last
    select($game_party.menu_actor.index || 0)
  end
  #--------------------------------------------------------------------------
  # * Set Pending Position (for Formation)
  #--------------------------------------------------------------------------
  def pending_index=(index)
    last_pending_index = @pending_index
    @pending_index = index
    redraw_item(@pending_index)
    redraw_item(last_pending_index)
  end
end
xD ya van dos.
Espero que te sirva.

La única diferencia son los iconos, en este aparecen arriba, y no abajo del sprite del personaje.
[Tienes que estar registrado y conectado para ver esa imagen]
Un saludo.


[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]
avatar
Mike_182
Super Moderador
Super Moderador

Masculino

Edad 22

Cantidad de envíos 814

Maker Cash 1043

Reputación 150


Extras
Sobre mí::

Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por Hormiga95 el Mar 22 Ene 2013, 11:05 pm

Mike_182 escribió:Acá te hice uno:
Código:
#==============================================================================
# Idea original y creación [para VX]: DoctorTodd
# Email: [Tienes que estar registrado y conectado para ver este vínculo]-
#------------------------------------------------------------------------------
#Adaptación a Vx Ace: Mikee182 / Mike_182 / Mike182 <= Cualquiera de esos nicks x)
#www.rpgmkrvx.com
#Todos los créditos a DoctorTodd, pero si quieren darme créditos a mi no me molesta... xD -Mike
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # * Start Processing
  #--------------------------------------------------------------------------
  def start
    super
    create_command_window
    create_gold_window
    create_status_window
    @status_window = Window_MenuStatus.new(@command_window.width, 75)
    @status_window.x = 200
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_MenuCommand.new
    @command_window.set_handler(:item,      method(:command_item))
    @command_window.set_handler(:skill,    method(:command_personal))
    @command_window.set_handler(:equip,    method(:command_personal))
    @command_window.set_handler(:status,    method(:command_personal))
    @command_window.set_handler(:formation, method(:command_formation))
    @command_window.set_handler(:save,      method(:command_save))
    @command_window.set_handler(:game_end,  method(:command_game_end))
    @command_window.set_handler(:cancel,    method(:return_scene))
    @command_window.width = 160
    @command_window.x = 40
    @command_window.y = 75
   
  end
  #--------------------------------------------------------------------------
  # * Create Gold Window
  #--------------------------------------------------------------------------
  def create_gold_window
    @gold_window = Window_Gold.new
    @gold_window.x = 40
    @gold_window.y = 242
  end
  #--------------------------------------------------------------------------
  # * Create Status Window
  #--------------------------------------------------------------------------
  def create_status_window
    @status_window = Window_MenuStatus.new(@command_window.width, 0)
  end
  #--------------------------------------------------------------------------
  # * [Item] Command
  #--------------------------------------------------------------------------
  def command_item
    SceneManager.call(Scene_Item)
  end
  #--------------------------------------------------------------------------
  # * [Skill], [Equipment] and [Status] Commands
  #--------------------------------------------------------------------------
  def command_personal
    @status_window.select_last
    @status_window.activate
    @status_window.set_handler(:ok,    method(:on_personal_ok))
    @status_window.set_handler(:cancel, method(:on_personal_cancel))
  end
  #--------------------------------------------------------------------------
  # * [Formation] Command
  #--------------------------------------------------------------------------
  def command_formation
    @status_window.select_last
    @status_window.activate
    @status_window.set_handler(:ok,    method(:on_formation_ok))
    @status_window.set_handler(:cancel, method(:on_formation_cancel))
  end
  #--------------------------------------------------------------------------
  # * [Save] Command
  #--------------------------------------------------------------------------
  def command_save
    SceneManager.call(Scene_Save)
  end
  #--------------------------------------------------------------------------
  # * [Exit Game] Command
  #--------------------------------------------------------------------------
  def command_game_end
    SceneManager.call(Scene_End)
  end
  #--------------------------------------------------------------------------
  # * [OK] Personal Command
  #--------------------------------------------------------------------------
  def on_personal_ok
    case @command_window.current_symbol
    when :skill
      SceneManager.call(Scene_Skill)
    when :equip
      SceneManager.call(Scene_Equip)
    when :status
      SceneManager.call(Scene_Status)
    end
  end
  #--------------------------------------------------------------------------
  # * [Cancel] Personal Command
  #--------------------------------------------------------------------------
  def on_personal_cancel
    @status_window.unselect
    @command_window.activate
  end
  #--------------------------------------------------------------------------
  # * Formation [OK]
  #--------------------------------------------------------------------------
  def on_formation_ok
    if @status_window.pending_index >= 0
      $game_party.swap_order(@status_window.index,
                            @status_window.pending_index)
      @status_window.pending_index = -1
      @status_window.redraw_item(@status_window.index)
    else
      @status_window.pending_index = @status_window.index
    end
    @status_window.activate
  end
  #--------------------------------------------------------------------------
  # * Formation [Cancel]
  #--------------------------------------------------------------------------
  def on_formation_cancel
    if @status_window.pending_index >= 0
      @status_window.pending_index = -1
      @status_window.activate
    else
      @status_window.unselect
      @command_window.activate
    end
  end
end

################################################################################
################################################################################
################################################################################
class Window_MenuCommand < Window_Command
  #--------------------------------------------------------------------------
  # * Initialize Command Selection Position (Class Method)
  #--------------------------------------------------------------------------
  def self.init_command_position
    @@last_command_symbol = nil
  end
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0)
    select_last
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return 160
  end
  #--------------------------------------------------------------------------
  # * Get Number of Lines to Show
  #--------------------------------------------------------------------------
  def visible_line_number
    item_max
  end
  #--------------------------------------------------------------------------
  # * Create Command List
  #--------------------------------------------------------------------------
  def make_command_list
    add_main_commands
    add_original_commands
    add_save_command
    add_game_end_command
  end
  #--------------------------------------------------------------------------
  # * Add Main Commands to List
  #--------------------------------------------------------------------------
  def add_main_commands
    add_command(Vocab::item,  :item,  main_commands_enabled)
    add_command(Vocab::skill,  :skill,  main_commands_enabled)
    add_command(Vocab::equip,  :equip,  main_commands_enabled)
    add_command(Vocab::status, :status, main_commands_enabled)
  end
  #--------------------------------------------------------------------------
  # * For Adding Original Commands
  #--------------------------------------------------------------------------
  def add_original_commands
  end
  #--------------------------------------------------------------------------
  # * Add Save to Command List
  #--------------------------------------------------------------------------
  def add_save_command
    add_command(Vocab::save, :save, save_enabled)
  end
  #--------------------------------------------------------------------------
  # * Add Exit Game to Command List
  #--------------------------------------------------------------------------
  def add_game_end_command
    add_command(Vocab::game_end, :game_end)
  end
  #--------------------------------------------------------------------------
  # * Get Activation State of Main Commands
  #--------------------------------------------------------------------------
  def main_commands_enabled
    $game_party.exists
  end
  #--------------------------------------------------------------------------
  # * Get Activation State of Save
  #--------------------------------------------------------------------------
  def save_enabled
    !$game_system.save_disabled
  end
  #--------------------------------------------------------------------------
  # * Processing When OK Button Is Pressed
  #--------------------------------------------------------------------------
  def process_ok
    @@last_command_symbol = current_symbol
    super
  end
  #--------------------------------------------------------------------------
  # * Restore Previous Selection Position
  #--------------------------------------------------------------------------
  def select_last
    select_symbol(@@last_command_symbol)
  end
end

#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader  :pending_index            # Pending position (for formation)
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 300, 215)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    Graphics.width - 160
  end
  #--------------------------------------------------------------------------
  # * Get Window Height
  #--------------------------------------------------------------------------
  def window_height
    Graphics.height
  end
  #--------------------------------------------------------------------------
  # * Get Number of Items
  #--------------------------------------------------------------------------
  def item_max
    $game_party.members.size
  end
  #--------------------------------------------------------------------------
  # * Get Item Height
  #--------------------------------------------------------------------------
  def item_height
    (height - standard_padding * 2) / 4
  end
  #--------------------------------------------------------------------------
  # * Draw Item
  #--------------------------------------------------------------------------
  def draw_item(index)
    actor = $game_party.members[index]
    enabled = $game_party.battle_members.include?(actor)
    rect = item_rect(index)
    draw_item_background(index)
    draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled)
    draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
  end
  #--------------------------------------------------------------------------
  # * Draw Background for Item
  #--------------------------------------------------------------------------
 
    def draw_actor_simple_status(actor, x, y)
        self.contents.clear
    @actor = $game_party.members[0]
      draw_actor_face(@actor, 0, 0)
      draw_actor_name(@actor, 110, 5)
      draw_actor_level(@actor, 190, 5)
      draw_actor_hp(@actor, 110 ,40)
      draw_actor_mp(@actor, 110 , 65)
      draw_actor_param(@actor, 0, 98, 2)
      draw_actor_param(@actor, 0, 118, 3)
      draw_actor_param(@actor, 0, 140, 4)
      draw_actor_param(@actor, 0, 164, 6)
      draw_actor_graphic(@actor, 224, 160)
      draw_actor_icons(@actor, 190, 100, width = 96)
  end
 
  #--------------------------------------------------------------------------
  # * Processing When OK Button Is Pressed
  #--------------------------------------------------------------------------
  def process_ok
    super
    $game_party.menu_actor = $game_party.members[index]
  end
  #--------------------------------------------------------------------------
  # * Restore Previous Selection Position
  #--------------------------------------------------------------------------
  def select_last
    select($game_party.menu_actor.index || 0)
  end
  #--------------------------------------------------------------------------
  # * Set Pending Position (for Formation)
  #--------------------------------------------------------------------------
  def pending_index=(index)
    last_pending_index = @pending_index
    @pending_index = index
    redraw_item(@pending_index)
    redraw_item(last_pending_index)
  end
end
xD ya van dos.
Espero que te sirva.

La única diferencia son los iconos, en este aparecen arriba, y no abajo del sprite del personaje.
[Tienes que estar registrado y conectado para ver esa imagen]
Un saludo.

XD Creo que debería empezar a pagarte.
Muchas gracias.
avatar
Hormiga95
30
30

Masculino

Edad 22

Cantidad de envíos 33

Maker Cash 39

Reputación 0


Volver arriba Ir abajo

Re: [Aporte]Script Menú de un solo personaje

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

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