❤ 0 Système d'alternance Jour/Nuit avec effets météos, saisons et alcool
Attention, je vous le dis tout de suite : ce code est un peu plus compliqué que les autres ! Il est aussi plus long, mais plus précis. Ce tutoriel part sur les bases de celui-ci, avec des modifications et des ajouts.
Alors je vous explique ce qui va être abordé avant de poster le code :
- L'alternance jour/nuit : j'ai vu rapidement que le code contenait des erreurs, par exemple, dans certains cas (selon le moment où on change de map, etc...), le temps de deux jours pouvaient être radicalement différents (quelque fois le premier jour était deux fois plus long que le deuxieme), j'ai réglé ce problème : en effet, avant on attendait 999 frames et si on rentrait dans une maison, on réattandait 999 frames... le temps entre deux transition pouvait donc etre infini, dans certains cas extrêmes...
Maintenant, le jeu attend x fois 10 frames. Si il a déja attendu 2*10 frames, quand on rentre dans la maison, il attends x-2 frames : ce qui fait que le temps entre 2 transitions est toujours x*10 frames !
- J'ai ensuite eu l'idée d'ajouter un effet météo, et avec donc, l'idée de saison (parce que la neige toute l'année, c'est pas très réaliste). Là, le code n'est pas très novateur : des saisons, et le temps qui varie aléatoirement, en fonction de la saison dans laquelle on se situe...
- Gestion de l'alcolémie : Enfin, et ça ne sera pas utile à tous le monde, je me suis littéralement arraché les cheveux sur le dernier code que je vais vous donner : le moins important pourtant, le fait que le perso puisse être bourré est un concept assez novateur sur rpg maker. En effet, il peux pas boire 150 bière pour reprendre de la vie ou je ne sais quoi et être toujours en forme ! J'ai créé cela, et le résultat est, je trouve, vraiment sympa ! Je n'ai pas fait en sorte que ca est de l'influence sur les combats, vous pourez le faire vous même si vous voulez.
Enfin, je vous donnerai mon petit jeu qui illustre bien le tout... (c'est pas vraiment un jeu ; ca devait en être mais en fait ca a tourné à un test d'evenements communs, donc en tant que jeu, il n'est pas super, mais en tant qu'exemple, il est plutôt bien ! (Note : la démo de l'auteur n'étant plus disponible, le code a été réinscrit dans une nouvelle, disponible à la fin de ce tutoriel.)
Sommaire
Les différents moments de la journée
Les saisons
Effets météos aléatoires
"Mode" bourré
Utilisations en jeu
Les différents moments de la journée
Les moments de la journée
Les transitions
Et voila c'est bon pour les jour/nuit (sans compter la déclaration de variables !)
Les saisons
Voyons maintenant l'événement pour faire les saisons :
Effets météos aléatoires
Maintenant voyons pour la météo...
Pas de pluie dans une maison !
Pour cela, il suffit, dans un événement commun relié au fonctionnement global du temps, d'activer la météo quand on est en extérieur.
Evénement commun : interieur temps -> processus parallèle, déclenchement : interrupteur [0005: Début]
Citation: <>Condition : si l'interrupteur [0034: maison] est désactivé
<>Interrupteur(s) [0040: temps] activé
<>
: Fin
<> |
Et désactiver de façon active la météo quand on entre dans une maison.
Evénement commun : interieur temps2 -> processus parallèle, déclenchement : interrupteur [0034: maison]
Citation: <>Variable(s) [0029: choix changement temps2] rendre égale(s) à (valeur de la variable [0027: choix changement temps]
<>Variable(s) [0027: choix changement temps] : rendre égale(s) à 1
<>Interrupteur(s) [0040: temps] désactivé
<>Effet météorolgique : Aucun, 0 Frams
<>Interrupteur(s) [0046: sauv_temps] activé
<> |
L'événement commun de la météo
Première partie :
Corps principal, où l'on crée un pourcentage de chance pour qu'un effet météo arrive pour chaque saison. Le système de base est utilisé ici (pluie, neige, tempête), mais vous pouvez également l'utiliser avec certains scripts qui ajoutent d'autres effets météos, ou votre propre effet personnalisé, pour ajouter plus de deux effets (par exemple normal, ensoleillé, orage et pluie en été).
Vous avez ici la première partie pour Printemps. La partie après else comprend le même type de condition, avec détermination aléatoire de la puissance de l'effet et les neuf conditions qui en découlent. La seule chose qui change, c'est l'effet en lui-même.
Une fois le printemps réalisé, vous n'avez qu'à copier-coller cet événement, et modifier la condition pour été, et changer les conditions/effets météos selon vos envies. Pareil pour l'automne et l'hiver.
Après cela, il suffit de déclarer votre étiquette de "Fin" (celle vers laquelle converge tous les "Jump to Label", ajouter un Attendre de 200 frames (qui équivaut au temps d'implémentation de l'effet météo) et désactiver l'interrupteur "Sauvegarde météo".
Et voilà une bonne chose de faite !
Ajouter un effet visuel quand on est bourré
Voyons voir maintenant les évenements pour le mode "bourré" !
Gérer le taux d'alcoolémie
Ajouter un effet visuel
Note : Couplé avec le système de temps précédent, cela crée une sorte de flash.
Utilisations en jeu
Lancer le système de temps
Avant de lancer la variable "Début", qui va lancer toute la machine temps, vous devez configurer votre jeu pour que le système soit fonctionnel :
Soit :
_ choisir une saison (et activer l'interrupteur affilié)
_ choisir un moment de la journée (matin, jour, soir, nuit)
_ activer l'interrupteur météo, si vous commencez en extérieur, ou l'interrupteur maison, si vous êtes en intérieur
_ choisir la vitesse du temps qui module les différents moments de la journée
Et enfin, activer l'interrupteur du début.
L'auteur avait ajouté deux variables liées aux jours, qui n'ont pas été implémentées dans les événements communs du tutoriel original. Il est probable qu'une expansion du système ait été prévue, mais jamais réalisée (avec nombre de jours totaux, et peut-être noms pour les semaines).
Utilisations possibles des interrupteurs et variables
Maintenant, pour les flemmards, voici les variables que vous pouvez utiliser :
interrupteurs jour, trans jour soir, soir, trans soir nuit, nuit, trans nuit matin, matin, trans matin jour : ils indiquent quelle période de la journée le joueur se situe. Si la partie en est au matin, seul l'interrupteur : matin est activé.
l'interrupteur bourré indique que le joueur est bourré, il faut l'activer quand le joueur prend de l'alcool, et augmenter la valeur de la variable bourré (un exemple d'utilisation se trouve dans la démo). Si on veut qu'il soit sobre, apres 3 jours d'abtinance par exemple, il faut, après avoir créé l'événement correspondant (si trois jours sont passés sans que la variable bourré n'ait été augmentée... je vous laisse le faire ^^), il faut désactiver l'interrupteur bourré et mettre la variable bourré à 0.
Il ne faut surtout pas oublier d'activer l'interrupteur maison lorsqu'on entre dans une maison (ou une caverne, ou tout élément où la météo devra être désactivée), et le désactiver quand on en sort.
Une démo réalisée avec RPG Maker XP est à disposition ici.
Ce tutoriel a été réalisé sous RPG Maker XP. Il peut nécessiter certaines adaptations pour un usage sur d'autres logiciels.
Mis à jour le 24 avril 2020.
|