ATTENTION !!! LE SYSTÈME ICI PRÉSENT UTILISE UN AUTRE SYSTÈME RÉCUPÉRABLE À CET ENDROIT :
https://forum-lpdm.forums-actifs.com/t3767-2003calculer-des-puissancesUn énigme assez commune dans RM car facile à mettre en place est le fait de demander au joueur d'activer une séquence précise de leviers. Pour illustrer mon propos :
Le problème cependant avec ce système c'est qu'il nécessite d'utiliser un interrupteur pour chaque levier et que, pour vérifier la combinaison il vous faudra passer par un chainage de conditions de ce genre :
(oui ce n'est pas le même RM et je vérifie des variables dans cet exemple mais j'ai la flemme et au fond ça revient au même :p)
- Spoiler:
Heureusement pour vous, tonton Hellper a préparé un système en event pour non seulement avoir moins de retouches à faire dans la mise en place mais aussi dans le vérification car nous n'utiliserons plus une pléthore interrupteurs mais UNE SEULE ET UNIQUE VARIABLE ! N'est-ce pas génial ?
Mais trêves de bavardages, commençons.
Voici d’abord de système en entier :
On détaillera le code plus tard, mais il faut cependant noter que l'event est en mode graphismes fixes et que son charset est choisi pour que le levier soit désactivé quand l'event regarde en bas et activé quand cet event regarde à gauche (au niveau de son apparence). Voyons maintenant le code :
C'est assez atypique pour le signaler mais ce bout de code sert à récupérer dans la variable 23 l'id de l'event qui exécute le code. À noter que ce code ne marchera pas forcément si l'event qui l’exécute se trouve sur la même case qu'un autre event.
Ici une petite modification est à faire. Le valeur à retirer doit être l'id de l'event (dans mon cas 1).
Partie utilisant le système annexe sus-nommé dont voici
https://forum-lpdm.forums-actifs.com/t3767-2003calculer-des-puissances]un autre lien.
Et voici la dernière partie qui permet l'activation/désactivation du levier.
Plus tôt j'avais mentionné le nécessité d'un charset précis. EN effet plutôt que de passer par des pages le système utilise la direction dans laquelle l'event regarde pour voir quoi faire. Ainsi le code regarde si l'event regarde en bas (aka s'il est désactivé) et l'active en conséquence en le faisant regarder à gauche et si ce n'est pas le cas (ce qui signifie qu'il est activé) il le désactive en le faisant regarder en bas. Les deux commandes de variables sont celles qui servent à la détection, en effet c'est la variable 24 qui stocke les status des leviers.
Maintenant que vous avez fait votre premier levier il ne vous reste plus qu'à le copier et réer autant de fois que vous voulez d'interrupteurs dans une limite de 22 copies (mais c'est déjà pas mal, et il n'y a aucune modification à apporter aux nouvelles copies).
Noter cependant que les copies doivent être faites les unes après les autres afin que leur id s'enchainent sinon le système ne marchera pas.
Maintenant au niveau de la vérification :
Voici le code de vérification que j'utilise dans mon exemple, il suffit de vérifier que le valeur de la variable contenant les status correspond à une valeur précise et c'est tout. Plutôt simple n'est-ce pas ?
Et pour trouver cette valeur c'est aussi simple : en jeu vous donner à vos leviers la position que vous voulez et il ne reste plus qu'à utiliser F9 pour récupérer la valeur prise pas la variable contenant les status.
Voilà, je n'ai pas expliqué le fonctionnement du système. Je le ferais dans un autre tuto car celui-ci commence déjà à être long x)
Un dernier détail : lorsqu'on quitte une map, les events reviennà la position d'origine ce qui veut dire que les leviers seront tous désactivés mais la variable contenant les status ne changera pas. Pour corriger ça il suffit de mettre en event en démarrage automatique qui la remette à 0 puis se supprime