¡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 [RM XP] PV Y PM EN MAPA el Mar Mayo 27, 2014 4:39 am

Reputación del mensaje :100% (1 voto)

triforce2424

avatar
muy buenas chicos y chicas makers hoy como my primer aporte les traigo un script para que se vea la barra de puntos de vida y
la barra de puntos de magia en la pantalla de juego.


yo no lo e provado para rpg vx ace asi que no se si se pueda para vx ace.

INSTRUCCIONES:

copiar todo el script y ponerlo arriba de main.

CODIGO:
#Script Creado por UliK
#-----------------------------------------------------------------
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
sk_bar_update
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
class Window_Base < Window
#-----------------------------------------------------------------
def sk_initialize(font=0,size=15)
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,-8,206,96)
sk_initialize("Arial")
self.opacity = 0
end
#-----------------------------------------------------------------
def update
self.contents.clear
actor = $game_party.actors[0]
draw_text_outline(5,-6,64,26,"HP")
draw_actor_hp(actor,30,0)
end
#-----------------------------------------------------------------
def draw_actor_hp(actor,x,y)
width = 128
y += 4
white = Color.new(255,255,255,255)
black = Color.new(0,0,0,255)
w = width * actor.hp / actor.maxhp
# White border
self.contents.fill_rect(x+1, y-1, width-2, 5, white)

# Black back
self.contents.fill_rect(x+2, y, width-4, 3, black)

# 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
# Making the bar
self.contents.fill_rect(x+2, y, w-4, 3, w_color)
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------

#-----------------------------------------------------------------
class Scene_Map
#-----------------------------------------------------------------
alias sk_bar_main2 main
def main
@bars2 = Window_mk_Bars.new
sk_bar_main2
@bars2.dispose if @bars2 != nil
end
#-----------------------------------------------------------------
alias sk_bar_update2 update
def update
@bars2.update
sk_bar_update2
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------
class Window_Base < Window
#-----------------------------------------------------------------
def sk_initialize2(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_mk_Bars < Window_Base
#-----------------------------------------------------------------
def initialize
super(444,5,206,96)
sk_initialize("Arial")
self.opacity = 0
end
#-----------------------------------------------------------------
def update
self.contents.clear
actor = $game_party.actors[0]
draw_text_outline(5,-6,64,26,"SP")
draw_actor_hp(actor,30,0)
end
#-----------------------------------------------------------------
def draw_actor_hp(actor,x,y)
width = 128
y += 4
white = Color.new(255,255,255,255)
black = Color.new(0,0,0,255)
w = width * actor.sp / actor.maxsp
# White border
self.contents.fill_rect(x+1, y-1, width-2, 5, white)

# Black back
self.contents.fill_rect(x+2, y, width-4, 3, black)

# Generating the color
val = 255 * ((actor.sp*100)/actor.maxsp)
green = 255 - val/100
color = Color.new(224,green,0,255)
w_color = Color.new(150,green-32,255,255)
if green > 64 then green -= 32
elsif green > 128 then green -= 64 end
# Making the bar
self.contents.fill_rect(x+2, y, w-4, 3, w_color)
end
#-----------------------------------------------------------------
end
#-----------------------------------------------------------------

espero que les guste mi aporte, alguna duda dejenmelo en los comentarios.

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.