Le deal à ne pas rater :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

Aller en bas
Medal'
Medal'
Membre

Nombre de messages : 413
Age : 27
Localisation : Alsace
Distinction : aucune
Date d'inscription : 23/12/2012

RPG Maker VX Ace [Tuto VX/VX Ace] Amélioration de la téléportation

Sam 27 Juin 2015 - 16:33
Bonjour, bonsoir à tous, ceci est mon premier tutoriel.

Dans un jeu, le héros est amené à passer d'une carte à une autre via un événement de téléportation.
Le but de ce tutoriel est de vous apprendre à améliorer le réalisme des changements de maps.
Voilà ce qui est dit dans le livre de Samarium : "Pour que le héros change de carte, il suffit d'employer la commande
d'événements Transfer Player. Le héros se téléporte alors vers un carreau donné d'une autre carte ou de la carte actuelle."

Ceci dit, le fait de ne faire qu'un événement de téléportation sur un seul carreau d'une carte pour passer à une autre carte ce n'est pas très réaliste.
"Pour rendre ça plus réaliste il n'y a qu'à faire d'autres événements de téléportation sur la même cartes", me diriez-vous. Oui, on peut. Mais le livre de samarium à une méthode beaucoup moins gourmande en évents, que je vais vous expliquer ici.
/!\CE TUTORIEL REPREND CELUI DU LIVRE MAIS ADAPTÉ POUR RPG MAKER VX ACE/!\

Tout d'abord, allez dans la base de données, onglet "événements communs" et créez un nouvel événement commun que vous pouvez appelé n'importe comment (moi je l'ai appelé "Téléportations").
Dans la page de l'événement, créez une nouvelle variable que vous appellerez "Position X héros" (par exemple), faites "Remplacer" puis dans valeur faites "Autre" -> "Événement" -> "Héros" -> "Carte X" puis faites "OK' pour revenir à la page de l'événement :

[Tuto VX/VX Ace] Amélioration de la téléportation 15062703001818241113402044

Puis, toujours dans la page événement, créez une seconde variable cette fois appelée "Position Y héros" (là encore c'est un exemple), puis vous faites la même chose : "Remplacer" -> "Autre" -> "Événement" -> "Héros" -> "Carte Y" puis "OK" pour revenir à la page de l'événement :

[Tuto VX/VX Ace] Amélioration de la téléportation 15062702593418241113402041

Quittez la base de données et allez sur une map où vous voulez améliorer la téléportation est placez un nouvel événement sur la ligne de téléportation voulue (je vous conseil, pour bien suivre le tuto, de placer l'événement comme sur l'image ci-dessous) :

[Tuto VX/VX Ace] Amélioration de la téléportation 15062704052318241113402463

La condition de déclenchement de ce nouvel événement est "Processus parallèle" puisqu'il vérifie la position du héros tout le temps.
Sur la page de l'événement faites "Événement commun..." et appelez l'événement commun que l'ont viens de créer ("Téléportations" dans mon exemple) :

[Tuto VX/VX Ace] Amélioration de la téléportation 15062704052518241113402464

Ensuite créez une nouvelle variable (que j'ai appelé "Position X event" pour l'exemple), faites "Remplacer", "Autre" -> "Événement" -> "Cet événement" -> "Carte X" :

[Tuto VX/VX Ace] Amélioration de la téléportation 15062704052718241113402465

Maintenant faites une condition pour vérifier si le héros se trouve sur la ligne de téléportation : "Condition..." -> "La variable "Position X héros" égale à la variable "Position X event"" (et décochez "Éxécuter autre chose si la condition n'est pas respectée") :

[Tuto VX/VX Ace] Amélioration de la téléportation 15062704052918241113402466

À l'intérieur de la condition, créez une nouvelle variable (appelée ici "Map ID"), faites "Remplacer", puis "Constante" et là vous mettez l'ID de la map sur laquelle le héros veut se téléporter, dans mon exemple il s'agit de la map d'ID 24, la constante sera donc de 24 :

[Tuto VX/VX Ace] Amélioration de la téléportation 15062704053118241113402467

Encore dans la condition, créez une nouvelle variable ("Map X" pour l'exemple), faites "Remplacer" et mettez 0 pour la "Constante" :

[Tuto VX/VX Ace] Amélioration de la téléportation 15062704053218241113402468

Et pour finir, toujours dans la condition, faites "Téléportation..." -> "Par variable" et là mettez "Map ID" pour "ID carte", "Map X" pour "Coord. X" et "Position Y héros" pour "Coord.Y" :

[Tuto VX/VX Ace] Amélioration de la téléportation 15062704054818241113402469

Quelques questions se posent à la fin de ce tuto, je vais y répondre de façon la plus claire possible :

Si on veut téléporter dans le sens inverse ?
Si vous voulez vous téléporter dans le sens inverse, il suffit de changer la constante de la variable "Map X" et de mettre la dernière valeur de l'abscisse de la carte (par exemple si vos cartes font 20*20, la dernière valeur de l'abscisse sera 19) à la place de 0.

Si on choisis une ligne de téléportation horizontale ?
Si vous avez choisis une ligne de téléportation horizontale, il suffit de faire la même démarche que si vous avez choisis une ligne verticale, l'événement commun ne changera pas mais dans l'événement sur la carte il faudra créer une variable "Position Y event" qu'il faudra remplacer par "Autre" -> "Cet événement" -> "Carte Y".
La condition changera elle aussi est deviendra : "Variable "Position Y héros" égale à "Position Y event".
Il faudra créer une variable "Map Y" et mettre sois 0, sois la dernière valeur de l'ordonnée (Y donc) de la map. Et pour finir dans "Téléportation..." il faudra faire : "Par Variable" avec "Map Id" pour l'ID de la map, "Position X héros" pour "Coord. X" et "Map Y" pour "Coord. Y".

Voili voilou Smile

Ce tutoriel est à présent terminé, j'espère qu'il en aidera certains et si vous avez des questions, postez les en commentaires et je tenterais d'y répondre Smile

Edit : Le tutoriel possède une faille. En effet, si vous placez l'événement de téléportations sur l'extrême droite d'une map d'ID A, comme vu plus haut, cela vous téléportera à l'extrême gauche de la map de destination d'ID B , ce qui est logique.
Maintenant, placer l'événement de téléportations à l'extrême gauche de la map d'ID B pour vous téléporter à l'extrême droite de la map d'ID A est tout aussi possible, et c'est faisable.
Mais un problème survient alors : La téléportation A -> B et B -> A se répétera à l'infini.
Ce n'est pas un gros problème en soi, mais du coup pour les personnes qui prévoit dans leur jeu que le héros revienne à plusieurs maps en arrière et bien ce n'est tout à fait pas possible à cause de cette boucle infini.
Le mieux est donc de ne pas revenir sur plusieurs maps en arrière.


Dernière édition par Medal' le Lun 29 Juin 2015 - 17:56, édité 6 fois
152'
152'
Membre

Nombre de messages : 542
Age : 22
Localisation : Ach, sûrement en train de corriger des fautes d'orthographe! (Mit ein Deutsch accent, bitte!)
Distinction : Crétin (SPY)
Nazi du dictionnaire (Gel')
Date d'inscription : 10/04/2015

RPG Maker VX Ace Re: [Tuto VX/VX Ace] Amélioration de la téléportation

Sam 27 Juin 2015 - 19:50
GG pour le tuto, Medal'!
(Perso je flood mes maps avec des events, mais je vais essayer d'utiliser ton tuto dans mes prochaines maps!)
152
Gelarto
Gelarto
Gelato Della Mamma

Nombre de messages : 2919
Age : 29
Distinction : Grand bêta-testeur de la communauté Curse
Personne avec du goût
Je ne suis pas une glace italienne, bordel de merde! [Gel']
Mon plus grand fan [Yama']
Mon ptit bichon [encore Yama']
Jeau-Paul II[Mist']
Saint-Gelato Le Frais [Mist']
Écrivain du dimanche [Amal']
FF IV Fanatic [LaCommu']
Collectionneur de distinctions de merde [Yama]
ModoGel [Un staffieux mais lequel?]
RNGel 2.0 [Zeal']
Date d'inscription : 31/07/2012

RPG Maker VX Ace Re: [Tuto VX/VX Ace] Amélioration de la téléportation

Dim 28 Juin 2015 - 1:10
Très sympa comme tuto! Merci Medal Smile

Pour la faille, tu ne peux pas la régler en forçant le héros à faire un pas après la téléportation afin de passer "devant" l'autre téléportation sans la subir? De mémoire ça devrait fonctionner^^
Medal'
Medal'
Membre

Nombre de messages : 413
Age : 27
Localisation : Alsace
Distinction : aucune
Date d'inscription : 23/12/2012

RPG Maker VX Ace Re: [Tuto VX/VX Ace] Amélioration de la téléportation

Dim 28 Juin 2015 - 2:18
@152 et Gel'
Merci à vous deux Smile


@Gel'
Je viens de tester et ça n'a pas l'air de fonctionné... En faisant le pas en avant (pour l'instant j'ai testé avec cette simple commande) il passe sur l'autre téléportation et du coup, il se fait téléporter de nouveau dans l'autre sens.
Je vais voir plus en détails demain Smile
Cyber Erox
Cyber Erox
Membre

Nombre de messages : 19
Distinction : aucune
Date d'inscription : 20/07/2015

RPG Maker VX Ace Re: [Tuto VX/VX Ace] Amélioration de la téléportation

Lun 20 Juil 2015 - 22:36
bien que j'aime pas trop m'aventurer dans le domaine trop "pro" je pense que je vais faire pareil ^^
Tyrion
Tyrion
Membre

Nombre de messages : 30
Localisation : Un peu partout...!
Distinction : aucune
Date d'inscription : 13/06/2015
https://denmakerprod.wordpress.com/

RPG Maker VX Ace Re: [Tuto VX/VX Ace] Amélioration de la téléportation

Lun 12 Oct 2015 - 21:22
Medal' a écrit:@152 et Gel'
@Gel'
Je viens de tester et ça n'a pas l'air de fonctionné... En faisant le pas en avant (pour l'instant j'ai testé avec cette simple commande) il passe sur l'autre téléportation et du coup, il se fait téléporter de nouveau dans l'autre sens.
Je vais voir plus en détails demain Smile

Merci au passage pour ce tutoriel. Very Happy

Tout d'abord, je m'excuse du nécropost !
Mais c'est pour apporter une aide si elle n'a pas été déjà résolue, pour ainsi éviter d'avoir une boucle de téléportation infinie, il faut tout simplement téléporté le joueur d'une case en plus ou en moins en faite... Je m'explique
Par exemple, pour une carte (par défaut) est de minimum en Largeur égale à "16" (X) et en Hauteur égale à "12" (Y) :
En faisant en sorte que la variable "Map X" égale "1" (ajouter 1) plutôt que zéro pour la téléportation verticale et ainsi de même pour la variable "Map Y" égale à 11 pour la téléportation horizontale, donc ainsi on évite d'entrer dans une boucle de téléportation infernale ! xD

Si sanction il y a et bien , j'en subirai les conséquences ! ^^
En espérant en aider plus d'un parce que ce tutoriel nous évite de faire bon nombres d'événements de Téléportation et ça, c'est cool ! o/

Je ne ferai plus de nécropost, promis. Smile
Spytje
Spytje
Administrateur

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

RPG Maker VX Ace Re: [Tuto VX/VX Ace] Amélioration de la téléportation

Lun 12 Oct 2015 - 21:36
Tyrion il n'y a pas de nécropost dans le sens ou ton message peut aider et est constructif.
Tyrion
Tyrion
Membre

Nombre de messages : 30
Localisation : Un peu partout...!
Distinction : aucune
Date d'inscription : 13/06/2015
https://denmakerprod.wordpress.com/

RPG Maker VX Ace Re: [Tuto VX/VX Ace] Amélioration de la téléportation

Mar 13 Oct 2015 - 17:13
D'accord et bien tant mieux ! Very Happy
Medal'
Medal'
Membre

Nombre de messages : 413
Age : 27
Localisation : Alsace
Distinction : aucune
Date d'inscription : 23/12/2012

RPG Maker VX Ace Re: [Tuto VX/VX Ace] Amélioration de la téléportation

Mar 16 Fév 2016 - 11:34
Bonjour !
Nécropost maggle, mais pour le coup ce n'est pas de ma faute X) J'ai pas vu le message de suite ^^"

Tyrion (Lannister) à tout à fait raison et je sais que cela marche même sans avoir encore testé car la méthode qu'il vient de dire est présente dans PSP (Pokémon Script Project) ^^

Et sinon, pour ceux qui ont testé, le système entier fonctionne bien ? :3

@spy
Pas taper :'(
Contenu sponsorisé

RPG Maker VX Ace Re: [Tuto VX/VX Ace] Amélioration de la téléportation

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