¡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 [VX] Menu Basico Mejorado [XV] el Miér Mayo 18, 2011 1:56 am

~Doku


-Nombre Del Script: Menu Basico Mejorado

-Rpg Maker: VX
-Introducción: Cambia el menu por defecto a uno mejor con mas detalles Ópalo Sonriente
-Características:

-Muestra el nombre del mapa, muestra el tiempo que llevas jugando, muestra el chara y el equipamento del personaje, muestra la experiencia, vida, nivel y magia, muestra el dinero también Ópalo Contento.

-Screen:



Script:

Código:
#################################################

# Mog Basic Menu Plus V 1.0 #

##################################################

# By Moghunter

# revu par Berka

##################################################

##############

# Game_Actor #

##############

class Game_Actor < Game_Battler

  def now_exp

    return @exp - @exp_list[@level]

  end

  def next_exp

    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0

  end

end

###############

# Window_Base #

###############

class Window_Base < Window

  def draw_item_icon(item, x, y)

    if item != nil

      draw_icon(item.icon_index, x, y)

    end

  end

  def draw_actor_level_menu(actor, x, y)

    self.contents.font.color = system_color

    self.contents.draw_text(x, y, 32, WLH, Vocab::level_a)

    self.contents.font.color = normal_color

    self.contents.draw_text(x + 16, y, 24, WLH, actor.level, 2)

  end

  def draw_actor_class_menu(actor, x, y)

    self.contents.font.color = normal_color

    self.contents.draw_text(x, y, 85, WLH, actor.class.name)

  end

  def exp_gauge_color1

    return text_color(30)

  end

  def exp_gauge_color2

    return text_color(31)

  end

  def draw_actor_exp_meter(actor, x, y, width = 100)

    if actor.next_exp != 0

      exp = actor.now_exp

    else

      exp = 1

    end

    gw = width * exp / [actor.next_exp, 1].max

    gc1 = exp_gauge_color1

    gc2 = exp_gauge_color2

    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)

    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)

    self.contents.font.color = system_color

    self.contents.draw_text(x, y, 30, WLH, "Exp")

    self.contents.font.color = normal_color

    xr = x + width

    self.contents.draw_text(xr - 60, y, 60, WLH, actor.next_rest_exp_s, 2)

  end

end

#####################

# Window_MenuStatus #

#####################

class Window_MenuStatus < Window_Selectable

  def initialize(x, y)

    super(x, y, 384, 416)

    refresh

    self.active = false

    self.index = -1

  end

  def refresh

    self.contents.clear

    @item_max = $game_party.members.size

    for actor in $game_party.members

      x = 104

      y = actor.index * 96 + WLH / 2

      draw_item_icon($data_weapons[actor.weapon_id], x -92, y + 20)

      if actor.two_swords_style

        draw_item_icon($data_weapons[actor.armor1_id], x -35, y + 20)

      else

        draw_item_icon($data_armors[actor.armor1_id], x -35, y + 20)

      end

      draw_actor_graphic(actor, x -50, y +46)

      draw_actor_name(actor, x, y)

      draw_actor_class_menu(actor, x + 120, y)

      draw_actor_level_menu(actor, x + 200, y)

      draw_actor_state(actor, x, y + WLH * 2)

      draw_actor_hp(actor, x + 120, y + WLH * 1)

      draw_actor_mp(actor, x + 120, y + WLH * 2)

      draw_actor_exp_meter(actor, x , y + WLH * 1)

    end

  end

  def update_cursor

  if @index < 0

    self.cursor_rect.empty

  elsif @index < @item_max

    self.cursor_rect.set(0, @index * 96, contents.width, 96)

  elsif @index >= 100

    self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)

  else

    self.cursor_rect.set(0, 0, contents.width, @item_max * 96)

  end

end

end

############

# Game_Map #

############

class Game_Map

  attr_reader :map_id

  def mpname

    $mpname = load_data("Data/MapInfos.rvdata")

    $mpname[@map_id].name

  end

end

###############

# Window_Time #

###############

class Window_Mapname < Window_Base

  def initialize(x, y)

    super(x, y, 160, WLH + 70)

    refresh

  end

  def refresh

    self.contents.clear

    self.contents.font.color = system_color

    self.contents.draw_text(4, 0, 120, 32, "Lieu :")

    self.contents.font.color = normal_color

    self.contents.draw_text(4, 32, 120, 32, $game_map.mpname.to_s, 2)

  end

end

###############

# Window_Time #

###############

class Window_Time < Window_Base

  def initialize(x, y)

    super(x, y, 160, WLH + 66)

    refresh

  end

  def refresh

    self.contents.clear

    self.contents.font.color = system_color

    self.contents.draw_text(4, 0, 120, 32, "Temps de Jeu")

    @total_sec = Graphics.frame_count / Graphics.frame_rate

    hour = @total_sec / 60 / 60

    min = @total_sec / 60 % 60

    sec = @total_sec % 60

    text = sprintf("%02d:%02d:%02d", hour, min, sec)

    self.contents.font.color = normal_color

    self.contents.draw_text(4, 32, 120, 32, text, 2)

  end

  def update

    super

    if Graphics.frame_count / Graphics.frame_rate != @total_sec

      refresh

    end

  end

end

##############

# Scene_Menu #

##############

class Scene_Menu

  def main

    start

    perform_transition

    Input.update

    loop do

      Graphics.update

      Input.update

      update

      break if $scene != self

    end

    Graphics.update

    pre_terminate

    Graphics.freeze

    terminate

  end

  def initialize(menu_index = 0)

    @menu_index = menu_index

  end

  def create_menu_background

    @menuback_sprite = Sprite.new

    @menuback_sprite.bitmap = $game_temp.background_bitmap

    @menuback_sprite.color.set(16, 16, 16, 128)

    update_menu_background

  end

  def create_menu_background

    @menuback_sprite = Sprite.new

    @menuback_sprite.bitmap = $game_temp.background_bitmap

    @menuback_sprite.color.set(16, 16, 16, 128)

    update_menu_background

  end

  def dispose_menu_background

    @menuback_sprite.dispose

  end

  def update_menu_background

  end

  def perform_transition

    Graphics.transition(10)

  end

  def start

    create_menu_background

    create_command_window

    @gold_window = Window_Gold.new(0, 360)

    @status_window = Window_MenuStatus.new(160, 0)

    @playtime_window = Window_Time .new(0, 270)

    @mapname_window = Window_Mapname.new(0, 176)

    @status_window.openness = 0

    @playtime_window.openness = 0

    @mapname_window.openness = 0

    @gold_window.openness = 0

    @status_window.open

    @playtime_window.open

    @mapname_window.open

    @gold_window.open

  end

  def pre_terminate

    @status_window.close

    @playtime_window.close

    @mapname_window.close

    @gold_window.close

    @command_window.close

    begin

      @status_window.update

      @playtime_window.update

      @mapname_window.update

      @gold_window.update

      @command_window.update

      Graphics.update

    end until @status_window.openness == 0

  end

  def terminate

    dispose_menu_background

    @command_window.dispose

    @gold_window.dispose

    @status_window.dispose

    @playtime_window.dispose

    @mapname_window.dispose

  end

  def update

    update_menu_background

    @command_window.update

    @gold_window.update

    @status_window.update

    @mapname_window.update

    @playtime_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

    @command_window.openness = 0

    @command_window.open

    if $game_party.members.size == 0

      @command_window.draw_item(0, false)

      @command_window.draw_item(1, false)

      @command_window.draw_item(2, false)

      @command_window.draw_item(3, false)

    end

    if $game_system.save_disabled

      @command_window.draw_item(4, false)

    end

  end

  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

        $scene = Scene_Item.new

      when 1,2,3

        start_actor_selection

      when 4

        $scene = Scene_File.new(true, false, false)

      when 5

        $scene = Scene_End.new

      end

    end

  end

  def start_actor_selection

    @command_window.active = false

    @status_window.active = true

    if $game_party.last_actor_index < @status_window.item_max

      @status_window.index = $game_party.last_actor_index

    else

      @status_window.index = 0

    end

  end

  def end_actor_selection

    @command_window.active = true

    @status_window.active = false

    @status_window.index = -1

  end

  def update_actor_selection

    if Input.trigger?(Input::B)

      Sound.play_cancel

      end_actor_selection

    elsif Input.trigger?(Input::C)

      $game_party.last_actor_index = @status_window.index

      Sound.play_decision

      case @command_window.index

      when 1

        $scene = Scene_Skill.new(@status_window.index)

      when 2

        $scene = Scene_Equip.new(@status_window.index)

      when 3

        $scene = Scene_Status.new(@status_window.index)

      end

    end

  end

end

$mogscript = {} if $mogscript == nil

$mogscript["basic_menu_plus"] = true

-Instrucciones:

-Pegar encima del main.

-Créditos: Moghunter

#2 Re: [VX] Menu Basico Mejorado [XV] el Miér Mayo 18, 2011 5:48 am

ejqs19

avatar
mmmm, me gusta, me gusta, hehe buen aporte amigo, creo que lo usare en mi juego Ópalo Contento

#3 Re: [VX] Menu Basico Mejorado [XV] el Vie Jul 06, 2012 8:35 am

Moulx

avatar
esta bueno el menu

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.