Sphinx-GameClock

Sphinx-GameClock

Comme tous mes plugins, ce script est publié sous licence CC BY 4.0.

Ce que je vous propose aujourd’hui, c’est un système temps réel. Lors du chargement d’une partie (nouvelle partie ou chargement d’une sauvegarde), l’horloge interne du jeu se synchronise avec l’heure renvoyée par le serveur paramétré.

Installer un « serveur de temps »

Ce n’est pas exactement un serveur de temps que nous allons mettre en place. C’est un serveur web classique dont la tache sera de donner l’heure, tout simplement.

Le serveur, ce n’est pas grand chose, c’est seulement une page php hébergée sur internet. Pour que le script suivant fonctionne, vous devez l’héberger sur un serveur faisant tourner PHP en version 5.2.0 minimum (version 7 compatible) :

Après avoir hébergé ce script, vous pouvez le tester en y accédant depuis votre navigateur. Si tout va bien, vous devriez voir affiché la date courante du serveur. Vous pouvez sélectionner un fuseau horaire différent en ajoutant, après le nom du script (probablement index.php) un point d’intérogation (?) suivi du fuseau horaire voulu. Exemple : ?Australia/Sydney pour connaitre l’heure chez les kangourous. Voici la liste des fuseaux horaires supportés par PHP.

Intégrer MomentJS

Maintenant, tout se passe dans votre projet RPG Maker MV. Tout d’abord allez télécharger la dernière version de MomentJS sur le site officiel. Ensuite, prenez l’extension Timezone pour MomentJS. Une fois ces deux scripts téléchargés, intégrez-les comme n’importe quel autre plugin à votre projet RPG Maker MV.

Sphinx-Math.easing

Ajoutez le script Sphinx-MathEasing.js suivant :

Sphinx-GameClock

Maintenant, ajoutez le script Sphinx-GameClock.js avec le contenu suivant dans votre projet :

Ce script gère la synchronisation avec le serveur, la mise à jour de l’horloge (toutes les demies secondes environ), la localisation dans un fuseau horaire, mais également la teinte de l’écran. A noter qu’à cause de ce dernier point, la commande d’évènement Modifier la teinte de l’écran… n’aura plus d’effet.

Ce plugin définit également deux commandes de plugin pour modifier l’heure interne du jeu. En effet, si le système sait se synchroniser avec l’heure réelle pour gérer l’écoulement du temps, il est aussi capable de maintenir un écart constant entre l’heure réelle du serveur et l’heure du jeu.

Voici les commandes de plugin disponibles :

  • FIXER_DATE DATE
    Modifie la date et l’heure du jeu. DATE doit être une date au format DD/MM/YYYY HH:mm.
  • FIXER_TIMEZONE TIMEZONE
    Modifie le fuseau horaire du jeu. TIMEZONE doit être un des fuseaux supporté par le système. Voir la liste des fuseaux horaires supportés par PHP (et donc par mon système).

A noter que la commande FIXER_DATE fixe l’heure dans le fuseau horaire actuel. Si vous voulez changer l’heure dans un nouveau fuseau horaire, il faut d’abord fixer le fuseau horaire puis fixer l’heure.

Et bien sûr, vous pouvez également afficher la date au format que vous voulez grace à la nouvelle commande de messages \DATE[FORMAT] où FORMAT est un format pris en charge par MomentJS.

Scènes de modification du temps interne du jeu

Ce qui suit n’est pas indispensable pour que le système fonctionne. Il s’agit de deux scènes qui permettront au joueur de choisir lui même le jour et l’heure interne du jeu. Elles sont loin d’être parfaites – elles fonctionnent techniquement, mais elles ne sont pas travaillées graphiquement -, mais ces bricolages pourront vous servir de base.

Sphinx-SceneCalendar

Je vais commencer par Sphinx-SceneCalendar, la scène de modification du jour. Avec la commande de plugin REGLER_CALENDRIER, la scène s’ouvrira et affichera un calendrier qui gère les week-ends et les jours fériés. En cliquant sur les boutons autour du nom du mois en haut, le joueur pourra naviguer entre les mois (sans aucune limite). En cliquant sur un jour, le système changera la date interne du jeu.

Pour fonctionner, vous aurez besoin de ces images. Décompressez ce fichier zip dans le dossier img/ de votre projet : calendar.zip.

Sphinx-SceneClock

Maintenant on va passer à la scène de réglage de l’heure. Avec la commande de plugin REGLER_PENDULE, la scène de réglage de l’heure s’ouvrira et affichera une pendule, ainsi que de quoi la régler en dessous.

Pour fonctionner, vous aurez besoin de ces images. Décompressez ce fichier zip dans le dossier img/ de votre projet : clock.zip.

Et voilà, vous avez tout. Enjoy it !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.