Partagez
Aller en bas
avatar
Humitake
Membre

Nombre de messages : 4
Age : 27
Distinction : aucune
Date d'inscription : 02/11/2008

Horloge complète avec déclencheur jours / nuits et météo via les saisons.

le Lun 3 Nov 2008 - 19:23
Bonjour Smile Alors j'ai recherché un peu sur le forum et j'ai trouvé ce tutorial qui est de N3() :

http://www.rpgmakervx-fr.com/tutoriels-f26/la-nuit-le-jour-la-pluie-le-soleilxpvxdarkbossmanneo-t692.htm?highlight=jour+nuit

Et je voudrais maintenant déposer le système d'horloge que j'ai crée qui est cependant un peu plus complexe ...


I) Ce qu'il faut faire avant de commencer l'événement :

Alors pour commencer il faut évidement créer un événement commun, et juste un !
Bon je suppose que plein de personnes vont me répondre que ça ne serra pas clair ou autre chose mais j'ai ma manière de faire qui n'est peut être pas excellente je vous l'accorde mais moi je m'y retrouve et c'est le plus important ! :P
Donc je reprends, créer donc un événement commun en déclenchement il faut mettre processus parallèle et créer un interrupteur que j'appellerai Horloge Smile
Vous devriez donc avoir ceci pour le moment :


Donc maintenant il faut créer des variables, pour cela commencer par in[color:8688=reds[/color]ére[color=red]z une condition par exemple choisissez "la variable :" et la cliquez sur les trois petits points qui permettent d'arriver dans la liste des variables. Maintenant créer ces variables :
- Secondes
- Minutes
- Heures
- Journées
- Saisons
- Météo

Voila je vais maintenant expliquer un petit peu mon idée avant de commencer. Le but est de créer une horloge pour le monde du jeu. Vous pourrez donc choisir la vitesse du temps, mais je rentrerai dans les détails juste apres :P. Ainsi par exemple on pourra faire fonctionner un système de jours / nuits et faire fermer les commerces a partir d'une certaine heure et les faire rouvrir a partir d'une autre. On peut également inclure via ce systeme des saisons. Ainsi en hiver il neigera, en été il ferra beau la plupart du temps, au printemps et en automne il pourra pleuvoir et avoir des tempêtes ! Very Happy Si vous avez compris la suite est en dessous geek


II) Créer l'Horloge qui gerrera les secondes, les minutes et les heures


Alors je vais commencer avec les secondes. Mais plutôt que beaucoup de texte des screens seront surement plus apreciés alors voila l'étape la plus simple :


Petite explication co quand meme :P J'ai donc décidé que 1 frame est égale à 1 seconde (si vous augmentez vous augmenterez le temps de la seconde pour l'horloge et donc celui des minutes et des heures, etc... C'est donc a partir de lui que vous réglez le temps dans votre monde ! Very Happy ).
Bien sur tout le monde sait que 60 secondes font 1 minutes !!! Sisi promis jurée ! Wink Donc ça explique ma condition. Si la variable seconde n'est pas égale a 59 (j'explique tout de suite apres pourquoi 59 et pas 60) on fait +1 pour la variable seconde.
Maintenant SI la variable secondes est égale a 59 on fait passer la variable à 0 ce qui fait bien 60 secondes 59 + 1 = 60 mais 60=0 vous suivez :p ? Comme sur vos réveils ! Je reprends, une fois qu'on a fait passer la variable seconde a 0 on fait gestion de variable Minutes +1. Et vous faites la même opération pour les minutes et les heures ce qui doit donner ceci :


Oui ça semble sans queue ni tête ... Et ce n'est que le début ! Very Happy Mais le systeme pour les minutes et les heures est le même que pour les secondes. Si il y a 59 minutes alors on fait repasser la variable Minutes a 0 et on incrémente Heures de 1. Si il y a 23 heures on fait repasser la variable Heures à 0 et on incrémente jours de 1. Comme je vous l'avais dit c'est comme sur vos réveils ! :P
Quand c'est 23h59 ça passe à 0h00 Smile Bin la c'est pareille Very Happy
Si vous avez compris ça on peut passer aux saisons.


III) Les Saisons (Printemps, Eté, Automne et Hiver)

Donc vous avez bien créé la variables Saisons comme je l'ai dit au début j'espère ? :P Comment ? Je n'entends rien ! Smile
Alors j'ai choisi de classer les saisons ainsi mais vous pouvez changer si vous le souhaitez Smile
Si saisons = 1 alors c'est le Printemps
Si saison = 2 alors c'est l'Eté
Si saison = 3 alors c'est l'Automne
Si saison = 4 alors c'est l'Hiver
Et pour que le joueur ne s'endorme pas sur la neige pendant 3 mois j'ai choisi de découper les saisons autrement, je pars sur le principe que au bout de 10 jours la saisons change. Il suffit donc de faire une condition sur jours comme pour Secondes, Minutes et Heures :P

Si Jours=9 alors Saisons+1 et Jours=0
Sinon Jours+1

Et ensuite il faut rajouter des conditions pour les saisons ce qui vous donne ce truc encore plus barbare et incompréhensible au premier venu comme euh ... vous :P :


Voila donc le squelette de l'horloge est fini ! Bravo a vous ! Vous avez un truc qui sert a rien entre les mains ! Very Happy
Bon un peu de sérieux voyons donc maintenant il est temps de rentrer dans le détail et je vais commencer par le Jours / Nuits !


IV) Jours / Nuits

Alors pour que ça paraisse tout de même naturel j'ai choisi de faire 4 Phases et de définir les heures auquel je veux qu'elles se déclenchent (libre a vous de les choisir) :
- Phase 1 : Le matin à partir de 6 heures
- Phase 2 : Le jour à partir de 10 heures
- Phase 3 : Le soir à partir de 18 heures
- Phase 4 : La nuit à partir de 22 heures

Repérez donc cette ligne :


Une fois que c'est fait rajoutez le code avec les condition et la modification du ton de l'écran ce qui donne :

Vous pouvez ensuite modifier les tons a votre guise Smile Et vous pouvez même choisir de mettre 4 découpages jours / nuits !
Eh oui une par saisons car les nuits sont plus longues en hivers qu'en été :P


V) Climat (Pluie, Orage et Neige)


Bon alors il existe surement un autre moyen que le mien pour le faire j'en suis sur ... Mais j'adore faire de longs trucs ! :P
Et le mien a l'avantage d'apporter un très grand choix de possibilités "aléatoires"
Par contre la pour la lisibilité il y a pas photo x) il faut créer 3 autres événements communs :
- Pluie
- Orage
- Neige

Une fois créés le but est très simple il suffit de remplacer la valeur de météo par un nombre aléatoire entre 0 et 2. Ensuite de créer une condition et de dire par exemple que si la variable Météo=0 alors il pleut sinon il pleut pas ainsi on a 1 chance sur 3 qu'il pleuve. A vous de voir pour modifier Smile
Ensuite on fait re-changer la valeur de la variable Météo avec cette fois un nombre aléatoire entre 1 et 9. Pour déterminer l'intensité de la pluie si on tombe sur 1 ça sera d'intensité 1, si c'est 2 ça sera intensité 2, etc ...
Oui ... C'est tout con et nul ... Et ça fait un truc énorme XD :



ATTENTION : n'oubliez pas de décocher la case "Attendre la fin de la transition" sinon pendant ce temps la tous vos évènements seront en pose ! L'horloge aussi donc le temps restera bloqué le temps de la transi
Et ne pas oublier de mettre sur le dernier sinon un effet météorologique avec aucun de sélectionné et rendre la variable météo=10 j'expliquerai pourquoi après ... Donc pour la fin vous devez avoir ça :


Vous n'avez donc plus qu'a faire un copier coller et a changer pluie en Orage puis en Neige Smile Et vous pouvez ainsi rajouter des flash pour faire un orage plus violent, ou inventer une météo mélangent orage et neige ... a vous de voir Wink
Ensuite pour le déclenchement c'est encore a vous de voir, personnellement je préfère ne pas me casser la tête ... donc j'opte pour la solution des conditions encore Smile Avec un truc a rajouter dans l'événement commun horloge... Oui il est énorme je sais XD
Bon je suis partit sur une base de changement météorologique toute les 4 heures. Donc après la ligne ou la variable heure gagne 1 :


Il suffit de rajouter des conditions (owi I love condition ) plein de conditions pour moi, une condition par 4 heures donc :
4, 8, 12, 16, 20 et 24 heures Very Happy
Bon j'ai choisi d'utiliser des étiquettes pour que ça prenne moins de place ça donne ça :

Bon j'ai pas besoin de faire une image pour la suite je suppose que vous la devinez :p


VI) La reprise météo


Bon maintenant imaginons qu'il pleuve ... Eh bien il va pleuvoir partout ! C'est merveilleux non ? Bah oui ! Sauf que maintenant il pleut aussi dans les maisons lol! Donc il faut empêcher ça :P
Il faut donc créer un autre événement commun appelé Reprise Météo par exemple en Processus parallèle et avec un interrupteur Reprise Météo par exemple Smile
Et maintenant une condition ! Vous vous souvenez que je vous ai dit de mettre la variable Météo=10 si il ne se passe rien ? Eh bien c'est pour cette condition :
Si la variable Météo = 10 alors il se passe rien
Sinon ...
Et c'est la que vous devez avoir peur ... Oh oui ! Tremblez devant vos petits écrans Very Happy ça va être long mais rassurez vous ce n'est que du copier coller et quelques petites modifications Smile
Donc allez chercher le code dans l'horloge qui détermine la météo suivant la saisons celui la :


Et vous le collez dans le sinon que j'ai décrit juste au dessus. Maintenant l'étape difficile ... Alors c'est un peu gros donc je vais vous guider pour la neige et vous devrez faire la même chose pour les autres. Allez dans votre événement commun neige et la il faut copier tout ce qu'il a après le choix aléatoire de la variable météo entre 1 et 9 (celui qui détermine l'intensité) NE PRENEZ SURTOUT PAS LA GÉNÉRATION ALÉATOIRE DE LA VARIABLE !
Une fois que vous avez ça vous le collez a l'endroit ou il y a appelé l'événement commun : Neige dans l'événement commun Reprise Météo. Et maintenant il faut tout éditer et mettre les frames à 0 ! Pourquoi 0 ? Eh bien quand il pleut chez vous et que vous sortez la pluie ne commence pas ! :P
Et vérifier que la case "Attendre la fin de transition" soit bien décochée pendant que vous y êtes Very Happy .
Voila maintenant vous faites la même chose pour les autres et vous devriez avoir le début comme ça :


Je ne vous fais pas d'image pour la suite je suppose que tout le monde la devine ^_^ Si vous avez cependant un problème n'hésitez pas a le dire !
Maintenant que ce merveilleux système est créé vous avez FINI ! Si si ! Promis, juré ! Par contre voici quelques règles a respecter pour la reprise météo !
- Ne JAMAIS activer l'interrupteur de l'événement commun ! Sinon ça pourrait faire des truc bizarres ...
- A chaque fois que vous créez un TP pour rentrer dans un bâtiment (ou une grotte :P !) rajouter un évènement ou vous coupez tout (pas de pluie, neige, orage, etc ...)
- Quand vous créez un TP pour sortir d'un bâtiment (ou d'une grotte :P ! hé hé) rajoutez un appel de l'événement commun Reprise Météo.



Voila et maintenant petite info sympa... Bah oui vous vous êtes cassés le *** a faire mon horloge de la mort maintenant je vous donne quelques petites infos :
IMPORTANT : pour le temps de l'horloge 1 frame c'est TRÈS rapide... Sur rpg-maker XP 1 secondes réel correspond à 20 frames. Sur rpg-maker VX 1 secondes réel correspond à 60 frames. A vous de voir la vitesse que vous souhaitez pour votre jeux Smile

Chose plutôt sympa vous pouvez faire dire l'heure grâce a un event. Pour cela il suffit d'écrire :
"Il est \V[*] heures, \V[*] minutes et \V[*} secondes" ou * correspond au numéro des variables de l'heure, des minutes et des secondes ! Vous pouvez aussi afficher les saisons Smile "Vous êtes actuellement en \V[*] !"

Voila donc si vous trouvez une idée pour améliorer ce système n'hésitez pas a le dire :p


Voici le lien pour DL une démo avec des événement qui permettent de tester l'horloge Smile
http://humitake.ifrance.com/dl/tuto_horloge

berka: corrector killer
Tret': Idem pour le titre :p


Dernière édition par Humitake le Mer 5 Nov 2008 - 1:14, édité 2 fois
avatar
Heratis
Membre

Nombre de messages : 4
Age : 23
Distinction : aucune
Date d'inscription : 01/11/2008

Re: Horloge complète avec déclencheur jours / nuits et météo via les saisons.

le Lun 3 Nov 2008 - 20:40
Wouah en effet c'est très complexe mais si j'ai le temps ( et l'envie ) je testerais ton tuto. En tout cas l'idée est très bien pensée et le tuto très complet !
avatar
Thierry T.
Membre

Nombre de messages : 664
Age : 23
Localisation : Marseille (13).
Distinction : questionneur à répétition
Date d'inscription : 01/03/2008

Re: Horloge complète avec déclencheur jours / nuits et météo via les saisons.

le Lun 3 Nov 2008 - 20:42
C'est lourd à lire,une démo ne serait pas de refus.
avatar
Humitake
Membre

Nombre de messages : 4
Age : 27
Distinction : aucune
Date d'inscription : 02/11/2008

Re: Horloge complète avec déclencheur jours / nuits et météo via les saisons.

le Lun 3 Nov 2008 - 22:03
Bon j'ai atteins la limite autoriser donc je rajoute une petite précision ici au niveau du téléchargement...
J'ai quelques problème de redirection en ce moment donc si il vous propose pas le fichier directement cliquez sur le lien qui apparait sur la page.
J'essaye de régler sa et le problème d'image au plus vite Wink
avatar
Thierry T.
Membre

Nombre de messages : 664
Age : 23
Localisation : Marseille (13).
Distinction : questionneur à répétition
Date d'inscription : 01/03/2008

Re: Horloge complète avec déclencheur jours / nuits et météo via les saisons.

le Lun 3 Nov 2008 - 22:28
Je trouve que pour faire ça c'est lourd ...
Ce qui serait bien pour ce style de chose c'est un script à la Berka permettant d'afficher l'heure de votre PC Very Happy
Et faire un processus parallèle si heure entre 0h et 6h ....
avatar
Korndor
Staffeux retraité

Nombre de messages : 4959
Age : 105
Localisation : Erem Vehyx
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007
http://www.rpgmakervx-fr.com/

Re: Horloge complète avec déclencheur jours / nuits et météo via les saisons.

le Lun 3 Nov 2008 - 22:33
On ne dévie pas du tuto s'il te plaît; là on est en events et en heure virtuelle de jeu;
c'est un système très complet et je préfère qu'on ne passe pas sur tout autre chose Wink

Donc, fin du HS? Smile
avatar
Yao
Membre

Nombre de messages : 38
Age : 31
Distinction : aucune
Date d'inscription : 21/10/2008

Re: Horloge complète avec déclencheur jours / nuits et météo via les saisons.

le Mar 4 Nov 2008 - 9:37
Bien joué Very Happy
J'avais fait un système de ce genre-là sur un vieux projet RM2000(disparu depuis lors d'un reformatage sauvage il me semble^^).
Effectivement il vaut mieux pas activer l'interrupteur
Par contre je m'était contenté d'un cycle jour/nuit, j'avais pas été jusqu'aux saisons
La complexité est en grande partie apparente, la structure de base c'est la structure logique de n'importe quelle horloge dans n'importe quel langage (ceci dit s'il vous viens l'idée saugrenue d'essayer sur une caltoche Casio graph35, c'est un poil plus freestyle^^)
avatar
AnthO'
Membre

Nombre de messages : 2202
Age : 25
Localisation : Orléans
Distinction : Panda d'élite

[Wax Rolling Eyes]
Date d'inscription : 05/01/2008
http://anthonybourgouin.fr

Re: Horloge complète avec déclencheur jours / nuits et météo via les saisons.

le Mar 4 Nov 2008 - 16:43
Merci pour le tuto, j'avais des problème avec mon système:
Les minutes et secondes passaient bien puis, à 59min et 59s : les minutes continuaient avec les secondes (normalement, mais après 59 min...BOF )!
avatar
Setich
Membre

Nombre de messages : 12
Age : 26
Distinction : aucune
Date d'inscription : 29/10/2008

Re: Horloge complète avec déclencheur jours / nuits et météo via les saisons.

le Mar 4 Nov 2008 - 17:25
Un grand bravo pour le tuto .
Il va me servir pour améliorer des petites choses dans mon jeu merci. Very Happy
bonne continuation
avatar
MoonTwilight
Membre

Nombre de messages : 15
Age : 34
Distinction : aucune
Date d'inscription : 21/10/2008

Re: Horloge complète avec déclencheur jours / nuits et météo via les saisons.

le Mer 19 Nov 2008 - 11:09
Super tutorial! Merci beaucoup!Very Happy
Cependant, j'ai un petit souci : les effets météorologiques fonctionnent, mais il n'y a aucun changement quand il fait nuit! J'ai bien tout relu, et tout vérifié, et j'ai tout fait correctement). Ai-je oublié quelque chose? Le tn de mon image ne se modifie jamais...
Contenu sponsorisé

Re: Horloge complète avec déclencheur jours / nuits et météo via les saisons.

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