❤ 1Gari Système de PHS pour RPG Maker XP
Et oui vous ne rêvez pas !!! Je vous propose pour ce "big tuto" de faire un système de PHS (Party Hero Switch), soit un menu pour changer les membres de votre équipe active (comme Final Fantasy VII). De nombreux script existent pour en faire mais entre ajouter des scripts et modifier les scripts déjà existant cela peut s'avérer relativement galère. Malheureusement ça ne fonctionne pas toujours, il faut chercher, trouver les problèmes (si problème il y a), etc. Bref. Si on ne connaît pas le Ruby bonjour l'angoisse. Alors je me suis dit que je pourrais en faire un par événements. Ca n'a pas été très facile je l'avoue. Pas loin de dix jours pour la première version. Quelques heures pour la version que je vais vous faire découvrir. A la fin de ce tuto vous trouverez un lien pour le télécharger.
Un aperçu du résultat final.
Et si on commençait ???
Pour appliquer ce tutoriel, il faut connaître quelque chose de primordial : LES VARIABLES.
Ce tuto est fait pour six personnages dans le PHS. Rien ne vous empêche d'en rajouter ou d'en retirer. Une fois que vous le maîtriserez, vous aurez comme seule limite votre imagination.
1/ Préparation
Nous allons commencer par créer les interrupteurs et les variables nécessaires pour la fabrication du PHS.
Pour cela il faut :
- 1 interrupteur par personnage
- Entre 5 et 10 variables
Ces variables ont pour nom dans ma démo :
X_POS
Y_POS
ID_CARTE
Curseur
Equipe
Ces 5 là sont obligatoires. Les prochaines sont facultatives :
HP
HP MAX
MP
MP MAX
NIVEAU (pas mis dans ma démo)
Il vous faudra également une carte vierge avec le panorama qui vous servira de PHS.
Et pour finir un objet nommé PHS. Réglez-le pour aucune cible, utilisable uniquement sur la carte, appelle l'événement commun PHS et non consommable.
2/ L'événement commun de lancement du PHS
Nous allons faire ici l'événement commun qui lancera le PHS.
Faites comme sur l'image. Je vous donne les explications en dessous.
Dans l'ordre :
- Le personnage jouable devient transparent pour qu'il n'apparaisse pas sur le PHS.
- Les variables X_POS, Y_POS et ID_CARTE enregistrent les coordonnées exactes du héros. L'objectif est qu'en quittant le PHS le joueur reprend exactement au même endroit.
- On désactive le menu principal le temps de choisir les personnages qu'on va changer.
- Et bien sûr on se téléporte sur la carte du PHS (peu importe l'endroit ca ne change rien)
3/ Programmation du menu
Nous allons programmer le PHS en lui même. Ca sera la partie la plus difficile de ce tutoriel.
Sur votre carte où doit se trouver notre PHS, je crée un événement en processus parallèle.
Dans l'ordre, voici ce que j'ai fait dans ces événements :
- On change la configuration de la boîte message : haut, sans fenêtre pour voir le niveau, HP et MP (si vous le faites). Ici c'est en haut mais c'est comme vous le voulez
- La condition avec l'interrupteur (voir plus bas pour plus d'information) se fait pour chaque personnage d'où la condition si le personnage "x" est dans l'équipe. Si le personnage fait partie de l'équipe active il sera assombri, sinon il sera éclairci.
- La dernière image (n°7 dans ma démo) est le curseur
- L'étiquette B permet de revenir au début de la boucle pour les différents choix
- On met une attente (même la plus courte) pour éviter les bugs
- On stocke l'appui de la touche pour pouvoir déplacer le curseur de droite à gauche et de haut en bas
- On met toujours au début la condition si la variable curseur est différente de zéro. Ensuite on règle les différentes touches pour gauche, droite, haut et bas. Ce qui donne dans le même ordre : 4, 6, 8 et 2
- On déplace le curseur en fonction de l'appui de la touche (le plus dur étant de trouver le bon déplacement en pixel)
- On saute vers le personnage suivant pour recommencer une nouvelle boucle (pour la troisième image se serait donc : "étiquette C"=personnage à droite du premier, "étiquette G"=personnage en bas à droite, "étiquette G"=même chose en appuyant sur haut et "étiquette E"= personnage en dessous du premier personnage
- Si la variable curseur = 13 (touche espace/sélection) on saute sur l'étiquette "perso B"
IMPORTANT : l'étiquette B et perso B ne sont pas les mêmes. L'étiquette B revient dans la boucle et l'étiquette Perso B permet de mettre le personnage dans l'équipe ou de le retirer (ce sera détaillé en fin de tuto avec l'image correspondante)
- La condition : si le personnage "x" est dans l'équipe et si la touche L est pressée on obtient les informations contenues dans les variables qui mémorise le niveau, HP, HP MAX, MP, MP MAX (la touche L représente la touche Q dans le jeu)
- La dernière condition : si la touche R est pressée (W dans le jeu), le menu est réactivé, le leader redevient visible, toutes les images sont effacées et le héros revient sur les coordonnées mémorisées par les variables de l'événement commun.
Et le résultat que ça donne :
Spoiler (cliquez pour afficher)
On répète toutes les boucles pour chaque personnage. Ainsi, pour le deuxième par exemple, si on fait gauche le curseur va sur le premier personnage, si on refait gauche le curseur va sur le personnage tout à droite, etc...
Spoiler (cliquez pour afficher)
Vous vous souvenez des étiquettes "Perso x" ? C'est ici que l'étiquette prend son sens. Les conditions : si le héros "x" est dans l'équipe et si la touche C est pressée permettent soit de retirer le personnage (dans ce cas il devient clair) soit de le prendre (il devient foncé). Elles modifient donc la variable équipe pour ne pas dépasser trois personnages en plus (le quatrième étant le personnage principal, non modifiable dans ce menu).
Spoiler (cliquez pour afficher)
Ajouter un membre dans son équipe
Maintenant que notre menu est fini, il ne nous reste plus qu'à créer un événement sur n'importe quelle carte du jeu pour chacun des personnages jouables du jeu.
Et voici ce que doit contenir votre événement :
- On ajoute le personnage dans l'équipe.
- On active l'interrupteur "x" pour que l'image apparaisse dans le PHS
- La condition nous permet de ne pas dépasser 4 membres pour ne éviter les bugs. Si l'équipe n'est pas encore complète la variable "équipe" augmente de 1. - Pour éviter tout bug la variable restera à quatre si le personnage rencontré n'est pas l'équipe actif mais il apparaîtra dans le PHS
Conclusion
Je n'ai rencontré aucun bug dans ce système de PHS. N'hésitez pas à prévenir si vous en trouvez.
Pour les personnes qui auraient un peu plus de mal, une démo propose des commentaires dans les événements. Sinon recopiez bêtement mes événements un par un en testant à chaque fois. Je sais bien que cette méthode est longue mais vous comprendrez mieux les événements ainsi.
La voici : https://www.rpg-maker.fr/divers/tutoriels/tuto363_crackerwood_systeme_de_phs_demo_xp.zip
Avec ce système par événements vous pouvez faire tout ce que vous voulez. J'ai fait avec six personnages mais vous pouvez le faire avec moins ou même avec quinze, vingt ou pourquoi pas trente personnages (bonne chance alors).
J'en ai donc fini avec ce long tuto. J'espère qu'ils vous servira et si quelqu'un a des problèmes ou des questions, vous pouvez me contacter sur [http://micro-making.fr ou par mail à cette adresse mail : rpg_maker_xp@hotmail.fr vous pouvez en parler dans la section entraide du forum.
Ecrit vers 2010.
|