[RGSS]Hp e Mp do heroi no Mapa

Fórum para a postagem de tutoriais e dúvidas de Rpg Maker XP, VX e VX Ace.
Responder
Darkjouse
Membro (Coronel)
Mensagens: 546
Registrado em: Dom Nov 20, 2005 8:56 pm
Maker Preferido: Rpg Maker 2003
Contato:

Mensagem por Darkjouse » Ter Ago 22, 2006 11:33 pm

[center]<span style='color:navy'><span style='font-size:21pt;line-height:100%'>Hp e Mp do heroi no Mapa</span></span>[/center]

Feito por: <span style='color:purple'>Guilink</span>
Formatado por: <span style='color:purple'>Darkjouse</span>
Nivel: <span style='color:purple'>Iniciante</span>
Ano: <span style='color:purple'>2006</span>

Esse é um Script iniciante, porem util, o que ele faz é com que mostre barras de HP e MP durante o jogo no mapa.
<span style='color:red'>
Para instala-lo, abra o editor de scripts, crie uma classe acima do Main e nomeie-o como HPSP_Barras, depois cole o seguinte script:
</span>

[codebox]
#-----------------------------------------------------------------
# ¦ Guilink's barras de HP & MP ¦
#-----------------------------------------------------------------
# Ultimo Update: 24/11/05
# - Adicionado barra de MP
#-----------------------------------------------------------------
$hp_bar = true
$sp_bar = true
#-----------------------------------------------------------------
class Scene_Map
#-----------------------------------------------------------------
alias sk_bar_main main
def main
@bars = Window_Sk_Bars.new
sk_bar_main
@bars.dispose if @bars != nil
end
#-----------------------------------------------------------------
alias sk_bar_update update
def update
@bars.update if $hp_bar or $sp_bar
sk_bar_update
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
class Window_Base < Window
#-----------------------------------------------------------------
def sk_initialize(font=0,size=22)
font = "Tahoma" if font == 0
self.contents = Bitmap.new(self.width-32,self.height-32)
self.contents.font.name = font
self.contents.font.size = size
end
#-----------------------------------------------------------------
def draw_text_outline(x,y,w,h,str,c=normal_color,a=0)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x-1,y,w,h,str,a)
self.contents.draw_text(x+1,y,w,h,str,a)
self.contents.draw_text(x,y+1,w,h,str,a)
self.contents.draw_text(x,y-1,w,h,str,a)
self.contents.font.color = c
self.contents.draw_text(x,y,w,h,str,a)
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
class Window_Sk_Bars < Window_Base
#-----------------------------------------------------------------
def initialize
super(444,-10,206,96)
sk_initialize("Arial")
self.opacity = 0
end
#-----------------------------------------------------------------
def update
self.contents.clear
actor = $game_party.actors[0]
if $hp_bar
draw_text_outline(0,0,64,26,"HP")
draw_actor_hp(actor,32,2)
end
if $sp_bar
draw_text_outline(0,24,64,26,"MP")
draw_actor_sp(actor,32,26)
end
end
#-----------------------------------------------------------------
def draw_actor_hp(actor,x,y)
width = 128
y += 4
w = width * actor.hp / actor.maxhp
# White border and black back
border_back(x,y,width)
# Generating the color
val = 255 * ((actor.hp*100)/actor.maxhp)
green = 255 - val/100
color = Color.new(224,green,0,255)
w_color = Color.new(255,green+32,96,255)
if green > 64 then green -= 32
elsif green > 128 then green -= 64 end
b_color = Color.new(172,green,0,255)
# Making the bar
make_bar(x,y,w,color,w_color,b_color)
end
#-----------------------------------------------------------------
def draw_actor_sp(actor,x,y)
width = 128
y += 4
w = width * actor.sp / actor.maxsp
# White border and black back
border_back(x,y,width)
# Generating the color
val = 255 * ((actor.sp*100)/actor.maxsp)
red = 255 - val/100
color = Color.new(red,0,224,255)
w_color = Color.new(red,64,255,255)
if red > 64 then red -= 32
elsif red > 128 then red -= 64 end
b_color = Color.new(red,0,172,255)
# Making the bar
make_bar(x,y,w,color,w_color,b_color)
end
#-----------------------------------------------------------------
def border_back(x,y,width)
white = Color.new(255,255,255,255)
black = Color.new(0,0,0,255)
# White border
self.contents.fill_rect(x+1, y-1, width-2, 1, white)
self.contents.fill_rect(x, y, width, 1, white)
self.contents.fill_rect(x-1, y+1, width+2, 9, white)
self.contents.fill_rect(x, y+10, width, 1, white)
self.contents.fill_rect(x+1, y+11, width-2, 1, white)
# Black back
self.contents.fill_rect(x+2, y, width-4, 1, black)
self.contents.fill_rect(x+1, y+1, width-2, 1, black)
self.contents.fill_rect(x, y+2, width, 7, black)
self.contents.fill_rect(x+1, y+9, width-2, 1, black)
self.contents.fill_rect(x+2, y+10, width-4, 1, black)
end
#-----------------------------------------------------------------
def make_bar(x,y,w,color,w_color,b_color)
self.contents.fill_rect(x+2, y, w-4, 1, w_color)
self.contents.fill_rect(x+1, y+1, w-2, 1, w_color)
self.contents.fill_rect(x, y+2, w, 7, color)
self.contents.fill_rect(x+1, y+9, w-2, 1, color)
self.contents.fill_rect(x+2, y+10, w-4, 1, b_color)
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
[/codebox]

<span style='color:green'><span style='font-size:12pt;line-height:100%'>Screns</span></span>

Imagem

Imagem

e isso ae pessoal.. sou iniciante ainda nos scripts, esse é simples e facil,porém pode ajudar alguém. Vlw

<span style='color:green'><span style='font-size:12pt;line-height:100%'>Créditos</span></span>

-SlipKnot (barra de HP)
-Guilink (por ter adicionado a barra de MP)
Editado pela última vez por Darkjouse em Ter Ago 22, 2006 11:34 pm, em um total de 1 vez.
<a href='http://imageshack.us' target='_blank'>Imagem</a>
tá podre a sing mas é que num tenho tempo pra fazer!!!

helivelton
Membro (Marechal)
Mensagens: 1350
Registrado em: Qua Fev 28, 2007 4:04 pm
Maker Preferido: Rpg Maker 2003

Mensagem por helivelton » Sáb Out 27, 2007 2:38 pm

To criando um Script mais ou menos assim.

Responder