Comme le forum a été complètement suprimé j'ai voulut faire un petit script rien que pour vous.
Comme le plus simple et le plus rapide était ma spécialité, je vous ai fait un script d'affichage de coeur à la Zelda.
- Code:
-
module Zelda
module HUD
SCREEN = Sprite.new
SCREEN.z = 1
SCREEN.bitmap = Bitmap.new(640,480)
module_function
def update
SCREEN.bitmap.clear
Coeur.update
end
def clear
SCREEN.bitmap.clear
end
module Coeur
MAX = load_data('Data/Actors.rxdata')[0].final_level
MIN = load_data('Data/Actors.rxdata')[0].initial_level
LIGNES = 2
VIE_PAR_COEUR = 4
COOR_X = 10
COOR_Y = 10
HP = [[-1,-1],[-1,-1],[-1,-1],[-1,-1]]
module_function
def draw(i)
actor = $game_party.actors[i]
HP[i][0] = actor.hp
HP[i][1] = actor.maxhp
imgs = []
for j in 0..VIE_PAR_COEUR
imgs.push("coeur#{j}-#{VIE_PAR_COEUR}")
end
h = RPG::Cache.picture(imgs[0]).height
w =RPG::Cache.picture(imgs[0]).width
x = COOR_X
y = COOR_Y + i*(h*LIGNES+10)
hp = actor.hp
nb_coeur = 0
while(hp > VIE_PAR_COEUR)
SCREEN.bitmap.blt(x+nb_coeur%(MAX/LIGNES)*w,y+nb_coeur/(MAX/LIGNES)*h,
RPG::Cache.picture(imgs[VIE_PAR_COEUR]),Rect.new(0,0,w,h))
nb_coeur += 1
hp -= VIE_PAR_COEUR
end
if hp > 0
SCREEN.bitmap.blt(x+nb_coeur%(MAX/LIGNES)*w,y+nb_coeur/(MAX/LIGNES)*h,
RPG::Cache.picture(imgs[hp]),Rect.new(0,0,w,h))
nb_coeur += 1
end
if actor.maxhp != actor.hp
while(actor.maxhp/VIE_PAR_COEUR > nb_coeur)
SCREEN.bitmap.blt(x+nb_coeur%(MAX/LIGNES)*w,y+nb_coeur/(MAX/LIGNES)*h,
RPG::Cache.picture(imgs[0]),Rect.new(0,0,w,h))
nb_coeur += 1
end
end
end
def update
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
#if actor.hp != HP[i][0] or actor.maxhp != HP[i][1]
draw(i)
#end
end
end
end
end
end
class Scene_Map
alias mimiman_zeldacoeur_scenemap_update update
alias mimiman_zeldacoeur_scenemap_main main
def main
mimiman_zeldacoeur_scenemap_main
Zelda::HUD.clear
end
def update
Zelda::HUD.update
mimiman_zeldacoeur_scenemap_update
end
end
Vous êtes les seul à avoir cette version.
Quelque explication s'impose:
Ce script permet d'afficher les PV de tous les héros de l'équipe en coeurs sur la carte donc les modification suivante sont à faire sur tous les persos qui seront dans l'équipe!
Changé les niveau de départ et de fin pour le nombre de coeur que vous voulez au début et max.
Maintenant il faut choisir le nombre de PV que contient un coeur, normalement c'est 4, mais vous pouvez le changé dans le script
VIE_PAR_COEUR = 4
Gardé ce chiffre en mémoire et de nouveau dans la base de donnée créez une courbe de PV avec:
lvl1 : VIE_PAR_COEUR (soit 4 de base)
lvl99: VIE_PAR_COEUR*99 (soit 396 de base)
Je suis désolé, je n'ai pas fait gérer ça à mon script, mais j'essairais de le rajouter.
Voila, maintenant vous lancé le jeu, les coeurs s'affiche sur la carte ^^, mais il y a encore certaine chose à changé, seulement pour l'affichage, donc ce n'est pas obligatoire.
LIGNES = 2
Le nombre de ligne sur les lesqu'elles seront affiché les coeurs.
COOR_X = 10
COOR_Y = 10
Les coordonnées d'affichage, bon, je ne pense pas avoir à expliquer que c'est l'endroit où vous voulez que sa s'affiche.
Il ne reste plus qu'un chose, les ressources.
Il en faut autant que vous mettez de pv par coeur, je vais dire que c'est 4 pour donner un exemple.
coeur0-4
coeur1-4
coeur2-4
coeur3-4
coeur4-4
Le 0,1,2,3,4 représente la part rempli du coeur dans l'image (donc 0-4 vide, 4-4 plein)
Donc voila, je pense avoir tout dit!
PS:S'il y a des bugs prévenez moi.