Forum sur RPG Maker.
 
AccueilPortailGalerieRechercherFAQS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Affichage des HP SP sur la map

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Valout
Moderateur
Moderateur
avatar

Messages : 55
Date d'inscription : 27/08/2007
Age : 23
Localisation : Mars city complexe RRTS

MessageSujet: Affichage des HP SP sur la map   Lun 22 Oct - 22:37

Ce script va vous permettre se creer une barre de Hp et SP !




Cette image est à mettre dans le dossier "Pictures" de votre projet.


Installation : Ouvrez l'éditeur de script ( F11 ) et faites un nouveau script au dessus de "Main", nommez le "Scene_Map" et collez le code ci-dessous.

Utilisation : Pour afficher l'image, faites "afficher une image" grâce au commande d'évènement et sélectionner l'image prit ci-dessus. (selectionner haut-gauche quand vous afficher l'image)

Inutile de faire des changements dans les coordonnées ...


Code :
Code:
#-----------------------------------------------------------------
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=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(50,-8,206,96)
sk_initialize("Arial")
self.opacity = 0
end
#-----------------------------------------------------------------
def update
self.contents.clear
actor = $game_party.actors[0]
draw_actor_hp(actor,30,0)
draw_actor_sp(actor,40,0)
end
#-----------------------------------------------------------------
def draw_actor_hp(actor,x,y)
width = 128
y += 4
white = Color.new(255,255,255,255)
black = Color.new(98,51,0,255)
w = width * actor.hp / actor.maxhp
# 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)
# 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
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
#-----------------------------------------------------------------
#-----------------------------------------------------------------
def draw_actor_sp(actor,x,y)
width = 128
y += 20
white = Color.new(255,255,255,255)
black = Color.new(98,51,0,255)
w = width * actor.sp / actor.maxsp
# 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)
# Generating the color
val = 255 * ((actor.sp*100)/actor.maxsp)
blue = - val/100
color = Color.new(224,blue,0,255)
w_color = Color.new(255,blue+32,96,255)
if blue > 64 then blue -= 32
elsif blue > 128 then blue -= 64 end
b_color = Color.new(172,blue,0,255)
# Making the bar
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
#-----------------------------------------------------------------

screen :




Si vous voulez voir le rond a gauche il va falloir faire un evenement en processus parallele et afficher l'image !

Se script est de preference a utiliser sur un jeu de plateforme apres c'est a vous de voir, j'espere qu'il vous plaira !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
Affichage des HP SP sur la map
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Affichage saturn jap
» Comment enlever l'affichage quand le lapin [resolu]
» Problème d'affichage NEO GEO (MVS)
» Panneau d'affichage - Campagne
» Vos options d'affichage pour Blood Bowl

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Metal Gear RPG :: RPG Maker XP :: Scripts :: Script pour Map-
Sauter vers: