(message subliminal : soyez indulgents c'est le premier script que je "publie")Tout d'abord, comme tout bon script (car
c'est un bon script...) il se doit d'être collé au-dessus de main, avec le nom que vous voulez. Ensuite il est difficilement utilisable sans les instructions donc lisez les bien !
- Code:
-
#======================================================================
=begin
Script Jauge avancé v1.0 par Bahamut 1.2
Ce script permet l'ajout d'une ou plusieurs jauges paramétrables
Scripts et infos disponibles sur : http://zenithrpg.free.fr
----------------------------------------------------------------------------------------------------------------------------------
Instructions détaillées sur http://zenithrpg.free.fr
ou le forum http://zenith-rpg.forumotion.com
----------------------------------------------------------------------------------------------------------------------------------
* Pour créer une jauge utilisez :
$Jauge = Jauge.new(x, y, z, opacité, origine, variable, image, mode, titre)
(vous pouvez créer plusieurs jauges en remplaçant $Jauge par autre chose -$Jauge_1, $Jauge_2, ...-)
* Pour mettre à jour votre jauge utilisez
$Jauge.update
Il faut mettre à jour une fois pour que la jauge s'affiche.
* Pour effacer votre jauge faites
$Jauge.effacer
----------------------------------------------------------------------------------------------------------------------------------
* Notes :
-Si vous affichez une variable, sa valeur peut dépasser 100%, limage de la jauge sera aggrandie normalement. Cependant il se peut alors qu'elle dépasse de la fenetre s'il y en a une. Mieux vaut choisir une image de jauge pleine à 100% car la taille de la fenêtre s'y adapte.
-Utilisez les jauges verticales sans fenêtre (pas de "mode") car elles sont conçues pour des jauges horizontales.
-Vous pouvez changer quelques parametres dans les lignes 13 à 16
-Si vous utilisez une valeur de z supérieure à 100 la jauge s'affichera par dessus le menu.
-Pour des questions complémentaires ou des suggestions venez sur les forums de Zenith : http://zenith-rpg.forumotion.com
* Améliorations à venir :
-Gestion séparée de la transparence de la jauge et de la fenetre
-Affichage d'un fond de jauge
=end
#======================================================================
class Jauge
#==================================
#Initialize
#==================================
def initialize(x, y, z, op, origine, variable, image, mode, titre)
#===================
$jauge_police = $fontface #Changer la police - Par défaut : $fontface
$jauge_police_titre = $fontface #Changer la police des titres - Par défaut : $fontface
$jauge_windowskin = $game_system.windowskin_name #Changer le windowskin - Par défaut : $game_system.windowskin_name
$jauge_police_taille = $fontsize #Changer la taille de police - Par défaut : $fontsize
#===================
if @jauge != nil
@jauge.effacer
end
@jauge = Sprite.new
@jauge.bitmap = RPG::Cache.picture(image)
@jauge.visible = false
@jauge.z = z
@jauge.opacity = op
@jauge.x = x
@jauge.y = y
case origine
when "droite"
@jauge.x += @jauge.bitmap.width
when "bas"
@jauge.y += @jauge.bitmap.height
when "v_centre"
@jauge.y += @jauge.bitmap.height / 2
when "h_centre"
@jauge.x += @jauge.bitmap.width / 2
end
$jauge_mode = mode #Simple, complexe, % (ou rien)
if $jauge_mode == "simple" || $jauge_mode == "complexe" || $jauge_mode == "%"
largeur_jauge = @jauge.bitmap.width
hauteur_jauge = @jauge.bitmap.height
@jauge.x += 14
@jauge.y += 50
@fenetre_jauge = Window_jauge.new(x, y, z, op, variable, titre, largeur_jauge, hauteur_jauge )
end
@x = @jauge.x
@y = @jauge.y
@z = z
@op = op
@origine = origine
@variable = variable
@image = image
@jauge.update
end
#==================================
#Update
#==================================
def update
if @jauge != nil
@jauge.bitmap.dispose
@jauge = Sprite.new
@jauge.bitmap = RPG::Cache.picture(@image)
#Variable~~~~~~~~~~~~~~
case @variable
when "HP1"
pourcent = $game_actors[1].hp * 100 / $game_actors[1].maxhp
$chiffre_1 = $game_actors[1].hp
$chiffre_2 = $game_actors[1].maxhp
when "HP2"
pourcent = $game_actors[2].hp * 100 / $game_actors[2].maxhp
$chiffre_1 = $game_actors[2].hp
$chiffre_2 = $game_actors[2].maxhp
when "HP3"
pourcent = $game_actors[3].hp * 100 / $game_actors[3].maxhp
$chiffre_1 = $game_actors[3].hp
$chiffre_2 = $game_actors[3].maxhp
when "HP4"
pourcent = $game_actors[4].hp * 100 / $game_actors[4].maxhp
$chiffre_1 = $game_actors[4].hp
$chiffre_2 = $game_actors[4].maxhp
when "SP1"
pourcent = $game_actors[1].sp * 100 / $game_actors[1].maxsp
$chiffre_1 = $game_actors[1].sp
$chiffre_2 = $game_actors[1].maxsp
when "SP2"
pourcent = $game_actors[2].sp * 100 / $game_actors[2].maxsp
$chiffre_1 = $game_actors[2].sp
$chiffre_2 = $game_actors[2].maxsp
when "SP3"
pourcent = $game_actors[3].sp * 100 / $game_actors[3].maxsp
$chiffre_1 = $game_actors[3].sp
$chiffre_2 = $game_actors[3].maxsp
when "SP4"
pourcent = $game_actors[4].sp * 100 / $game_actors[4].maxsp
$chiffre_1 = $game_actors[4].sp
$chiffre_2 = $game_actors[4].maxsp
else
pourcent = $game_variables[@variable]
$chiffre_1 = pourcent
end
if $jauge_mode == "%"
$chiffre_1 = pourcent
end
#Orientation + origine~~~~~
case @origine
when "gauche"
@jauge.zoom_x = pourcent/100.0
when "droite"
@jauge.zoom_x = pourcent/100.0
@jauge.ox = @jauge.bitmap.width
when "bas"
@jauge.zoom_y = pourcent/100.0
@jauge.oy = @jauge.bitmap.height
when "haut"
@jauge.zoom_y = pourcent/100.0
when "h_centre"
@jauge.zoom_x = pourcent/100.0
@jauge.ox = @jauge.bitmap.width / 2
when "v_centre"
@jauge.zoom_y = pourcent/100.0
@jauge.oy = @jauge.bitmap.height / 2
end
#~~~~~~~~~~~~~~~~~~~
@jauge.x = @x
@jauge.y = @y
@jauge.z = @z
@jauge.opacity = @op
@jauge.bitmap = RPG::Cache.picture(@image)
#~~~~~~~~~~~~~~~~~~~
if @fenetre_jauge != nil
@fenetre_jauge.refresh
end
end
end
#==================================
#Effacer
#==================================
def effacer
if @jauge != nil
@jauge.bitmap.dispose
end
if @fenetre_jauge != nil
@fenetre_jauge.dispose
end
end
end
#==================================
#==================================
#Fenêtre
#==================================
#==================================
class Window_jauge < Window_Base
def initialize(x, y, z, op, variable, titre, largeur_jauge, hauteur_jauge )
@x = x
@y = y
@variable = variable
@titre = titre
@largeur_jauge = largeur_jauge
@hauteur_jauge = hauteur_jauge
@largeur = largeur_jauge + 28
@hauteur = $jauge_police_taille + hauteur_jauge + 60
if $jauge_mode == "complexe" || $jauge_mode == "%" #affichage des chiffres en mode "complexe"
@hauteur += $jauge_police_taille + 5
end
#==================================
super(@x, @y, @largeur, @hauteur)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $jauge_police_titre
self.contents.font.size = $jauge_police_taille
self.z = z -1
self.opacity = op
self.visible = false
self.windowskin = RPG::Cache.windowskin($jauge_windowskin)
end
def refresh
self.visible = true
#chiffres : les chiffres à afficher (%age pr variable du jeu ou HP/HPMax etc)
if $jauge_mode == "%"
@chiffres = $chiffre_1.to_s + " % "
else
case @variable
when "HP1", "HP2", "HP3", "HP4", "SP1", "SP2", "SP3", "SP4"
@chiffres = $chiffre_1.to_s + " / " + $chiffre_2.to_s
else
@chiffres = $chiffre_1.to_s + " % "
end
end
#-----------------------------------------------------------
self.contents.clear
y_chiffres = @hauteur_jauge + $jauge_police_taille + 15
self.contents.font.name = $jauge_police_titre
self.contents.font.size = $jauge_police_taille
self.contents.font.color = system_color
self.contents.draw_text(5, 5, @largeur, $jauge_police_taille, @titre)
if $jauge_mode == "complexe" || $jauge_mode == "%" #affichage des chiffres en mode "complexe"
self.contents.font.name = $jauge_police
self.contents.font.size = $jauge_police_taille
self.contents.font.color = normal_color
self.contents.draw_text(5, y_chiffres, @largeur, $jauge_police_taille, @chiffres)
end
end
end
InstructionsPour créer une jauge utilisez :
- Code:
-
$Jauge = Jauge.new(x, y, z, opacité, origine, variable, image, mode, titre)
Vous pouvez ainsi créer autant de jauges que vous le désirez, si vous changer le nom de $Jauge. Vous pouvez faire par exemple $Jauge_1, $Jauge_2 etc...(pas d'espaces dans les noms).
Remplacer ensuite chacun des arguments de la parenthese. Voici par quoi vous devez remplacer chaque chose :
x : Position, sur l'axe des abscisses, de la jauge ou de la fenetre, suivant le mode (voir suite). Indiquez les coordonnées du pixel supérieur gauche de l'image de la jauge pleine. Cela veut
dire qu'une fois pleine, le pixel le plus en haut à gauche de l'image soit aux coordonnées indiquées (comme pour une image normale).
y : Position, sur l'axe des ordonnées, de la jauge ou de la fenetre, suivant le mode (voir suite).
z : Profondeur de l'image. Utilisez un nombre supérieur à 100 si vous choisissez un mode spécifique (voir suite)
opacité : Mettez une valeur de 0 (invisible) à 255 (totalement opaque). Cette valeur correspond à l'opacité de la jauge et éventuellement de la fenêtre qui l'accompagne.
origine : Le "point de départ" de la jauge. Choissisez entre "gauche", "droite", "bas", "haut", "v_centre" et h_centre" (mettez bien les guillemets). Par exemple si vous choisissez "gauche" la
jauge se replira de la gauche vers la droite (c'est une jauge classique) ; les valeurs "bas" et "haut" servent pour des jauges verticales. "v_centre" correspond à une jauge qui s'"étend" verticalement à mesure qu'elle se remplit. "h_centre" est l'equivalent en jauge horizontale.
variable : Deux solutions sont possibles. Si vous mettez un chiffre, la jauge représentera la valeur de la variable de ce numéro par rapport à 100. Par exemple si vous mettez 1, la jauge représentera la valeur de la variable n°1, elle sera remplie à 100% si cette variable vaut 100.
Vous pouvez également mettre "HP1", HP2", "HP3, "HP4" pour afficher les HP des personnages 1 à 4 ou "SP1", "SP2", "SP3", "SP4" pour les SP (avec les guillemets !).
image : Choisissez l'image qui sera utilisée pour la jauge. Cette image doit représenter la jauge pleine et etre placée dans le dossier Pictures du jeu. Mettez bien les guillemets et l'extension du fichier (aucune restriction de taille ni de format). Par exemple "jauge.png"
mode : Il existe différents modes d'affichage. Pour choisir de n'afficher que la jauge, laissez des guillemets vides ou mettez n'importe quoi à l'intérieur. Si vous voulez changer le mode ecrivez (toujours à l'intérieur des guillemets !) :
simple : Une fenetre est affichée autour de la jauge, avec le titre que vous avez choisi.(voir suite)
complexe : Une fenetre est affichée autour de la jauge, avec le titre que vous avez choisi. Sous la jauge sont affichées, soit la valeur en pourcentage pour une variable, ou bien les HP/HP max ou SP/SP max.
% : Même utilité que "complexe", mais affiche toujours les variables en pourcentage, même les valeurs de HP ou de SP.
titre : Choisissez un titre (entre guillemets, pour changer) qui ne sera affiché que si vous utilisez les modes simple, complexe ou %. Sinon, ou si vous ne voulez pas de titre, laissez les guillemets vides.
Pour mettre à jour votre jauge utilisez
- Code:
-
$Jauge.update
Il faut mettre à jour une fois pour que la jauge s'affiche.
Pour effacer votre jauge faites
- Code:
-
$Jauge.effacer
Facile non ?
Notes :-Si vous affichez une variable, sa valeur peut dépasser 100%, limage de la jauge sera aggrandie normalement. Cependant il se peut alors qu'elle dépasse de la fenetre s'il y en a une. Mieux vaut choisir une image de jauge pleine à 100% car la taille de la fenêtre s'y adapte.
-Utilisez les jauges verticales sans fenêtre (pas de "mode") car elles sont conçues pour des jauges horizontales.
-Vous pouvez changer quelques parametres dans les lignes 13 à 16.
-Si vous utilisez une valeur de z supérieure à 100 la jauge s'affichera par dessus le menu.
Améliorations à venir :-Gestion séparée de la transparence de la jauge et de la fenetre
-Affichage d'un fond de jauge
Je suis évidemment ouvert à toute remarque/suggestion