¡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 XP / VX] HUD Dragón el Sáb Abr 30, 2011 6:30 pm

D.A.C.

avatar
Nombre: HUD Dragón
Autor: Br_lemes
Versión: Desconocida

Este script crea una HUD para un solo personaje que muestra los PV, PM, los puntos de Exp., el equipamiento y los objetos. Es totalmente personalizable (cambio de imagen o de opacidad) y compatible tanto para RMXP como para RMVX.

Script:
Código:
=begin
  Dragon HUD
  Autor: Br_lemes
  Traducción: D.A.C.

  Se permite copiar, modificar o distribuir este script siempre y cuando este
  mensaje se mantenga. No hay garantía, úsalo bajo tu propia responsabilidad.
=end

######################################################################
# CONFIGURACIONES - Modificar libremente, pero con cuidado.
######################################################################

$RMVX = $TEST != nil

$DHUD_DRAGON1 = true # mostrar dragón 1
$DHUD_DRAGON2 = true # mostrar dragón 2
 
# Lista con las ID de 4 (VX) o 6 (XP) objetos que se mostrarán
# Usar el número 0 para no mostrar nada.
$DHUD_ITEMS = [1, 4, 7, 9, 12, 13]

# Estado inicial del HUD
$DHUD_DEFAULT = true # true (verdadero) visible, false (falso) no visible.
$DHUD_SWITCH  = 1    # interruptor que activa o desactiva el HUD.
 
$DHUD_OPACITY = 215 # Opacidad de las imágenes.
 
$DHUD_Y = $RMVX ? 382 : 446 # Coordenada 'Y' de referencia.

#--------------------------------------------------------------------------
# SOLO XP - Colores de la barra PV / PM / Exp.
# 0 = Rojo
# 1 = Azul
# 2 = Verde
# 3 = Rosa
# 4 = Azul claro
# 5 = Amarillo
# 6 = Blanco
#--------------------------------------------------------------------------
$DHUD_HP_COLOR  = 0
$DHUD_SP_COLOR  = 1
$DHUD_EXP_COLOR = 2

######################################################################
# FIN DE LA CONFIGURACIÓN - No modificar nada a partir de aquí a menos que tengas
# conocimientos de RGSS / RGSS2.
######################################################################

$dhud_eq_needrefresh = true
$dhud_it_needrefresh = true

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
  if $RMVX
    alias dhud_change_equip change_equip
    def change_equip(equip_type, item, test = false)
      dhud_change_equip(equip_type, item, test)
      $dhud_eq_needrefresh = true
    end
  else
    alias dhud_equip equip
    def equip(equip_type, item)
      dhud_equip(equip_type, item)
      $dhud_eq_needrefresh = true
    end
  end
end

class Game_Party
  alias dhud_gain_item gain_item
  def gain_item(item, n, include_equip = false)
    $RMVX ? dhud_gain_item(item, n, include_equip) : dhud_gain_item(item, n)
    $dhud_it_needrefresh = true
  end
end

class Scene_Map
  alias dhud_main main
  def main
    if $RMVX then @windowskin = Cache.system("Window") end
    @hud_checkex = -1
    @hud_back = Sprite.new
    @hud_back.z += 1
    @hud_back.opacity = $DHUD_OPACITY
    @hud_dragon1 = Sprite.new
    @hud_dragon1.z += 2
    @hud_dragon1.opacity = $DHUD_OPACITY
    @hud_dragon2 = Sprite.new
    @hud_dragon2.z += 2
    @hud_dragon2.mirror = true
    @hud_dragon2.opacity = $DHUD_OPACITY
    @hud_dragon1.visible = $DHUD_DRAGON1
    @hud_dragon2.visible = $DHUD_DRAGON2
    if $RMVX
      @hud_back.bitmap = Cache.system("backVX")
      @hud_back.y = 416 - @hud_back.height
      @hud_dragon1.bitmap = Cache.system("dragon")
      @hud_dragon1.y = 416 - @hud_dragon1.height
      @hud_dragon2.bitmap = Cache.system("dragon")
      @hud_dragon2.x = 544 - @hud_dragon2.width
      @hud_dragon2.y = 416 - @hud_dragon2.height
    else
      @hud_back.bitmap = RPG::Cache.windowskin("backXP")
      @hud_back.y = 480 - @hud_back.bitmap.height
      @hud_dragon1.bitmap = RPG::Cache.windowskin("dragon")
      @hud_dragon1.y = 480 - @hud_dragon1.bitmap.height
      @hud_dragon2.bitmap = RPG::Cache.windowskin("dragon")
      @hud_dragon2.x = 640 - @hud_dragon2.bitmap.width
      @hud_dragon2.y = 480 - @hud_dragon2.bitmap.height
    end
    @hud_hp = Sprite.new
    @hud_hp.x = 70
    @hud_hp.y = $DHUD_Y + 2
    @hud_hp.z += 2
    @hud_hp.bitmap = Bitmap.new(83, 4)
    @hud_mp = Sprite.new
    @hud_mp.x = 70
    @hud_mp.y = $DHUD_Y + 10
    @hud_mp.z += 2
    @hud_mp.bitmap = Bitmap.new(83, 4)
    @hud_ex = Sprite.new
    @hud_ex.x = 70
    @hud_ex.y = $DHUD_Y + 18
    @hud_ex.z += 2
    @hud_ex.bitmap = Bitmap.new(83, 4)
    @hud_eq = Sprite.new
    @hud_eq.x = 186
    @hud_eq.y = $DHUD_Y
    @hud_eq.z += 2
    @hud_eq.bitmap = Bitmap.new(142, 24)
    @hud_it = Sprite.new
    @hud_it.x = 360
    @hud_it.y = $DHUD_Y
    @hud_it.z += 2
    if $RMVX
      @hud_it.bitmap = Bitmap.new(114, 24)
    else
      @hud_it.bitmap = Bitmap.new(172, 24)
    end
    @hud_it.bitmap.font.size = 14
    $dhud_eq_needrefresh = true
    $dhud_it_needrefresh = true
    refresh
    dhud_main
    @hud_back.dispose
    @hud_dragon1.dispose
    @hud_dragon2.dispose
    @hud_hp.dispose
    @hud_mp.dispose
    @hud_ex.dispose
    @hud_eq.dispose
    @hud_it.dispose 
  end
  def refresh
    hudswitch = (($DHUD_DEFAULT && !$game_switches[$DHUD_SWITCH]) or (!$DHUD_DEFAULT && $game_switches[$DHUD_SWITCH]))
    @hud_back.visible = hudswitch
    if hudswitch
      @hud_dragon1.visible = $DHUD_DRAGON1
      @hud_dragon2.visible = $DHUD_DRAGON2
    else
      @hud_dragon1.visible = false
      @hud_dragon2.visible = false
    end
    @hud_hp.visible = hudswitch
    @hud_mp.visible = hudswitch
    @hud_ex.visible = hudswitch
    @hud_eq.visible = hudswitch
    @hud_it.visible = hudswitch
    draw_hp
    draw_mp
    draw_ex
    draw_eq if $dhud_eq_needrefresh
    draw_it if $dhud_it_needrefresh
  end
  if $RMVX
    def text_color(n)
      x = 64 + (n % 8) * 8
      y = 96 + (n / 8) * 8
      return @windowskin.get_pixel(x, y)
    end
  else
    def bar_color(bitmap, x, y, w, color)
      case color
      when 0
        bitmap.fill_rect(x, y + 0, w, 1, Color.new(255, 96, 96, 255))
        bitmap.fill_rect(x, y + 1, w, 1, Color.new(255, 0, 0, 255))
        bitmap.fill_rect(x, y + 2, w, 1, Color.new(192, 0, 0, 255))
        bitmap.fill_rect(x, y + 3, w, 1, Color.new(128, 0, 0, 255))
      when 1
        bitmap.fill_rect(x, y + 0, w, 1, Color.new(96, 96, 255, 255))
        bitmap.fill_rect(x, y + 1, w, 1, Color.new(0, 0, 255, 255))
        bitmap.fill_rect(x, y + 2, w, 1, Color.new(0, 0, 192, 255))
        bitmap.fill_rect(x, y + 3, w, 1, Color.new(0, 0, 128, 255))
      when 2
        bitmap.fill_rect(x, y + 0, w, 1, Color.new(96, 255, 96, 255))
        bitmap.fill_rect(x, y + 1, w, 1, Color.new(0, 255, 0, 255))
        bitmap.fill_rect(x, y + 2, w, 1, Color.new(0, 192, 0, 255))
        bitmap.fill_rect(x, y + 3, w, 1, Color.new(0, 128, 0, 255))
      when 3
        bitmap.fill_rect(x, y + 0, w, 1, Color.new(255, 128, 255, 255))
        bitmap.fill_rect(x, y + 1, w, 1, Color.new(255, 0, 255, 255))
        bitmap.fill_rect(x, y + 2, w, 1, Color.new(192, 0, 192, 255))
        bitmap.fill_rect(x, y + 3, w, 1, Color.new(128, 0, 128, 255))
      when 4
        bitmap.fill_rect(x, y + 0, w, 1, Color.new(128, 255, 255, 255))
        bitmap.fill_rect(x, y + 1, w, 1, Color.new(0, 255, 255, 255))
        bitmap.fill_rect(x, y + 2, w, 1, Color.new(0, 192, 192, 255))
        bitmap.fill_rect(x, y + 3, w, 1, Color.new(0, 128, 128, 255))
      when 5
        bitmap.fill_rect(x, y + 0, w, 1, Color.new(255, 255, 128, 255))
        bitmap.fill_rect(x, y + 1, w, 1, Color.new(255, 255, 0, 255))
        bitmap.fill_rect(x, y + 2, w, 1, Color.new(192, 192, 0, 255))
        bitmap.fill_rect(x, y + 3, w, 1, Color.new(128, 128, 0, 255))
      when 6
        bitmap.fill_rect(x, y + 0, w, 1, Color.new(255, 255, 255, 255))
        bitmap.fill_rect(x, y + 1, w, 1, Color.new(255, 255, 255, 255))
        bitmap.fill_rect(x, y + 2, w, 1, Color.new(192, 192, 192, 255))
        bitmap.fill_rect(x, y + 3, w, 1, Color.new(128, 128, 128, 255))
      end
    end 
  end
  def draw_hp
    if $RMVX
      if @hud_checkhp == $game_party.members[0].hp then return end
      @hud_mp.bitmap.clear
      gw = 83 * $game_party.members[0].hp / $game_party.members[0].maxhp
      @hud_hp.bitmap.gradient_fill_rect(0, 0, gw, 4, text_color(20), text_color(21))
      @hud_checkhp = $game_party.members[0].hp
    else
      if @hud_checkhp == $game_party.actors[0].hp then return end
      @hud_mp.bitmap.clear
      gw = 83 * $game_party.actors[0].hp / $game_party.actors[0].maxhp
      bar_color(@hud_hp.bitmap, 0, 0, gw, $DHUD_HP_COLOR)
      @hud_checkhp = $game_party.actors[0].hp
    end
  end
  def draw_mp 
    if $RMVX
      if @hud_checkmp == $game_party.members[0].mp then return end
      @hud_mp.bitmap.clear
      gw = 83 * $game_party.members[0].mp / $game_party.members[0].maxmp
      @hud_mp.bitmap.gradient_fill_rect(0, 0, gw, 4, text_color(22), text_color(23))
      @hud_checkmp = $game_party.members[0].mp
    else
      if @hud_checkmp == $game_party.actors[0].sp then return end
      @hud_mp.bitmap.clear
      gw = 83 * $game_party.actors[0].sp / $game_party.actors[0].maxsp
      bar_color(@hud_mp.bitmap, 0, 0, gw, $DHUD_SP_COLOR)
      @hud_checkmp = $game_party.actors[0].sp
    end
  end
  def draw_ex
    if $RMVX
      if @hud_checkex == $game_party.members[0].next_exp then return end
      @hud_ex.bitmap.clear
      ex = $game_party.members[0].next_exp != 0 ? ex = $game_party.members[0].now_exp : ex = 1
      gw = 83 * ex / [$game_party.members[0].next_exp, 1].max
      @hud_ex.bitmap.gradient_fill_rect(0, 0, gw, 4, text_color(30), text_color(31))
      @hud_checkex = ex
    else
      if @hud_checkex == $game_party.actors[0].next_exp then return end
      @hud_ex.bitmap.clear
      ex = $game_party.actors[0].next_exp != 0 ? ex = $game_party.actors[0].now_exp : ex = 1
      gw = 83 * ex / [$game_party.actors[0].next_exp, 1].max
      bar_color(@hud_ex.bitmap, 0, 0, gw, $DHUD_EXP_COLOR)
      @hud_checkex = ex
    end
  end
  def draw_icon(contents, icon, x, y, enabled = true)
    if $RMVX
      bitmap = Cache.system("Iconset")
      rect = Rect.new(icon % 16 * 24, icon / 16 * 24, 24, 24)
      contents.blt(x, y, bitmap, rect, enabled ? 255 : 128)
    else
      bitmap = RPG::Cache.icon(icon)
      contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), enabled ? 255 : 128)
    end
  end
  def draw_eq
    @hud_eq.bitmap.clear
    if $RMVX
      actor = $game_party.members[0]
      draw_icon(@hud_eq.bitmap, $data_weapons[actor.weapon_id].icon_index, 0, 0, true) if actor.weapon_id != 0
      if actor.armor1_id != 0
        if actor.two_swords_style
          draw_icon(@hud_eq.bitmap, $data_weapons[actor.armor1_id].icon_index, 29, 0, true) if actor.armor1_id != 0
        else
          draw_icon(@hud_eq.bitmap, $data_armors[actor.armor1_id].icon_index, 29, 0, true) if actor.armor1_id != 0
        end
      end
      draw_icon(@hud_eq.bitmap, $data_armors[actor.armor2_id].icon_index, 58, 0, true) if actor.armor2_id != 0
      draw_icon(@hud_eq.bitmap, $data_armors[actor.armor3_id].icon_index, 87, 0, true) if actor.armor3_id != 0
      draw_icon(@hud_eq.bitmap, $data_armors[actor.armor4_id].icon_index, 116, 0, true) if actor.armor4_id != 0
    else
      actor = $game_party.actors[0]
      draw_icon(@hud_eq.bitmap, $data_weapons[actor.weapon_id].icon_name, 0, 0, true) if actor.weapon_id != 0
      draw_icon(@hud_eq.bitmap, $data_armors[actor.armor1_id].icon_name, 29, 0, true) if actor.armor1_id != 0
      draw_icon(@hud_eq.bitmap, $data_armors[actor.armor2_id].icon_name, 58, 0, true) if actor.armor2_id != 0
      draw_icon(@hud_eq.bitmap, $data_armors[actor.armor3_id].icon_name, 87, 0, true) if actor.armor3_id != 0
      draw_icon(@hud_eq.bitmap, $data_armors[actor.armor4_id].icon_name, 116, 0, true) if actor.armor4_id != 0
    end
    $dhud_eq_needrefresh = false
  end
  def draw_it
    @hud_it.bitmap.clear
    x = 0
    n = $RMVX ? 3 : 5
    for i in 0..n
      if $DHUD_ITEMS[i] != 0
        item = $data_items[$DHUD_ITEMS[i]]
        if $RMVX
          if item and $game_party.item_number(item) != 0
            draw_icon(@hud_it.bitmap, item.icon_index, x, 0, true)
            @hud_it.bitmap.draw_text(x + 16, 10, 12, 14, $game_party.item_number(item))
          end
        else
          if item and $game_party.item_number($DHUD_ITEMS[i]) != 0
            draw_icon(@hud_it.bitmap, item.icon_name, x, 0, true)
            @hud_it.bitmap.draw_text(x + 16, 10, 12, 14, $game_party.item_number($DHUD_ITEMS[i]).to_s)
          end
        end
      end
      x += 29
    end
    $dhud_it_needrefresh = false
  end
  alias dhud_update update
  def update
    dhud_update
    refresh
    @hud_back.update
    @hud_dragon1.update
    @hud_dragon2.update
    @hud_hp.update
    @hud_mp.update
    @hud_ex.update
    @hud_eq.update
    @hud_it.update
  end
end

Imágenes:
Spoiler:
RPG Maker XP


RPG Maker VX

Instrucciones:
  1. Copiar el script encima de 'Main'.
  2. Activar el interruptor número 1.
  3. Modificar el apartado:
    ######################################################################
    # CONFIGURACIONES - Modificar libremente, pero con cuidado.
    ######################################################################
  4. Añadir las siguientes imágenes en su lugar respectivo:
    RPG Maker XP - Carpeta Windowskin.
    Spoiler:

    RPG Maker VX - Carpeta System.
    Spoiler:




Si quieres verlo, haz click aquí.

#2 Re: [RPG Maker XP / VX] HUD Dragón el Lun Mayo 02, 2011 6:32 am

~Doku


Muy buen aporte D.A.C Ópalo Sonriente me servirá ahora que eh vuelto al XP (el 2003 fallaba cada rato e_e).

Me pregunto quien te dará makedas si tu eres el que las da xD, bueh espero que el administrador te de 30 por que es un script que nunca había visto.

Saludos ;D

#3 Re: [RPG Maker XP / VX] HUD Dragón el Dom Oct 26, 2014 5:12 pm

reyerta

avatar
ByWolph escribió:¡Excelente!, ¿hay alguna forma de desactivarlo dentro del juego?.

Tengo la misma pregunta, supongo que con un juego de eventos comunes se podria conseguir...

#4 Re: [RPG Maker XP / VX] HUD Dragón el Dom Oct 26, 2014 11:31 pm

SkavenOfDarkness

avatar
Si se mira el scrip está la variable
Código:
$DHUD_SWITCH  = 1    # interruptor que activa o desactiva el HUD.
solo es cambiarla mediante un evento en el momento que se desee, supongo que 0 es desactivado 1 activado.

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.