Le Deal du moment : -47%
DOMO DO1032SV – Aspirateur balai 2 en 1
Voir le deal
49.99 €

Aller en bas
N3()
N3()
Membre

Nombre de messages : 375
Age : 31
Localisation : Oise
Distinction : aucune
Date d'inscription : 02/03/2008

Afficher une variable sur l'écran Empty Afficher une variable sur l'écran

Ven 27 Juin 2008 - 17:53
Bonjour, je suis entrain de crée le système de combat de mon jeu (qui va resté secret encore quelque temps), et j'ai besoin d'afficher des variables sur l'écran pour la vie...
Donc j'aimerai savoir comment faire, sachant qu'il faut que j'affiche la fatigue, et la santé du ennemi (voir 4 ennemis maximum) et du héros (pareil voir 4).

Je vais mieux expliquer, en faites il me faudrait un script qui affiche la valeur d'une variable santé et que à côté on vois la santé maximum (selon le niveau), et avec une barre en dessous si possible.
Pareil pour la fatigue (=mana)

J'espère avoir été assez clair, merci d'avance pour votre aide,
N3()
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 32
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Ven 27 Juin 2008 - 21:55
Il existe un script XP mais je ne parviens plus à le trouver, dont l'auteur est Taek je pense. Il faudrait demander à un scripteur RGSS2 de voir s'il peut l'adapter, je continue mes recherches.
Ultimate
Ultimate
Membre

Nombre de messages : 105
Age : 31
Distinction : aucune
Date d'inscription : 25/06/2008
http://www.sydrus.fr

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Ven 27 Juin 2008 - 23:37
Ha oui tiens si quelqu'un pouvait trouver ça, ça m'arrangerais bien car il se trouve que je suis AUSSI actuellement sur un projet méga secret ( en fait non c'est pour mon prochain tuto Very Happy ) qui nécessite l'affichage des variables sur l'écran.
Alexdream
Alexdream
Membre

Nombre de messages : 1401
Age : 34
Localisation : Rodez
Date d'inscription : 02/03/2008
http://alexdream.canalblog.com/

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Sam 28 Juin 2008 - 9:08
pour cela on peut le faire en faisant appel à des images
N3()
N3()
Membre

Nombre de messages : 375
Age : 31
Localisation : Oise
Distinction : aucune
Date d'inscription : 02/03/2008

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Sam 28 Juin 2008 - 10:41
J'ai oublier de préciser que c'était pour XP,

alex1s12 a écrit:pour cela on peut le faire en faisant appel à des images

Au début sa ira quand le héros aura 20 point de vie, mais quand il en aura 700, tu va faire 700 images?

Gamemaker a écrit:Il existe un script XP mais je ne parviens plus à le trouver, dont l'auteur est Taek je pense. Il faudrait demander à un scripteur RGSS2 de voir s'il peut l'adapter, je continue mes recherches.

Je vais chercher le script.
Berka
Berka
Staffeux retraité

Nombre de messages : 1832
Age : 33
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Sam 28 Juin 2008 - 11:05
j'ai pas mon ordi, donc pas rm sous la main:

tu devrais tenter:

Code:

VARIABLE = $game_variables[18] # change: ici on affiche la variable 18
INTERRUPTEUR = $game_switches[10] #si l'interrupteur 10 est activé, on affiche la fenetre
class Window_Variables < Window_Base
def initialize
super(0, 0, 200, 64) # tu peux changer la position de la fenetre, en modifiant ces valeurs (x, y, longueur, hauteur)
self.contents = Bitmap.new(width-32, height-32)
self.opacity = 0
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(4, 0, 120, 32, VARIABLE.to_s) if INTERRUPTEUR #(x, y, longueur, hauteur, texte)
end
def update
refresh if VARIABLE != self
end
end


pour afficher la fenetre

dans le script Scene_Map
recherche

@message = Window_Message.new (ou un truc comme ca)
et rajoute apres:
@variables = Window_Variables.new

cherche: @message.dispose
et rajoute apres @variables.dispose

et cherche enfin @message.update (pas obligatoire)
et rajoute apres @variables.update


>> pour afficher la fenetre: active l'interrupteur 10
Lifa
Lifa
Membre

Nombre de messages : 95
Age : 38
Localisation : Falénia, ou bien sud-ouest de la France ^^'
Distinction : aucune
Date d'inscription : 25/06/2008
http://www.teradem.net

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Sam 28 Juin 2008 - 17:32
Afficher des variables à l'écran m'intéresserait aussi ^^
Merci berka pour l'aide ! Mais :

J'ai essayé ce bout de RGSS2 et j'obtiens cette erreur (avant même d'arriver au menu principal) :
???? 'window_Variables' ? 1 ??? NoMethodError ????????? undefined method `[]' for nil:NilClass

J'ai fait les modifications dans Scene_Map et placé le bout de code de berka dans une nouvelle page au dessus de Main (c'est bien ce qu'il faut faire au moins ?)
Je m'y connais vraiment pas assez en ruby pour comprendre et corriger ce problème T_T
Une idée ? ^^'

Pour ma maigre participation :
@message_window = Window_Message.new >>> ligne 15
@message_window.dispose >>> ligne 37
@message_window.update >>> ligne 61
Berka
Berka
Staffeux retraité

Nombre de messages : 1832
Age : 33
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Sam 28 Juin 2008 - 18:26
désolé, c'est completement de ma faute...
j'avais oublié que les variables n'etaient initialisées qu'au titre...

voila le script fonctionnel
Code:
VARIABLE  =  18  #  change:  ici  on  affiche  la  variable  18
INTERRUPTEUR  =  10  #si  l'interrupteur  10  est  activé,  on  affiche  la  fenetre
class  Window_Variables  <  Window_Base
def  initialize
super(0,  0,  200,  64)  #  tu  peux  changer  la  position  de  la  fenetre,  en  modifiant  ces  valeurs  (x,  y,  longueur,  hauteur)
self.contents  =  Bitmap.new(width-32,  height-32)
self.opacity  =  0
refresh
end
def  refresh
self.contents.clear
self.contents.draw_text(4,  0,  120,  32,  $game_variables[VARIABLE].to_s)  if  $game_switches[ INTERRUPTEUR]  #(x,  y,  longueur,  hauteur,  texte)
end
def  update
refresh  if  32,  $game_variables[VARIABLE]  !=  self
end
end
Lifa
Lifa
Membre

Nombre de messages : 95
Age : 38
Localisation : Falénia, ou bien sud-ouest de la France ^^'
Distinction : aucune
Date d'inscription : 25/06/2008
http://www.teradem.net

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Sam 28 Juin 2008 - 19:20
ok je commence à comprendre l'erreur ^^'
ça marche super bien maintenant Very Happy

Juste une rectification à la 2e ligne en partant du bas :
au lieu de
Code:
refresh if 32, $game_variables[VARIABLE] != self
mettre juste
Code:
refresh if $game_variables[VARIABLE] != self
(erreur de copier coller je suppose ? ^^)

J'en ai profité pour rajouter plusieurs variables à afficher et un peu de couleur.
Ca pourrait toujours servir à d'autres alors voila avec 4 variables vie,vie_max,mana,mana_max :

Code:
VARIABLE_1 = 4 # change: ici on affiche la variable 4
VARIABLE_2 = 5
VARIABLE_3 = 6
VARIABLE_4 = 7
INTERRUPTEUR = 3 # si l'interrupteur 3 est activé, on affiche la fenetre

class Window_Variables < Window_Base
  def initialize
    super(0, 0, 200, 84) # tu peux changer la position de la fenetre, en modifiant ces valeurs (x, y, longueur, hauteur)
    self.contents = Bitmap.new(width-32, height-32)
    self.opacity = 0
    refresh
  end
  def refresh
    self.contents.clear
    self.contents.font.color = Color.new(255,160,160)
    self.contents.draw_text(4, 0, 180, 32, $game_variables[VARIABLE_1].to_s+" / "+$game_variables[VARIABLE_2].to_s+" PV") if $game_switches[INTERRUPTEUR] #(x, y, longueur, hauteur, texte)
    self.contents.font.color = Color.new(180,180,255)
    self.contents.draw_text(4, 30, 180, 32, $game_variables[VARIABLE_3].to_s+" / "+$game_variables[VARIABLE_4].to_s+" PM") if $game_switches[INTERRUPTEUR] #(x, y, longueur, hauteur, texte)
  end
  def update
    refresh if $game_variables[VARIABLE_1] != self
  end
end

Au sujet du refresh à la fin ça m'a pas l'air "politiquement correct" de ne tester que la variable_1 mais comme je modifie les 4 variables en même temps j'ai eu la flemme d'en faire 4 lignes ^^'
(d'ailleurs je ne sais pas non plus si c'est correct d'en mettre 1 par variable, l'est-ce ?)

Dans tous les cas merci berka ^^
Mon héros vivra peut être plus longtemps grâce à toi lol!
N3()
N3()
Membre

Nombre de messages : 375
Age : 31
Localisation : Oise
Distinction : aucune
Date d'inscription : 02/03/2008

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Sam 28 Juin 2008 - 19:51
Merci de l'aide, j'ai pas le temps de tester ce soir, donc je testerai demain, mais juste une question:
Il faut mettre le script dans un nouveau script?
J'ai regardé un peu ce que tu m'as passé, on peux modifier la position des 4 variables? Car je 'ai vu qu'une ligne pour changer, alors qu'il y a 4 variables.
Lifa
Lifa
Membre

Nombre de messages : 95
Age : 38
Localisation : Falénia, ou bien sud-ouest de la France ^^'
Distinction : aucune
Date d'inscription : 25/06/2008
http://www.teradem.net

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Sam 28 Juin 2008 - 20:23
Dans un nouveau script oui. Je l'ai mis dans Window_Variables en suivant le nom donné par barka à la 'class'. Juste au-dessus du main ^^

Les 4 premières lignes définissent les 4 variables, on peut changer les numéros-cibles et en rajoutant des lignes tu peux afficher de nouvelles variables (faut modifier en-dessous aussi dans ce cas.
Si tu parles de la position à l'écran, pour ma part j'ai choisi d'afficher PV et PV Max sur une même ligne (idem pour PM et PM Max), donc il n'y a que 2 lignes de code pour les 4 variables, tu peux reprendre la ligne de code d'origine de barka si tu souhaites personnaliser entièrement la position (et couleur ?) des 4 variables.


psst: berka
N3()
N3()
Membre

Nombre de messages : 375
Age : 31
Localisation : Oise
Distinction : aucune
Date d'inscription : 02/03/2008

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Dim 29 Juin 2008 - 10:30
Il y a un problème, j'ai fait exactement tout ce que vous avez dit, et il y a rien qui s'affiche, j'ia tout vérifié plusieurs fois, et tout comme vous...
Donc ily a t'il une erreur dans le script?
Lifa
Lifa
Membre

Nombre de messages : 95
Age : 38
Localisation : Falénia, ou bien sud-ouest de la France ^^'
Distinction : aucune
Date d'inscription : 25/06/2008
http://www.teradem.net

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Dim 29 Juin 2008 - 13:07
Chez moi ça marche en tout cas ^^'

Tu as bien modifié le Scene_Map ?
ça doit donner exactement ça (1e ligne existe déjà, 2e ligne à rajouter) :

Ligne 16/17 :
Code:
    @message_window = Window_Message.new
    @variables = Window_Variables.new

Ligne 39/40 :
Code:
    @message_window.dispose
    @variables.dispose

Lignes 64/65 :
Code:
    @message_window.update
    @variables.update


Voici la version commentée du script (pour le coup j'apprends le Ruby sur le tas ^^').
Peut-être que les commentaires rajoutés t'aideront ? :
Spoiler:

En option, voici l'événement commun permettant de rafraîchir les variables (ici ça concerne 4 variables HP/MP) toutes les 1/2 secondes :
Afficher une variable sur l'écran Actualiservariablesub4

Enfin, un exemple du résultat final :
Afficher une variable sur l'écran Windowvariablesxm2.th

Et si avec ça ça marche toujours pas je t'envoie une démo lol!

edit : problème d'opacité de la nouvelle fenêtre corrigé.
N3()
N3()
Membre

Nombre de messages : 375
Age : 31
Localisation : Oise
Distinction : aucune
Date d'inscription : 02/03/2008

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Dim 29 Juin 2008 - 15:12
Marche toujours pas,
voici mon script Scene_Map:
Spoiler:


Le script pour les variables:

Spoiler:

L'event commun est pareil que le tien, et l'interrupteur trois activé.
Lifa
Lifa
Membre

Nombre de messages : 95
Age : 38
Localisation : Falénia, ou bien sud-ouest de la France ^^'
Distinction : aucune
Date d'inscription : 25/06/2008
http://www.teradem.net

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Dim 29 Juin 2008 - 16:51
Curieux, on a pas le même Scene_Map *__*
je ne me souviens pas l'avoir modifié pourtant. Et toi ?

Tu travailles bien sous RPG Maker VX ???

Pour ma part j'ai la version officielle 1.00, version FR 1.1 (traduit par Nino)
je sais pas si ça peut jouer...
Voici mon Scene_Map entier :

Spoiler:
N3()
N3()
Membre

Nombre de messages : 375
Age : 31
Localisation : Oise
Distinction : aucune
Date d'inscription : 02/03/2008

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Dim 29 Juin 2008 - 18:41
Non j'ai précisé avant que c'était pour XP, c'est pour sa que ça marche pas non?
Widowan
Widowan
Fondateur
Nombre de messages : 1435
Age : 41
Localisation : France
Distinction : Sergent
Tyran professionnel
Date d'inscription : 15/12/2007
http://www.rpgmakervx-fr.com

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Dim 29 Juin 2008 - 18:56
La prochaine fois, indique le dans le titre, on est sur RMVX à la base ........ xD
Lifa
Lifa
Membre

Nombre de messages : 95
Age : 38
Localisation : Falénia, ou bien sud-ouest de la France ^^'
Distinction : aucune
Date d'inscription : 25/06/2008
http://www.teradem.net

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Dim 29 Juin 2008 - 19:52
En effet c'est pour ça que ça marche pas alors ^^'
Désolé j'ai zappé le message où tu précisais que c'était XP...

Bah en tout cas ça pourra toujours servir aux utilisateur de VX Afficher une variable sur l'écran 450709
Contenu sponsorisé

Afficher une variable sur l'écran Empty Re: Afficher une variable sur l'écran

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum