Forum traitant du logiciel RPG Maker tout en français ! Entraide, tutos, scripts, ressources, hébergement de vos projets RPG Maker 2000, 2003, XP et VX. Venez les présenter !
 
AccueilFAQRechercherMembresGroupesS'enregistrerConnexion

Partagez | 
 

 Vérifier des variables avec un interrupteur

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Hellper
Membre actif
Membre actif
avatar

Masculin Nombre de messages : 227
Age : 25
Localisation : Poitiers
Date d'inscription : 12/12/2010

MessageSujet: Vérifier des variables avec un interrupteur   Sam 1 Jan - 14:33

Note : Ce tutoriel fonctionne à la fois avec 2k, 2K3, XP et VX. Mais il vous sera surement plus utile avec 2K et 2k3 qui utilisent plus de programmation évènementielle.
Notebis : Ce tutoriel nécessite un minimum de connaissance en programmation évènementielle ou vous risquez de ne pas le comprendre.

Imaginons que vous fassiez un rpg pouvant accepter jusqu'à six héros dans l'équipe. Pour cela, vous êtes obligé de passer outre le système d'équipe de base puisque limité à 4 héros. Vous décidez alors d'utiliser un système de variable utilisant l'identifiant du héros de cette manière :

Code:
Vhéros1 = Idhéros
Vhéros2 = Idhéros
Vhéros3 = Idhéros
Vhéros4 = Idhéros
Vhéros5 = Idhéros
Vhéros6 = Idhéros
Note : Idhéros correspond à chaque fois à l'identifiant d'un héros différent.Maintenant, si vous voulez vérifier la présence d'un héros, vous devrez faire un code ressemblant à peu près à ceci :

Code:
Si Vhéros1 = IdX (pour un Id donné)
  Faire action1 (ce que vous faîtes s'il est là)
Sinon
  Si Vhéros2 = IdX
    Faire action1
  Sinon
    Si Vhéros3 = IdX
      Faire action1
    Sinon
      Si Vhéros4 = IdX
        Faire action1
      Sinon
          Si Vhéros5 = IdX
        Faire action1
        Sinon
            Si Vhéros6 = IdX
          Faire action1
          Sinon
            Faire action2 (ce que vous faîtes s'il n'est pas là)

Vous avez là un code de 19 lignes. Si vous le faîtes pour 3 héros et en admettant que le code Faire action1 et faire action2 prenne 5 ligne, ce qui est peu, ce la vous fait donc un total de 153 lignes. Et si dans Faire action1, vous vérifiez la présence d'un autre héros, c'est de l'ordre de900 à 1000 lignes, voire plus.

Le problème de ce code de vérification est qu'il n'est pas universel et doit être géré au cas par cas. Maintenant, je vais vous montrer comment simplifier efficacement ce code en utilisant le vérification par interrupteur. Je m'explique. Dans ce cas là, nous devons vérifier si un héros est dans une situation parmi les deux possible, c'est-à-dire :
- Soit il est présent.
- Soit il est absent.
Il est donc intéressant d'utiliser un interrupteur en faisant l'association désactivé/absent et activé/présent.

Maintenant, passons au code :
Tout d'abord, "créez" une variable, un interrupteur et un event commun activé par appel que vous nommez comme vous voulez. Ici, je les nommerai Vid, Intverif et Eventcom. L'event commun contiendra la partie principale du code. Mais avant, voici le code à placer pour vérifier :

Code:
Vid =IdX (toujours pour un Id donné.)
Appeller un event commun : Eventcom
Si Intverif est activé
  Faire action1
Sinon
  Faire action2
Vous noterez que l'utilisation de la variable pour l'Id sert à la fois à garder la donnée pour Eventcom mais aussi à le rendre plus souple.

Voici ensuite le code à mettre dans Eventcom :

Code:
Désactiver Intverif
Si Vhéros1 = Vid
Activer Intverif
Si Vhéros2 = Vid
Activer Intverif
Si Vhéros3 = Vid
Activer Intverif
Si Vhéros4 = Vid
Activer Intverif
Si Vhéros5 = Vid
Activer Intverif
Si Vhéros6 = Vid
Activer Intverif
Vous noterez que l'interrupteur doit être désactivé pour mettre le cas absent par défaut, c'est-à-dire qu'il est absent si aucune des condition qui suit ne marche c'est-à-dire s'il n'est pas présent.
Ce qui nous fait donc un total de 6 lignes de base, soit en reprenant les 3 vérifications et les 5 lignes pour Faire action1 et Faire action2 un total de 42 lignes, soit un 111 lignes économisées.

Et vous pouvez enregistrer le position du héros dans un variable Vplace en rajoutant 6 lignes de code pour obtenir :
Code:
Désactiver Intverif
Si Vhéros1 = Vid
Activer Intverif
Vplace=1
Si Vhéros2 = Vid
Activer Intverif
Vplace=2
Si Vhéros3 = Vid
Activer Intverif
Vplace=3
Si Vhéros4 = Vid
Activer Intverif
Vplace=4
Si Vhéros5 = Vid
Activer Intverif
Vplace=5
Si Vhéros6 = Vid
Activer Intverif
Vplace=6

Et voilà, c'est fini. N'hésitez pas à poser des question.


Dernière édition par Hellper le Sam 1 Jan - 21:06, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
rayon-gama
Modérateur
Modérateur
avatar

Masculin Nombre de messages : 352
Age : 37
Localisation : &é"'(-è_çà)=#{[|\^@]} (Rege
Date d'inscription : 03/04/2010

MessageSujet: Re: Vérifier des variables avec un interrupteur   Sam 1 Jan - 15:30

Très bon tutorial bien expliquer. ;)

_________________
Cordialement Rayon-gama, modérateur de NewRpgMaker.


Mon site sur python (un langage de programmation) :http://pytho-n.tuxfamily.org
(؛ ǝısıoɯ ǝɹnʇɐuƃıs ǝʇʇǝɔ ǝɹıl à ǝıʌ ǝɹʇoʌ ǝp sǝʇnuıɯ 01 ǝpɹǝd ǝp zǝuǝʌ snoʌ
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
k.limero
Membre actif
Membre actif
avatar

Masculin Nombre de messages : 206
Age : 106
Localisation : Rennes, et aussi DTC
Date d'inscription : 14/12/2010

MessageSujet: Re: Vérifier des variables avec un interrupteur   Sam 1 Jan - 15:35

Très bien, utile partout, c'est une simplification vraiment utile, merci.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Hellper
Membre actif
Membre actif
avatar

Masculin Nombre de messages : 227
Age : 25
Localisation : Poitiers
Date d'inscription : 12/12/2010

MessageSujet: Re: Vérifier des variables avec un interrupteur   Sam 1 Jan - 15:43

Merci pour vous commentaires. ;)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
rayon-gama
Modérateur
Modérateur
avatar

Masculin Nombre de messages : 352
Age : 37
Localisation : &é"'(-è_çà)=#{[|\^@]} (Rege
Date d'inscription : 03/04/2010

MessageSujet: Re: Vérifier des variables avec un interrupteur   Sam 1 Jan - 15:44

Bah de rien les commentaires sont fait pour faire évoluer les gens ;)

_________________
Cordialement Rayon-gama, modérateur de NewRpgMaker.


Mon site sur python (un langage de programmation) :http://pytho-n.tuxfamily.org
(؛ ǝısıoɯ ǝɹnʇɐuƃıs ǝʇʇǝɔ ǝɹıl à ǝıʌ ǝɹʇoʌ ǝp sǝʇnuıɯ 01 ǝpɹǝd ǝp zǝuǝʌ snoʌ
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Vérifier des variables avec un interrupteur   

Revenir en haut Aller en bas
 
Vérifier des variables avec un interrupteur
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [RESOLU]Emettre une porte et la faire disparaitre avec un interrupteur 2 positions?
» [RESOLUE] Détruire un cerveau avec un interrupteur
» Mettre un switch 3 positions sur sa Megadrive
» activation d'un interrupteur pour ouvrir une porte
» [résolu]Questions sur "conditions,interrupteur,variable"

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
New RPG Maker :: Making :: Tutoriaux :: Autre tuto...-
Sauter vers: