Accueil Article Forum Jeux RM Script RM XP Téléchargement Tutoriaux

Tuto PHS de Haltar
Aujourd' hui, je vais vous apprendre (hahaha) les bases de la programmation d' un menu custom.
Mais pas n' importe quel menu, celui-ci nous servira de menu de sélection de personnages, ou pour les connaisseurs de ff7, de PHS.
Pour cela, nous aurons besoin de ceci:

(à mettre dans le dossier de panorama)
Ainsi que ce petit curseur:

(à mettre dans le dossier picture)
Mais vous vous dites alors, et les personnages ? On les montrera comment ?!
Pas de panique, je vais tout vous expliquer.
Commencez par créer une map vierge de 20*15, sur laquelle vous afficherez le panorama qui nous servira de fond au PHS.
Puis, nous allons afficher les charsets des personnages que nous souhaitons pouvoir sélectionner, comme ceci:

Vous remarquerez que j' ai aussi mis un charset invisible dans la case vierge en haut à gauche: mettez-le aussi, je vous expliquerais son utilitée bientôt.
Nous avons donc jusqu' à maintenant:
-->Le fond du PHS
-->Les charsets des personnages à sélectionner
-->Le curseur
On va maintenant pouvoir passer à la programmation du PHS en lui-même !
Tout d' abord, créez un interrupteur que vous nommerez "début sél", et mettez-le sur ON, puis faites effacer l' événement.
Jusque là ça va, ce n' est pas trop difficile, n' est-ce pas ? Maintenant, attaquons la seconde partie de la programmation.
Définissez une variable qui calculera l' appui des touches 1, 2, 3, 4, 5, 6 et 20 (soit les flèches de direction, validation, annulation et +). Nous allons ensuite faire l' affichage du curseur sur les options du bas.
Pour cela, créez un nouvel événement qui a pour condition d' activation le switch "début sél".
Bon, comme je suis sympa, je vais vous donner les dimensions "à priori" à utiliser avec mon template.
Citation:
Option 1: 17,190
Option 2: 17,207
Option 3: 17,225

Voilà, vous avez votre curseur qui s' affiche devant les différentes options ! Maintenant, il faut leur attribuer une utilitée à ces options.
Citation:
Option 1: désactive le switch "début sél", active le switch "choix-perso"
Option 2: ouvre le menu
Option 3: téléporter à l' endroit mémorisé, changer apparence "invisible" en apparence (charset du héros)

Je ne vais pas vous expliquer comment faire cela, vous devez en être capable sinon vous ne liriez pas ce tutorial en ce moment-même...
Maintenant, créez un nouvel événement avec comme condition d' activation le switch "choix-perso" == ON
Reconfigurez la variable des touches, toujours sur les mêmes valeurs. Nous allons afficher le curseur devant chaque charset cette fois-ci.
Je vous donne encore les mesures pour ceux qui utilisent mon template pour démarrer.
Citation:
P1: 17,80
P2: 78,80
P3: 142,80
P4: 205,80
P5: 270,80
P6: 17,115
P7: 78,115
P8: 142,115
P9: 205,115
P10: 270,115
P11: 50,150
P12: 114,150
P13: 175,150
P14: 239,150

Pas trop fatigués d' avoir entré toutes ces mesures j' espère ? Parce qu' il nous reste encore quelques petites choses à faire !
Tout d' abord, il faut la condition d' appui sur Entrée (qui correspond à la valeur 5).
Citation:
Fork Optn:Var.(XXXX: touche-appui) -5
Fin

Un peu vide, cette condition, non ? Ajoutons-y quelque chose...un message par exemple, définissant le nom du personnage, son niveau, ses HP/HP MAX, et ses MP/MP MAX. Pour cela, pas besoin de 50000 conditions, juste 5 variables suffisent.
Citation:
level-h: niveau de X (selon où le curseur est pointé)
hp-h: hp actuels de x
hp-max-h: hp max de x
mp-h: mp actuels de x
mp-max-h: mp max de x

Message: \n[numéro du perso]-Level: \v[level-h]
HP: \v[hp-h]/\v[hp-max-h]
MP: \v[mp-h]/\v[mp-max-h]

Voilà, en 5 variables et quelques commandes le tout est fonctionnel ! Bien sur, vous devez modifier les variables avant chaque message, pour qu' aucune confusion ne se fasse (ex: on verrait les hp du héros 5 en sélectionnant le héros 3)
Pour un résultat optimal (suite à l' écrit de votre message), et ce en utilisant mon panorama, je vous conseille de faire ceci:
Options de message:Tms,HautFixe,Attendre Evènem.
Message: -\n[XXXX]- Lv: \v[XXXX]
HP: \v[XXXX]/\v[XXXX]
MP: \v[XXXX]/\v[XXXX]

Et oui, faites un ecart de 10 espaces entre le texte et la gauche de la boîte de dialogue, ce qui vous donnera ceci:

Pas mal non ? Et ça évite d' avoir un gros vide tout moche et qui ne sers à rien !
Bon c' est pas tout ça, mais c' est pas en affichant uniquement le niveau et les hp/mp des différents persos que l' on va aller loin avec ce système de PHS. Nous allons donc créer un choix entre "Ajouter Equipe", "Retirer Equipe" et "Annuler".
Citation:
Aj. Equipe: Ajoute le personnage dans l' équipe s' il y a moins de 4 personnages, et s' il n' y est pas déjà.
Ret. Equipe: Enlève de l' équipe s' il y est déjà.
Annuler: Ne fait rien.

Ajouter Equipe: Nous devons créer une variable qui calcule le nombre de membres dans l' équipe, et si elle est égale à 4, le membre n' entrera pas dans l' équipe.

Ensuite, si jamais l' équipe n' est pas pleine (case Else), il faut voir s' il n' est pas déjà dans l' équipe ce monsieur.
Citation:
<>Fork Optn:[nom] Membres Equipe
<>Message: Ce personnage est déjà dans l'équipe

<>
Case Else:
<>Chg.Equipe: X-> Ajou.

Voilà pour l' option d' ajout du personnage dans l' équipe, elle est dorénavant optionelle ! Mais ça ne nous aidera pas lorsque l' équipe sera au complet...Dans ce cas, remplissons l' option de suppression d' un personnage !

C' est assez simple non ? A savoir que Annuler n' est pas un choix, c' est la commande qui s' effectue si vous appuyez sur Echap (ça annule donc votre choix).
On a presque tout...mais si je souhaitais retirer toute mon équipe en une fois ? Simple, lisez ceci:

Vous l' aurez sans doute compris, il faut retirer de l' équipe tout le monde sauf le personnage principal (de toutes manières vous ne pouvez avoir une équipe de 0 personnages, sinon vous seriez Game Over directement).
Voilà, ce tutorial est donc terminé ! Voici un aperçu de ce que vous pourriez obtenir...

Voici une démo, avec le système entier, vous pouvez bien sur recopier directement les événements de la démo, mais vous ne comprendriez jamais...du moins, pas aussi bien qu' en expérimentant vous-même le système !
http://tragicdream.free.fr/Tutorial%20CMS.zip