Tutoriaux événements
       
	
   
   
Script jauges avancé
- Script de Bahamut 1.2.
 - Aucune démo n'est disponible pour ce script.
 
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 !
#======================================================================
=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.annuaire-forums.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.annuaire-forums.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
Instructions
Pour créer une jauge utilisez :
$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
$Jauge.update
Il faut mettre à jour une fois pour que la jauge s'affiche.
Pour effacer votre jauge faites
$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.