Terra RPGXP
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Bienvenue dans la Terre du RPG Making!
 
AccueilRechercherDernières imagesS'enregistrerStatsConnexion
Le deal à ne pas rater :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

 

 Script Jauges avancé par Bahamut 1.2

Aller en bas 
AuteurMessage
Invité
Invité
avatar



Script Jauges avancé par Bahamut 1.2 Empty
MessageSujet: Script Jauges avancé par Bahamut 1.2   Script Jauges avancé par Bahamut 1.2 Icon_minitimeJeu 19 Juil - 0:39

(message subliminal : soyez indulgents c'est le premier script que je "publie")
Script Jauges avancé par Bahamut 1.2 Scriptjaugescreenud5
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

Instructions

Pour 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


Dernière édition par le Ven 20 Juil - 16:59, édité 3 fois
Revenir en haut Aller en bas
Invité
Invité
avatar



Script Jauges avancé par Bahamut 1.2 Empty
MessageSujet: Re: Script Jauges avancé par Bahamut 1.2   Script Jauges avancé par Bahamut 1.2 Icon_minitimeJeu 19 Juil - 9:08

Ah, ce fameux script de jauge.

Et bien, je ne peux te dire que 'merci beaucoup !', car ce script a l'air très soigné.

Je le testerais dans la soirée, en revenant...

Content
Revenir en haut Aller en bas
Invité
Invité
avatar



Script Jauges avancé par Bahamut 1.2 Empty
MessageSujet: Re: Script Jauges avancé par Bahamut 1.2   Script Jauges avancé par Bahamut 1.2 Icon_minitimeVen 20 Juil - 17:00

Je me suis rendu compte il y a quelques minutes que le script plantait (ce qui n'etait pas le cas avant), ce qui était simplment du à la presence d'un espace devant le =end....J'ai édité^^
Revenir en haut Aller en bas
Contenu sponsorisé





Script Jauges avancé par Bahamut 1.2 Empty
MessageSujet: Re: Script Jauges avancé par Bahamut 1.2   Script Jauges avancé par Bahamut 1.2 Icon_minitime

Revenir en haut Aller en bas
 
Script Jauges avancé par Bahamut 1.2
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Bahamut 1.2
» Advanced Message Script - R4

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Terra RPGXP :: Boîte à Outils :: Les Scripts-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser