Partagez
Aller en bas
avatar
Sphinx
Membre

Nombre de messages : 58
Distinction : aucune
Date d'inscription : 08/03/2016

[Plugin] Maplink pour RMMV

le Ven 11 Mar 2016 - 17:30
MapLink pour RMMV

Bonjour à toutes et tous. A partir des notes de Tonyryu sur la gestion des tiles dans RMMV, j'ai réalisé un système de maplink pour RMMV.

Voici le résultat obtenu (avec les paramètres par défaut) :


DEMO

L'installation est assez simple. Ajoutez simplement le code suivant dans un nouveau fichier Maplink.js (si vous souhaitez renommer le fichier, vous pouvez mais pensez à actualiser le nom du fichier à la ligne 59 du script) :


(comme le script était trop grand, je l'ai enregistré sur JSFiddle.net)

L'utilisation est assez simple également. Cependant, pour que le maplink fonctionne, il est nécessaire que les deux cartes à joindre utilisent le même tileset, ou au moins que tous les éléments de chaque carte affichée sur l'autre soient placés de facon identique sur les 2 tilesets.
Une fois jointes, les lignes (pour les maps au dessus et en dessous)/colonnes (pour les maps à gauche et à droite) à proximité de la jointure seront affichées sur la map courante.

Les remarques à insérer dans les propriétés des cartes sont les suivantes :

  • <linkLeft:ID_CARTE> : Pour joindre la carte ID_CARTE à gauche
  • <linkRight:ID_CARTE> : Pour joindre la carte ID_CARTE à droite
  • <linkTop:ID_CARTE> : Pour joindre la carte ID_CARTE au dessus
  • <linkBottom:ID_CARTE> : Pour joindre la carte ID_CARTE en dessous


Voilà un premier schéma expliquant comment joindre différentes cartes ensemble, la map courante étant celle sur laquelle se trouve le joueur.
Un maximum de 4 cartes peuvent être jointes : une au dessus (linkTop), une en dessous (linkBottom), une à gauche (linkLeft) et une à droite (linkRight).

Il n'est pas nécessaire que les cartes jointes fassent la même dimension, mais le côté en commun devrait être de même taille sur les deux cartes pour éviter l'apparition de tiles noirs au niveau de la jointure.
En outre, actuellement, les jointures sont alignées à partir de la gauche de chaque carte pour les jointures horizontales (linkLeft et linkRight) et à partir du haut pour les jointures verticales (linkTop et linkBottom).

Dans l'exemple ci-dessus, le coin en haut à gauche serait rempli de tiles vides. Une solution pourrait être alors d'empêcher le joueur d'approcher de ce coin. Cependant, le maplink peut également remplir ce vide automatiquement, si les cartes 2 et 3 sont elles même jointes à une même carte comme dans le schéma ci-dessous :

En outre, les évents présents dans les zones affichées des cartes jointes seront aussi affichés si ceux-ci ont une apparence sur au moins une page. Les évènements ainsi ajoutés ne seront pas exécutés (dans le cas où ceux-ci sont en démarrage automatique ou en processus parallèle) et leur apparence sur la carte sera conditionné aux mêmes règles que sur leur propre carte.

Ce plugin intègre 2 paramètres :

  • Taille jointure horizontale : Nombre de colonnes de tiles affichées des cartes jointes à gauche ou à droite (par défaut : 9)
  • Taille jointure verticale : Nombre de lignes de tiles affichées des cartes jointes au dessus ou en dessous (par défaut : 7)

Le choix des valeurs par défaut s'explique ainsi : dans le cas de la résolution par défaut des jeux RMMV (soit 17x13 tiles) c'est le nombre de lignes/colonnes qu'il faut ajouter à la carte courante pour que le joueur ait l'impression de se déplacer sur une seule et même carte plutôt que sur plusieurs morceaux de plus petite taille.

Pour un rendu optimal, il est évidemment recommandé de bien penser à faire les jointures sur les 2 cartes (sans quoi, au moment de la téléportation de la première carte à la seconde, le joueur se retrouve totalement au bord de la carte).
Ce plugin est actuellement destiné à être utilisé pour remplacer de grandes cartes (connues pour lagguer) comme de grandes villes ou de longues routes/grottes/... par de plus petites assemblées les unes aux autres.

Ce qui reste à intégrer/améliorer :

  • Fluidifier la transition entre 2 cartes (actuellement, si le joueur se déplace avant la fin de sa téléportation - s'il maintient une touche de déplacement par exemple -, il y a comme un effet saccadé au moment de la transition)
  • Intégrer la possibilité d'un décalage dans la jointure
  • Joindre des maps utilisant des tilesets différents
  • Mettre un tile par défaut pour remplacer les tiles vides


Dernière édition par Sphinx le Sam 15 Oct 2016 - 22:09, édité 6 fois
avatar
tonyryu
Membre

Nombre de messages : 896
Age : 37
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Re: [Plugin] Maplink pour RMMV

le Ven 11 Mar 2016 - 18:17
Beau boulot.

A voir, si le blocage du déplacement pendant la téléportation pourrait supprimer l'effet de saccade.
Le décalage dans la jointure permettrai effectivement de lier des cartes de tailles différentes.
Lier avec des tileset différents, c'est compliqué, car du coup, il faut bien penser à utiliser des tileset partageant un tiles ou 2 identiques pour éviter d'avoir une bande franche entre les 2 maps.
Idem pour le tile par défaut, il faut qu'il soit partager par les autres map adjacentes.
avatar
Sphinx
Membre

Nombre de messages : 58
Distinction : aucune
Date d'inscription : 08/03/2016

Re: [Plugin] Maplink pour RMMV

le Mar 15 Mar 2016 - 0:15
Petite modification de mon script pour renommer et appeler différemment les alias ^^

Edit 15/03/2016 : Ajout d'une vidéo de démonstration du maplink
avatar
maror
Membre

Nombre de messages : 35
Age : 20
Distinction : aucune
Date d'inscription : 29/07/2010

Re: [Plugin] Maplink pour RMMV

le Lun 28 Mar 2016 - 21:47
Hello hello, j'ai un petit problème avec ton script, bon, il est super cool :3
Mais sur certaine map, lorsque je charge une sauvegarde, ça ne met pas mon personnage à l'endroit où je l'avais laisser, mais décaler vers la gauche, donc parfois, il se retrouve dans des murs ou carrément hors de la map --'
C'est moi qui est mal fait un truc ou j'ai (peut être) un problème de compatibilité avec d'autres scripts ?
Voilà voilà, mais sinon il marche nikel, ça me rappelle PSP :3
avatar
Spytje
Administrateur

Nombre de messages : 5899
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Re: [Plugin] Maplink pour RMMV

le Lun 28 Mar 2016 - 21:55
Je suis occupé de tester mais il y a aussi des soucis avec le script d'overlay de mon coté.
avatar
Le_Matou
Membre

Nombre de messages : 831
Age : 33
Localisation : Québec , Québec , Canada
Distinction : aucune
Date d'inscription : 31/10/2015
https://matoudev.wordpress.com

Re: [Plugin] Maplink pour RMMV

le Lun 28 Mar 2016 - 22:27
Super comme plugins.

Je crois que ton plugins serai utile dans un donjons. Comme dans FFVII quand Cloud est dans le désert. Faut faire deux fois gauche pour avoir le ''Taxi'' qui nous ramènes au campement ou quelque chose du genre. Tant dit que dans ton cas, le joueur ne se souci pas d'allez de map en map.

Serai-t-il possible avec ce plugins de faire, par exemple, le joueur vas à la map Gauche, Haut, Droite, Haut,Droite, Droite et tombé sur le boss de la fin( avec une autre map.)?

Du moins, je vois ce plugins dans se genre de concepts.

avatar
LightNox
Membre

Nombre de messages : 1755
Age : 27
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

Re: [Plugin] Maplink pour RMMV

le Lun 11 Avr 2016 - 10:56
Pas mal se plugin ^^
avatar
Spytje
Administrateur

Nombre de messages : 5899
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Re: [Plugin] Maplink pour RMMV

le Lun 11 Avr 2016 - 13:58
Ouep mais ça serait bien que le créateurs de ce plug repasse pour les bugs de compatibilités Smile
avatar
Sphinx
Membre

Nombre de messages : 58
Distinction : aucune
Date d'inscription : 08/03/2016

Re: [Plugin] Maplink pour RMMV

le Mar 12 Juil 2016 - 9:26
Me revoici Smile

Marror, peux tu me poster le paramétrage de ton maplink (pour la carte qui bugge quand tu reprends ta partie sauvée et sur celle d'où tu venais juste avant) s\'il te plaît ?
avatar
maror
Membre

Nombre de messages : 35
Age : 20
Distinction : aucune
Date d'inscription : 29/07/2010

Re: [Plugin] Maplink pour RMMV

le Mar 2 Aoû 2016 - 14:19
@Sphinx a écrit:Me revoici Smile

Marror, peux tu me poster le paramétrage de ton maplink (pour la carte qui bugge quand tu reprends ta partie sauvée et sur celle d'où tu venais juste avant) s\'il te plaît ?
Alors alors, désoler pour la réponse tardive, j'était
en vacance ^^"

Alors voici ce que j'ai mis dans le notes (C'est bien ça que tu me demandais ?_?) de ma carte :
Code:
<linkLeft:45>
<linkTop:46>
avatar
Sphinx
Membre

Nombre de messages : 58
Distinction : aucune
Date d'inscription : 08/03/2016

Re: [Plugin] Maplink pour RMMV

le Jeu 6 Oct 2016 - 3:17
@maror a écrit:Alors alors, désoler pour la réponse tardive, j'était
en vacance ^^"
Toutes mes excuses à mon tour (j'ai de gros soucis personnels ces derniers mois qui me prennent énormément de temps, d'où mes réponses en décalé)

Ok, donc tu as bien relié la carte XX à la carte 45 qui se trouve à sa gauche, et à la carte 46 qui se trouve au dessus. Sur les cartes 45 et 46, as tu également fait les jointures correspondantes, à savoir
Carte 45 :
Code:
<linkLeft:XX>
Carte 46 :
Code:
<linkBottom:XX>
?
avatar
maror
Membre

Nombre de messages : 35
Age : 20
Distinction : aucune
Date d'inscription : 29/07/2010

Re: [Plugin] Maplink pour RMMV

le Jeu 6 Oct 2016 - 8:17
Oui, j'ai tout configurer correctement ^^
avatar
Sphinx
Membre

Nombre de messages : 58
Distinction : aucune
Date d'inscription : 08/03/2016

Re: [Plugin] Maplink pour RMMV

le Sam 15 Oct 2016 - 23:00
J'avoue ne pas comprendre alors... J'ai beau tester de sauvegarder/charger, mon personnage n'est pas décallé Crying or Very sad

As-tu d'autres plugins particuliers (surtout qui concernent les sauvegardes) ? Si oui, le bug se produit-il toujours quand tu les désactives ? (mon but est de savoir si un de tes plugins cause une interférence quelconque afin d'y remédier)

J'en profite également pour ajouter une démo du système

EDIT : Pour l'overlay mapping, je crois que je commence vaguement à comprendre de quoi il s'agit, je viens de télécharger le pluggin de Kaus (ici, merci google c'était le premier résultat) pour tester et - une fois que j'aurais compris comment ca marche - voir si je peux rendre mon maplink compatible avec ^^
avatar
Sphinx
Membre

Nombre de messages : 58
Distinction : aucune
Date d'inscription : 08/03/2016

Re: [Plugin] Maplink pour RMMV

le Dim 16 Oct 2016 - 1:24
Pardon pour le double post qui n'est pas mon habitude, mais ca me semble être requis cette fois ci (pour séparer de mon message précédent)

J'ai testé l'overlay mapping de Kaus, et voici un plugin complémentaire requiérant le script original de Kaus ainsi que mon script de maplink pour fonctionner :

Avec pour très gros inconvénient : les parties jointes ne bénéficient pas de l'overlay (je me contente de corriger la position de l'image, je n'en rajoute pas). Je le poste quand même mais personnellement ce n'est pas un résultat qui me plait

Toutefois cette recherche m'a permis de me pencher sur ce type de making que je ne connaissais absolument pas.

Aussi j'en viens à la réflexion suivante : sous réserve d'avoir bien saisi le concept de l'overlay mapping, chaque couche d'overlay n'est utilisable que sur une et une seule map.
Du coup, pourquoi ne pas simplement reprendre la partie correspondant à la jointure (soit par défaut 9 * 48px = 432px pour les jointures horizontales et 7 * 48px = 336px pour les jointures verticales et un rectangle de 432px*336px pour les coins) sur les overlays ? Je comprends que ca agrandisse les images (soit pour les valeurs par défaut un agrandissement de 864px en largeur et de 672px en hauteur au max) mais est-ce un problème ? ^^" (sachant qu'en toute logique ce n'est pas exactement un choix, puisque soit on agrandit les autres images soit on affiche 4 jointures * 5 couches = 20 images max supplémentaires ce qui risque d'être problématique)

Après, ce qui me vient à l'esprit tout de suite, c'est d'automatiser via le menu debug la jointure par agrandissement des différentes couches de l'overlay via un plugin qui génèrerait les couches modifiées tout seul en récupérant les informations de la map correspondante.
Ca impliquerait 2 choses : d'abord pour le maker de travailler dans une arborescence à part (où le script ira chercher les images sources)
Ensuite, après la génération des couches adaptées au maplink, le rangement de ces couches dans l'arborescence du script d'overlay utilisé dans le projet

Si ca peut intéresser des gens, je veux bien me pencher sur cette question Smile (et si des âmes bien intentionnées acceptent de me renseigner sur l'ensemble des arborescences existantes pour les différents types d'overlay, je pourrai alors essayer de détecter l'overlay utilisé pour ranger les images directement au bon endroit)
avatar
Ffej720
Membre

Nombre de messages : 6
Distinction : aucune
Date d'inscription : 17/10/2017

Re: [Plugin] Maplink pour RMMV

le Mar 17 Oct 2017 - 22:03
C'est vraiment un super plugin, bonne continuité! J'attends avec grande impatience que les tilesets puisse être différent sans que ca cause de problème. Je reste alerte pour des mises à jour à ce niveau et t'encourage à 100% Very Happy
Contenu sponsorisé

Re: [Plugin] Maplink pour RMMV

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