¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3603 miembros registrados.
El último usuario registrado es Kraisher.

Nuestros miembros han publicado un total de 81429 mensajes en 11508 argumentos.
Navega con Google Chrome
[DESCARGA]

[RPG XP] Barras de HP y MP mejoradas

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

[RPG XP] Barras de HP y MP mejoradas

Mensaje por Khaizen el 2010-03-29, 08:33

Mejora el menu principal del juego añadiendo barras de PV, PM y experiencia.

Autor: Clive
Version: 2.1
Plataforma: RPG Maker XP

SCRIPT

Código:

#===========================================================================
# *** HP/MP/ATB/LimitBreak bar Slanted Style Compatible with RTAB ***
# *** Version 2.1
#---------------------------------------------------------------------------
# by Clive
# based on Cogwheel's Bars and Sephiroth Spawn's Slanted Bars.
#---------------------------------------------------------------------------
# ----- GREAT THANKS to DerVVulfman for solving the lag problem
#------This is a plug and play script so it should work without any problem!
#=============================================================================
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Get the current EXP
  #--------------------------------------------------------------------------
  def now_exp
        return @exp - @exp_list[@level]
  end
  #--------------------------------------------------------------------------
  # * Get the next level's EXP
  #--------------------------------------------------------------------------
  def next_exp
        return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
#  This class is for all in-game windows.
#==============================================================================
class Window_Base < Window 
  #==========================================================================
  # * Draw Slant Bar(by SephirothSpawn)
  #==========================================================================
  def draw_slant_bar(x, y, min, max, width = 152, height = 6,
          bar_color = Color.new(150, 0, 0, 255),
          end_color = Color.new(255, 255, 60, 255))
        for i in 0..height
          self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
        end
        for i in 1..(height - 1)
          r = 100 * (height - i) / height + 0 * i / height
          g = 100 * (height - i) / height + 0 * i / height
          b = 100 * (height - i) / height + 0 * i / height
          a = 255 * (height - i) / height + 255 * i / height
          self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
        end
        for i in 1..( (min.to_f / max.to_f) * width - 1)
          for j in 1..(height - 1)
                r = bar_color.red * (width - i) / width + end_color.red * i / width
                g = bar_color.green * (width - i) / width + end_color.green * i / width
                b = bar_color.blue * (width - i) / width + end_color.blue * i / width
                a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
                self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
          end
        end
  end
 
  #==========================================================================
  # * Draw HP
  #      actor : actor
  #      x      : draw spot x-coordinate
  #      y      : draw spot y-coordinate
  #      width : draw spot width
  #==========================================================================
  alias :draw_actor_hp_hpsp :draw_actor_hp
  def draw_actor_hp(actor, x, y, width = 144) 
        draw_slant_bar(x, y + 25, actor.hp, actor.maxhp, width, 6,
          bar_color = Color.new(150, 0,0, 255),
          end_color = Color.new(255, 255, 60, 255))
        draw_actor_hp_hpsp(actor, x, y, width)
  end
  #==========================================================================
  # * Draw SP
  #      actor : actor
  #      x      : draw spot x-coordinate
  #      y      : draw spot y-coordinate
  #      width : draw spot width
  #==========================================================================
  alias :draw_actor_sp_hpsp :draw_actor_sp
  def draw_actor_sp(actor, x, y, width = 144)
        draw_slant_bar(x, y + 25, actor.sp, actor.maxsp, width, 6,
          bar_color = Color.new(0, 0, 155, 255),
          end_color = Color.new(255, 255, 255, 255))
        draw_actor_sp_hpsp(actor, x, y, width)
  end
  #==========================================================================
  # * Draw EXP
  #      actor : actor
  #      x      : draw spot x-coordinate
  #      y      : draw spot y-coordinate
  #==========================================================================
  alias raz_bars_base_exp draw_actor_exp 
  def draw_actor_exp(actor, x, y)
        if actor.level == 99
          draw_slant_bar(x, y + 25, 1, 1, 130, 6, bar_color = Color.new(0, 100, 0, 255), end_color = Color.new(0, 255, 0, 255))
        else
          draw_slant_bar(x, y + 25, actor.now_exp, actor.next_exp, 130, 6, bar_color = Color.new(0, 100, 0, 255), end_color = Color.new(255, 255, 255, 255))
        end
        raz_bars_base_exp(actor, x, y)
  end
  #==========================================================================
  # * Draw Parameter
  #      actor : actor
  #      x      : draw spot x-coordinate
  #      y      : draw spot y-coordinate
  #      type  : parameter type (0-6)
  #==========================================================================
  alias raz_bars_base_parameter draw_actor_parameter 
  def draw_actor_parameter(actor, x, y, type)
        case type
        when 0
          para_color1 = Color.new(100,0,0)
          para_color2 = Color.new(255,0,0)
          para_begin = actor.atk
        when 1
          para_color1 = Color.new(100,100,0)
          para_color2 = Color.new(255,255,0)
          para_begin = actor.pdef
        when 2
          para_color1 = Color.new(100,0,100)
          para_color2 = Color.new(255,0,255)
          para_begin = actor.mdef
        when 3
          para_color1 = Color.new(50,0,100)
          para_color2 = Color.new(50,0,255)
          para_begin = actor.str
        when 4
          para_color1 = Color.new(0,100,0)
          para_color2 = Color.new(0,255,0)
          para_begin = actor.dex
        when 5
          para_color1 = Color.new(50,0,50)
          para_color2 = Color.new(255,0,255)
          para_begin = actor.agi
        when 6
          para_color1 = Color.new(0,100,100)
          para_color2 = Color.new(0,255,255)
          para_begin = actor.int
        end
        draw_slant_bar(x, y + 25, para_begin, 999, 155, 4, bar_color = para_color1,
          end_color = para_color2)
        raz_bars_base_parameter(actor, x, y, type)
  end
  #=========================================================================
  # * Draw Actor ATG
  #      actor : Actor
  #      x      : draw spot x-coordinate
  #      y      : draw spot y-coordinate
  #      width : draw spot width
  #=========================================================================
  def draw_actor_atg(actor, x, y, width = 144, height = 6)
        if @at_gauge == nil
          @plus_x = 0
          @rate_x = 0
          @plus_y = 16
          @plus_width = 0
          @rate_width = 100
          @width = @plus_width + width * @rate_width / 100
          @height = 6
          @align1 = 0
          @align2 = 1
          @align3 = 0
          grade1 = 1
          grade2 = 0
          color1 = Color.new(0, 0, 0)
          color2 = Color.new(255, 255, 192)
          color3 = Color.new(0, 0, 0, 192)
          color4 = Color.new(0, 0, 64, 192)
          color5 = Color.new(0, 64, 80)
          color6 = Color.new(255, 255, 255)#(0, 128, 160)
          color7 = Color.new(80, 0, 0)
          color8 = Color.new(255, 255,255) #(240,0,0)
          color9 = Color.new(80, 64, 32)
          color10 = Color.new(255, 255, 255) #(240, 192, 96)
          color11 = Color.new(80, 0, 64)
          color12 = Color.new(255,255, 255) #(240, 0, 192)
          gauge_rect_at(@width, @height, @align3, color1, color2, color3, color4,
                  color5, color6, color7, color8, color9, color10, color11, color12,
                  grade1, grade2)
        end
        if actor.rtp == 0
          at = (width + @plus_width) * actor.atp * @rate_width / 10000
        else
          at = (width + @plus_width) * actor.rt * @rate_width / actor.rtp / 100
        end
        if at > width
          at = width
        end
        case @align1
        when 1
          x += (@rect_width - width) / 2
        when 2
          x += @rect_width - width
        end
        case @align2
        when 1
          y -= @height / 2
        when 2
          y -= @height
        end
        for i in 0..height
          self.contents.fill_rect(x + 1.5 + i, y + 12 + height - i, width - 2 , 3,
                Color.new(50, 50, 50, 255))
        end
        for i in 1..(height - 1)
          r = 100 * (height - i) / height + 0 * i / height
          g = 100 * (height - i) / height + 0 * i / height
          b = 100 * (height - i) / height + 0 * i / height
          a = 255 * (height - i) / height + 255 * i / height
          self.contents.fill_rect(x + 1.5 + i, y + 12 + height - i, width - 3, 3,
                Color.new(r, b, g, a))
        end
        if @align3 == 0
          rect_x = 0
        else
          x += @width - at - 1
          rect_x = @width - at - 1
        end
        if at == width
          for i in 0..height
                self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y -i +
                @plus_y, @at_gauge, Rect.new(rect_x, @height * 2, at, @height))
          end
        else
          if actor.rtp == 0
                for i in 0..height
                  self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y- i +
                        @plus_y, @at_gauge,Rect.new(rect_x, @height, at, @height))
                end
          else
                if actor.spell == true
                  for i in 0..height
                        self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y - i +
                          @plus_y, @at_gauge, Rect.new(rect_x, @height * 3, at, @height))
                  end
                else
                  for i in 0..height                     
                        self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y - i +
                          @plus_y, @at_gauge, Rect.new(rect_x, @height * 4, at, @height))
                  end
                end
          end
        end
  end
  end

INSTRUCCIONES

Pegalo sobre MAIN.

SCREEN

Spoiler:



Saludos, Khaizen

Khaizen
Principiante
Principiante

0/3

Créditos 1460

Gracias : 4

Volver arriba Ir abajo

Re: [RPG XP] Barras de HP y MP mejoradas

Mensaje por Ribbu el 2010-03-29, 08:51

Le da más realismo al proyecto.

Excelente aporte, como siempre.

_________________
¡DESCARGA ARRYN!

Ribbu
Administrador
Administrador



Créditos 10083

Gracias : 85

http://www.mundo-maker.com

Volver arriba Ir abajo

Re: [RPG XP] Barras de HP y MP mejoradas

Mensaje por Clair de Lune el 2010-04-05, 21:13

Muy buen aporte, las barras también salen en las batallas. Warrior

Clair de Lune
Soñador
Soñador

0/3

Créditos 109

Gracias : 1

Volver arriba Ir abajo

Re: [RPG XP] Barras de HP y MP mejoradas

Mensaje por mag744 el 2010-05-27, 22:29

ah, buenisimo graxias!

mag744
Iniciado
Iniciado

0/3

Créditos 41

Gracias : 2

Volver arriba Ir abajo

Re: [RPG XP] Barras de HP y MP mejoradas

Mensaje por mag744 el 2010-05-27, 22:34

oops, perdon por decirlo pero hay un error, para que a mi me funcionara tuve que cambiar el nombre de la plantilla a chara 1. , obviamente no te estoy criticando, esta buenissimo igual, solo lo digo para corregir, si esto pasa solo conmigo, por favor expliquenme...

mag744
Iniciado
Iniciado

0/3

Créditos 41

Gracias : 2

Volver arriba Ir abajo

Re: [RPG XP] Barras de HP y MP mejoradas

Mensaje por SagahonArturo el 2011-11-13, 05:58

Esta genial pero tengo una petición, se podría hacer que en la batalla la barra sea más transparente?

O alguna forma para que no se vea tan evidente para que se alcance a ver el battler?

Spoiler:



Me ha gustado mucho y me gustaría usarla, saludos.

SagahonArturo
Principiante
Principiante

0/3

Créditos 131

Gracias : 5

http://www.gamejolt.com/freeware/games/rpg/mundo-abismal/9212/

Volver arriba Ir abajo

Re: [RPG XP] Barras de HP y MP mejoradas

Mensaje por orochii el 2011-11-13, 17:30

Busca todas las líneas que digan algo como esto:
Código:
bar_color = Color.new(150, 0, 0, 255),
          end_color = Color.new(255, 255, 60, 255)
Hay cuatro números, el último número (un 255 en todos los casos creo) es el valor alpha (transparencia) del color usado para dibujar la barra. Juega con él, en todas las líneas bar_color y end_color (puedes poner por ejemplo 128 en lugar de 255 en todos para transparencia de 50%).

Es bucear un poquito en el script, pero anda no es algo difícil :P,
OZ

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6073

Gracias : 271

http://ragnarokrproject.com/

Volver arriba Ir abajo

Re: [RPG XP] Barras de HP y MP mejoradas

Mensaje por SagahonArturo el 2011-11-13, 17:43

Gracias Orochii!!, ya lo hice mas o menos me quedo.

pero lo que quiero (mas bien intente decir, pero no fui claro) es de sobreponer el imagen del battler encima de las barras pero creo que va ser mucho rollo.

pero gracias por tu respuesta, saludos.

SagahonArturo
Principiante
Principiante

0/3

Créditos 131

Gracias : 5

http://www.gamejolt.com/freeware/games/rpg/mundo-abismal/9212/

Volver arriba Ir abajo

Re: [RPG XP] Barras de HP y MP mejoradas

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

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