Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

News: Les actualités de fin d'année / Jeux: Glixel en version complète / Jeux: Izac 1 / News: Des jeux d'hiver sous la couette / Scripts: Système de vol pour RPG Maker (...) / Chat

Bienvenue
visiteur !





Désactiver
la neige


publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

305 connectés actuellement

30835194 visiteurs
depuis l'ouverture

2461 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Lunae - le bazar d'Emz0

Eclipso

Tashiroworld

Lumen

Tous nos partenaires

Devenir
partenaire



Jour/Nuit+Heures+Jours de la semaine

Un tutorial complet sur la gestion du temps, avec prise en compte des heures et minutes, alternance jour nuit, prise en compte des intérieurs de maisons, et jour de la semaine

Ecrit par awakeing le 26/12/2007


❤ 0

Créer un système de temps réaliste






Salut à tous !

Aujourd'hui, j'ai décidé de publier un tuto sur l'un des points forts de mon jeu : le système de temps.

Niveau requis :
Maitrise des interrupteurs et des variables.
Maitrise des Conditions et des Boucles.

Donc, avant tout, il faut savoir ce que signifie précisément "un système de temps réaliste". Plusieurs points sont à souligner :
- Le temps ne marchera que si l'interrupteur "temps marche" est activé
- Une seconde réelle équivaut à une minute du jeu
- Un système d'alternance jour/nuit (par défaut, il fait jour à 6h et nuit à 20h)
- Les jours se suivent, (nous déterminerons le jour de la semaine)

Si il faut que l'interrupteur "Temps Marche" soit activé pour que le temps avance, c'est pour pouvoir le bloquer quand vous voulez, pendant les scènes cinématiques par exemple image


Préparation des événements

Pour commencer, voila ce dont vous aurez besoin :
- 4 Interrupteurs
- 4 Variables
- 6 Evènements communs

Commençons par les interrupteurs. Voici les 4 à créer :
- Un interrupteur "Intérieur_Nuit" pour qu'il ne fasse pas nuit dans les maisons.
- Un interrupteur "Temps_Marche" pour contrôler les moment où le temps passe
- Un interrupteur "jour" pour contrôler le mode jour
- Un interrupteur "nuit" pour contrôler le mode nuit

Maintenant, jetons un œil aux variables :
- Une variable "Minutes" pour contrôler les minutes
- Une variable "Heures" pour contrôler les heures
- Une variable "Jours" pour contrôler les jours
- Une variable "Jour Semaine" Pour connaitre le jour de la semaine.


L'événement commun qui gère l'écoulement du temps

Maintenant, on entre dans la partie que vous redoutez tous : La programmation ! Alors, voilà le premier des 6 évènements communs. Cet évènement est en processus parallèle :

-Il faut qu'un évènement active l'interrupteur "Temps Marche" pour que le reste puisse fonctionner
-On attends une seconde, et on ajoute une minute
-Si 60 minutes se sont écoulés
-On remet minutes à 0 et on ajoute une heure
-Si 24 heures se sont écoulés
-On remet heures à 0 et on ajoute un jour
-On ajoute 1 à jours semaines (qui détermine si on est lundi mardi etc.)
-Si variable "Jours_semaines" devient supérieur ou égal à 8
-On la remet à 1
-On sort de la boucle pour vérifier si l'interrupteur "Temps_Marche" est toujours activé.

Voilà, ainsi le temps tourne parfaitement. Les trois autres événements serviront à l'enchainement jour/nuit.


Faire les transitions entre les moments de la journée

Commençons par voir l'évènement "jour/nuit" :
- Une condition qui dit que Si il est 6 heures
- On appelle l'évènement jour
- Et Si il est 20 heures
- On appelle l'évènement nuit

Voila, c'est simple, les heures de jour et de nuit peuvent bien sur être modifiées, si vous voulez qu'il fasse nuit à 18h.

Voyons l'évènement jour en Appel :
- Si l'interrupteur jour est désactivé
- On modifie le ton de l'écran (100, 100, 100, 100) pour le rendre façon jour, en 10 secondes pour le réalisme
- On active l'interrupteur jour
- on désactive l'interrupteur nuit

Si on a besoin de ces deux interrupteurs, c'est pour ne pas rendre le jeu façon jour quand il fait déjà jour (ou inversement) et pour les intérieurs (vous verrez plus loin...)

Maintenant voyons l'événement nuit en Appel. Il ressemble à l'événement jour :
- Si l'interrupteur Intérieur Nuit est désactivé (on verra ça plus loin)
- Si l'interrupteur nuit est désactivé
- On modifie le ton de l'écran (50, 50, 60, 100) pour le rendre façon nuit, en 10 secondes pour le réalisme
- On active l'interrupteur nuit
- on désactive l'interrupteur jour

C'est bon, vous avez un système temporel opérationnel image


Détecter un intérieur, et opérer le changement voulu

Enfin... A un détail près, en entrant dans une maison, il fera encore nuit, et ça c'est pas cool >.<
Mais vous en faites pas ! Il y a une solution ! Elle s'appelle : Intérieur nuit & Extérieur nuit ! En fait, c'est un peu chiant, parce qu'il vous oblige à appeler l'événement commun "Intérieur nuit" dans toutes les entrées et Extérieur Nuit dans toutes les sorties de maisons.
Ne confondez pas l'interrupteur Intérieur nuit et l'évènement commun Intérieur Nuit ! Là, c'est de l'évènement commun Intérieur Nuit qu'il s'agit !

Voila l'évènement Intérieur Nuit en Appel :
- Si l'interrupteur nuit est activé (si il fait nuit)
- Modifier le ton de l'écran façon jour (100, 100, 100, 100) en 0.1 secondes pour le réalisme

Puis l'évènement Extérieur Nuit en Appel. Oui, c'est quasiment la même chose !
- Si l'interrupteur nuit est activé (si il fait nuit)
- Modifier le ton de l'écran façon nuit (50, 50, 60, 100) en 0.1 secondes pour le réalisme

Ok, maintenant il reste un problème : Disons que nous entrons dans une maison à 19h (il fait jour) et qu'on y reste jusqu'à 20 heures (la nuit), on aura pas appelé l'événement intérieur nuit vu qu'on est entré le jour, donc il fera nuit ! Oui ! C'est vrai, mais pas de panique ! Il suffit de se servir de l'interrupteur Intérieur Nuit !
Tout ce que vous avez à faire, c'est d'activer cet interrupteur dans chaque chaque téléportation dans une maison et le désactiver dans chaque sortie de maison (pour que la nuit puisse tomber le lendemain si on est dehors). Ainsi, il n'y a plus de problème.

Si vous vous demandez comment ça marche, c'est très simple : si il fait nuit pendant qu'on est dans la maison, l'interrupteur Intérieur Nuit empêche la nuit de tomber. Et la nuit retombe grâce à l'évènement commun... Extérieur Nuit ! Oui, si il fait nuit et qu'on sort de la maison, la nuit se place grâce à cet évènement !
Vous voyez la magie de la programmation ? C'est plusieurs bouts de code empilés les uns sur les autres qu'on relie les uns aux autres avec une toile géante !

Voilà, votre système est maintenant opérationnel à 100%


Programmation des jours de la semaine

Mais il y a encore une chose dont je voudrais vous parler : Les jours de la semaine. Nous avons créé une variable jours_semaines, on va l'utiliser !
Bon, maintenant disons que vous créez un PNJ qui donne les jours de la semaine (par exemple, une vache), voilà un récapitulatif de ce que vous devez coder dedans :
- Si Jours semaines = 1
- C'est lundi
- Si jours semaines = 2
- C'est mardi
- Si jours semaines = 3
- C'est mercredi
- Si jours semaines = 4
- C'est jeudi
- Si jours semaines = 5
- C'est vendredi
- Si jours semaines = 6
- C'est samedi
- Si jours semaines = 7
- C'est dimanche

Voilà, c'est bon, maintenant votre vache (ou calendrier, c'est vous qui voyez) vous donnera le jour de la semaine.


Conclusion

Ainsi s'achève notre tuto, j'espère qu'il vous aidera et vous permettra de créer pleins de jeux avec un système temporel !

Ah ! Et surtout, lorsque le temps commence à passer dans votre jeu, n'oubliez pas d'initialiser les variables "heures" "minutes" et "jour", sinon vous commencez automatiquement à 0h00 le jour 0.Par exemple, si votre jeu commence un mercredi (par exemple) vous DEVEZ initialiser la variable "jour_semaines" à 3, même si c'est le premier jour de jeu !




Ce tutoriel a été créé sur RPG Maker 2000/2003. Pour le faire fonctionner sur RPG Maker XP/VX et Ace, vous devez appeler vos événements communs Temps et Jour/Nuit en processus parallèle via un interrupteur, à activer en début de jeu/au moment où vous souhaitez que le système soit actif.
Aussi, 1 seconde correspond à 20 frames sous RPG MAKER XP.

Source : Réponse de Xorin le 27/12/2007, lien : https://web.archive.org/web/20071227201158/http://www.rpg-maker.fr/index.php?page=tutos&id=131

Ecrit vers 2007.
Mis à jour le 22/4/2020.





raado - posté le 24/07/2008 à 14:36:06 (599 messages postés)

❤ 0

Noob flemmard

C'est vraiment bien fait ton tuto mais je me demande comment ça se passerat avec RMXP ou RMVX(c'est ce dernier que j'ai...:hum)

Cliquez!


Youhouy - posté le 14/08/2008 à 07:32:44 (5 messages postés)

❤ 0

Jtrouves ça trés utile, quand ça marches:) je ne sais pas d'où viens le soucis (je sais pas si ça a de l'importance mais j'utilises VX et les événements communs n'ont pas de déclenchements ''en appel'' seulement ''processus paralléles'' et éxécutions automatiques'')
MERCI D'AVANCE:)


adidyan - posté le 21/08/2008 à 21:42:50 (57 messages postés)

❤ 0

Apprenti Mappeur

Merci beaucoup pour ce tuto très instructif...
(J'adore tes commentaires sous les images :) )

Pour repondre a Youhouy, sur VX (que j'utilise) l'equıvalent de "Appel", c'est "Aucun".



Adidyan

Adidyan


Wolf - posté le 25/08/2008 à 11:28:39 (1 messages postés)

❤ 0

MERCI !!!

Grâce à ce tuto très utile, j'ai réussi à faire un pouvoir qui permet d'activer la nuit ou le jour quand on veut !
Il suffit de le lier à l'évènement commun Nuit !

PS : Ça marche avec le jour !

Utile pour faire des évènements uniquement le jour ou la nuit, du genre une plante qui pousse que la nuit,

>condition : si l'interrupteur nuit est activé, message :
La plante pousse !!
Utile aussi pour forger son épée : le forgeron vous dit de revenir demain !
Utile, non ? MERCI pour ce tuto !!!!!!!!!<3<3:kirby:sonic


^^ (visiteur non enregistré) - posté le 03/11/2008 à 16:03:08

❤ 0

moi sa fait un vieil effet avec le ton de lécran...


kmi81 - posté le 19/02/2009 à 02:03:43 (102 messages postés)

❤ 0

Buvez, c'est mon sang. Mangez, c'est mon corps. Touchez pas c'est mon cul.

C'est super merci! J'avais jamais réussi à faire un système qui marche à 100%...

Commence tout, ne fini rien...


bakka - posté le 06/06/2009 à 13:54:20 (4 messages postés)

❤ 0

Bonjour,

J'ai un problème avec la gestion du temps ...
Donc je crois que dans mon jeu (une fois l'interrupteur Temps_marche = ON) 1sec (réel) = 1h (In game)...

Je vois pas ou est le problème donc je viens poster ^^

Screen de mon évènement : Temp :
http://www.picdo.net/Fichiers/3e3f33e5946f208d080f934ef5b808de/ScreenShot028.jpg

Merci d'avance !


Loly74 - posté le 05/09/2009 à 12:24:22 (861 messages postés)

❤ 0

Ex Couteau Suisse Agréé

Ouaou!c'est un tuto très utile ,en plus,si on veut faire un jeu ou on se trouve sur un planete ou 4 heures=1 jour,c'est faisable!

EDIT:j'ai pas les déclanchement en APPEL,donc ceci n'est pas faisable sur VX....je vais chercher une autre solution pour que ca marche

(moi,je fais plus compliqué:
passage matin>jour>apres-midi>sior>nuit>aube>matin

ET en plus,a midi et minuit,la cloche du village rententi...)

Travaille actuellement sur Roadelicious | Mes Musiques! | Anciens projets : Sylvan Melody, Terkass |Le making, c'est réaliser le meilleur jeu du monde... à vos yeux."Les RTP c'est quand même très limité. Quand on réalise un jeu, on réalise un univers qui va avec, et cet univers il passe beaucoup par les graphismes, et l'identité qu'on leur donne."


luclis - posté le 21/11/2009 à 11:43:29 (1 messages postés)

❤ 0

Pour l'instant tout marche bien mais la derniere image a disparu...
Donc si quelqu'un pourrait m'aider (je vais essayer tout seul mais j'suis pas sur) ou sinon remettre cette image.

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers