Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Sorties: Dread Mac Farlane - episode 2 / Sorties: Star Trek: Glorious Wolf / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

372 connectés actuellement

29106458 visiteurs
depuis l'ouverture

14155 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Tashiroworld

Lunae - le bazar d'Emz0

Zarok

Tous nos partenaires

Devenir
partenaire



Astuces pour faire un CMS avec le patch Maniacs

Des conseils pour simplifier la réalisation de son CMS avec le patch Maniacs.

Ecrit par Mack le 22/06/2022


❤ 2

Custom Menu System - Trucs et Astuces (Maniacs)






Niveau : Avancé.
Il faut connaître l'utilisation des variables et des interrupteurs, et avoir des notions pour faire un cms.
Il faut bien connaître l'affichage des images sur rm2003.
Il faut savoir ou avoir installé le patch correspondant.

Prérequis :
Ce tutoriel n'est valable que pour la version Steam de RPG Maker 2003.
Ce tutoriel est prévu pour le patch Maniacs, cependant, certaines astuces sont utilisables sans, et d'autres sont adaptables.
Vous pouvez trouver plus d'informations sur le patch ici.
:avert2 Veillez à avoir activé le menu de variables avancées dans Option -> Use new 'Control Variables' pour plus de facilité dans les calculs.
:avert2 Installer l'add on TPC est un VERITABLE plus. Le TPC est un addon du patch Maniacs qui permet d'éditer les commandes événementielles sous forme de texte. Certaines commandes du patch Maniacs ne sont disponibles que depuis cette fenêtre, accessible par F2 ou F3. Sans lui pas de String Variable, pas de possibilité de remplacer certaines conditions "constantes" par des variables. Par exemple, avec TPC on peut faire en sorte que la condition "Le héros XXX est dans l'équipe" soit gérée par une variable. C'est-à-dire que le XXX prend la valeur d'une variable.
:avert2 Je parle parfois d'index dans les astuces. Ce sont les numéros d'identification de chaque élément.
Par exemple, l'index d'un héros, c'est son numéro à côté de son nom dans la BDD. Pour les Variables / Switchs. Attention, RM2003 a deux départs différents : 1 (pour tout ce qui est issu de la BDD, comme Héros, Objets, Sorts, etc) et 0 (pour le reste, comme les membres de l'équipe).


Introduction

Cet article contient un certain nombre de trucs et astuces pour faire un CMS avec le patch Maniacs.
Comme dit dans le prérequis, le patch n'est pas obligatoire, les astuces sont presque toutes faisables sans, cependant, le patch vous simplifiera énormément la vie.

Voilà la liste des astuces :
- Utilisation de String Picture et String Variable
- Déclenchement du menu : pourquoi utiliser le Processus Parallèle ET le Démarrage Automatique ?
- Lecture d'un fichier .txt pour récupérer les informations complémentaires des Objets / Compétences (Effets / Coûts /...)
- Astuces pour les Equipements
- Affichage des listes (Objets / Compétences) en respectant l'ordre original
- Menu d'Option
- Comment gérer les Sous Menu ?
- Programme d'extraction des données de la BDD
- Autres infos sans détails

Aucune démo n'est présente pour avoir un aperçu de comment faire.
Cependant, toute ces astuces ont été utilisées dans ma version de Croix Célestes DX, donc n'hésitez pas à DL la démo pour voir comment ça marche, et à poser vos question ici ou en MP. :)



String Picture / String Variable

Voilà l'un des points les plus importants du patch Maniacs concernant la création de CMS : la possibilité d'écrire à la volée des Strings (du texte) avec des Pictures.
Cette commande se trouve à la page 4 des events :
image

Concernant les String Variables, comme dit précédemment, TPC est obligatoire pour l'instant.
Comment ça marche ?
C'est très simple, il suffit de faire F3 dans un event pour ouvrir TPC.
image
Si j'appuie sur F3 ici, je vais ouvrir TPC pour créer une nouvelle commande au-dessus de celle sélectionnée.
Si je fais F2, je vais éditer la commande sélectionnée.


Maintenant que TPC est ouvert, c'est quoi les commandes pour les String Variables ?
C'est assez simple pour ceux qui ont déjà fait de la programmation :

Portion de code : Tout sélectionner

1
T[X] .COM ARG



T[X], c'est la variable qui va être utilisée. C'est exactement le même principe que les Switchs ou les Variables (normales) de RM, il suffit de remplacer X par l'index de la String Variable voulue.

.COM, c'est la commande à faire. La liste est plutôt longue, elle est disponible en Japonais sur le site du patch. (Je montre comment la trouver un peu plus bas.)
Pour commencer simplement, la commande d'affectation (Le = dans pour les Switch / Variables) est .asg.

ARG, c'est la liste des arguments de la commande. Là, c'est du cas par cas, ça peut être une constantes (Valeur entre double quote : "Ma Valeur"), d'autres String Variables (T[X]), des Variables normales (V[X]), ...

Par exemple, pour affecter la valeur "Aze" à la variable 1, il suffit de faire :

Portion de code : Tout sélectionner

1
T[1] .asg "Aze"


Si je veux récupérer le nom du héros 1 de la BDD :

Portion de code : Tout sélectionner

1
T[1] .asg .actor[1].name


Petite info, vous pouvez mettre un V[X] pour remplacer un Entier. Par exemple :

Portion de code : Tout sélectionner

1
T[V[1]] .asg .actor[V[2]].name


Va enregistrer dans la String Variable dont l'index est égale à la valeur de la variable 1, la valeur du nom du héros dont l'index dans la BDD est la valeur de la variable 2.

Pour s'en servir, rien de plus il suffit de faire\T[X], ça marche dans les messages, mais aussi les Show String Pictures !

:avert2 Si vous mettez le \T[X] sans passer par TPC, il ne prendra JAMAIS en compte les "commandes" spéciales des Strings. ( Les Exfonts par exemples : $A / $B / ... )
Pour ça, il suffit de faire F2 sur la commande Show String Picture :
image
A gauche, on voit les ". Les commandes spé ne marcheront pas. Il faut donc les enlever, comme à droite

Voilà où trouver toutes les commandes :

Spoiler (cliquez pour afficher)





Déclenchement du menu, pourquoi utiliser le Processus Parrellel ET le Démarrage Automatique ?

Pourquoi donc utiliser un PP (Processus Parallèle), ET un DA (Démarrage Automatique) ?
Et bien c'est assez simple, vous ne pouvez pas avoir plusieurs events automatiques lus en même temps. Pareil, un event en DA ne peut pas se déclencher si un autre event est déjà déclenché, tant que son déclencheur n'est pas en PP. En revanche, un (ou plusieurs) événement en PP peut tourner avec un événement en DA.
C'est donc très pratique pour empêcher l'ouverture du menu pendant une cinématique, un dialogue avec un PNJ, l'ouverture d'un coffre,...

Et donc, comment faire ?

Voici un exemple :
image
Event en PP

image
Event en DA

Personnellement, j'utilise une boucle dans mon event en DA pour pouvoir gérer l'ouverture et la fermeture dans le même event. C'est pas obligatoire, mais je trouve ça plus pratique.



Lecture d'un fichier .txt

A quoi ça peut bien servir de lire un fichier .txt ?
C'est très simple, il y a deux raisons :
1) On ne peut pas encore lire toutes les infos de la BDD (Coût en PM d'une compétence, Effet d'un objet,...)
2) Pour des utilisations bien plus complexes, comme un journal de quête automatisé.

Dans ces astuces, je ne m'occuperai que de la partie 1. Cependant, dans ma version DX de Croix Célestes je me sers de cette technique pour un système de forge.
De plus, cette partie utilise encore TPC, et donc le patch est quasi obligatoire. Cependant, si vous ne voulez pas utiliser le patch, vous pouvez toujours hardcoder toute les infos sans passer par des fichiers .txt. C'est juste un enfer à faire, mais ça marche.

Du coup, comment faire ?
Encore une fois, on va se servir de TPC.

Portion de code : Tout sélectionner

1
T[1] .asg .file "Items", .utf8


Ici, on va donc enregistrer tout le contenu du fichier Items.txt dans la String Variable T[1].
Ce fichier .txt doit se trouve dans un dossier "Text" à la racine du projet (à côté de Charsets/Chipsets/...)

Maintenant, c'est à vous de voir comment vous voulez faire la suite.
Soit vous pouvez créer un fichier par entrée (donc chaque objet a son propre fichier .txt), soit comme moi avoir tous les objets dans un seul fichier Items.txt.

Pour cet exemple, je vais vouloir récupérer le coût en MP d'une compétence.
Mon fichier s'appelle "skills_cost.txt", et chaque ligne contient juste le coût en MP du sort. (Première ligne le coût du sort d'index 1, deuxième ligne le coût du sort d'index 2, ... )

La commande pour lire un fichier .txt est la suivante :
image
Cet event commun est une "fonction". En gros, quand j'ai besoin de récupérer le coût en PM d'un sort, j'initialise ma variable 259, et j'appelle cet event. Et après l'appel de cet event, la variable 263 contiendra le coût en PM.

image
Voilà un petit exemple de comment faire un appel de cette fonction.



Astuces pour les Equipements

Dans cette astuce, on va voir deux choses :
1) Comment récupérer la prévisualisation des stats avant un changement d'équipement.
2) Comment vérifier si un objet est équipable.


1) C'est assez simple, il suffit d'enregistrer dans des variables le contenu des équipements actuels, de changer l'équipement pour celui dont on veut avoir la prévisualisation, stocker les nouvelles stats dans d'autres variables, puis enfin rééquiper les bons équipements.

image
De la même manière que pour le coût en PM, cet event est aussi une fonction.
Il utilise la variable 262 comme étant l'ID du héros dont on veut avoir les stats, et la variable 313 est l'index du nouvel équipement à essayer.



2) Et bien, maintenant qu'on a vu comment prévisualiser les stats sur un nouvel équipement, c'est assez simple, puisque c'est le même principe !
image

Et ensuite, il faut bien penser à rééquiper les objets originaux :
image
Vous l'aurez compris, c'est le même principe que pour la prévisualisation.
Et encore une fois, c'est une fonction, la variable 262 est encore l'index du héros à équiper, la variable 291 est l'index de l'objet à tester, et l'interrupteur 333 permet de savoir si oui ou non l'objet est équipable.




Affichage des listes (Objets / Compétences) en respectant l'ordre original

Ça peut paraitre compliqué de respecter l'ordre d'affichage de base des objets dans le menu, mais en vrai, c'est assez simple.

image

Voilà le code pour que vous voyiez un peu mieux les différentes utilisations de TPC :

Spoiler (cliquez pour afficher)


(Dites-vous bien qu'à chaque saut de ligne dans un .cat, un T[1] .cat T[2] "
" T[3] se trouve en FIN de ligne, et un en DEBUT de ligne suivante ! )



Menu d'Options

Certaines nouvelles commandes permettent de faire un semblant de menu d'options.
Je pense notamment à la commande Set Game Option, qui permet de faire que le jeu reste actif quand la fenêtre n'est pas au premier plan, la commande Toggle Fullscreen Mode pour mettre en plein écran, ou la commande Open Video Option pour ouvrir la fenêtre F5.



Comment gérer les Sous-Menus ?

C'est assez simple, je gère mes sous-menus comme je gère mon menu principal :
image

On garde donc l'idée de la boucle infinie, avec un wait 1 frame, et d'un Switch pour sortir de la boucle.
Cet event est sans condition d'appel (Trigger), il suffit de l'appeler avec la commande Call Event.
Evidemment, dans l'exemple je garde le même Switch que pour la fermeture du menu principal, mais vous pouvez très bien en utiliser un autre pour pouvoir complètement fermer le menu et les sous-menu en appuyant sur une seule touche.



Programme d'extraction des données de la BDD

Comme je l'ai expliqué, il existe une astuce pour extraire n'importe quelle donnée de la BDD de RM2k3.
Voici un petit programme qui permet notamment d'extraire une partie de la BDD :

https://www.mediafire.com/file/oyu82x5mqhlwha6/CMS_Old.rar/file

Voici la liste des données extraites :
- Item : Est maudit ? ( 0 pas maudit, 1 objet maudit )
- Item : Description
- Item : Toute la team ? ( 0 pas maudit, 1 objet maudit )
- Item : Soin HP
- Item : Soin HP%
- Item : Utilisable seulement sur les morts ? ( 0 pas maudit, 1 objet maudit )
- Item : Soin SP
- Item : Soin SP%
- Item : Type

- Skill : Cout en SP
- Skill : Coup en SP%
- Skill : Description
- Skill : Type


Version Mise à jour :

https://www.mediafire.com/file/gegeg745l9zyq5a/CMS.rar/file

Avec tout ça en plus :

Spoiler (cliquez pour afficher)



Selon les demandes, je mettrais surement à jour ce programme.

Les fichiers doivent être placés à la racine du projet (à côté des dossier Charset/Chipset/..., et les sources sont disponibles dans le dossier Sources si vous voulez extraire des données en plus).
Pour extraire les données, c'est assez simple, lancez le programme "extract.bat", il vous sortira tout les fichiers dans le dossier "Text".

Une dernière petite chose, le programme "extract.bat" va rajouter un fichier "RPG_RT.edb" c'est le fichier XML qui contient l'intégralité de la BDD de votre projet.
N'oubliez pas de le retirer si vous ne voulez pas qu'on connaisse à l'avance le contenu :)



Autres infos sans détails

- Vous pouvez modifier le programme du paragraphe du dessus pour extraire les effets des items, comme ça vous n'êtes pas obligé d'hardcoder l'utilisation des objets.
- Idem pour les sorts.
- J'ai montré comment afficher une listes d'objets, mais pas comment retrouver l'ID de l'objet sélectionné. Grosso modo ça marche comme pour l'affichage, on parcourt la BDD en respectant les même conditions que pour l'affichage, et quand on a parcouru X objets possédés (X étant l'index du curseur de sélection), on renvoie l'ID de l'item (donc la variable qui à servi à parcourir la BDD).
- Comme déjà dit, on peut se servir de la lecture de fichier pour toutes sortes d'autres trucs, système de forge, de journal de quêtes, de bestiaire...
- L'astuce pour les menus / sous-menus peut être utilisée pour autre chose qu'un CMS, comme simplement un PNJ avec un menu de forge.


Mot de la fin

Voilà voilà, je pense avoir fait le tour de toutes les astuces que je peux donner pour faire un CMS avec le patch Maniacs !
Une des raisons qu'il n'y a pas de démo ( en dehors de la flemme :F ), c'est que je déconseille quiconque de bêtement appliquer ce que je dis ici. Prenez le temps d'essayer de comprendre pourquoi je fais comme ça, ça sera bien plus intéressant pour vous, et peut-être même que vous aurez de meilleurs idées que moi. :)

Encore une fois, n'hésitez pas à poster vos questions ici, ou en MP si je ne réponds pas ( :F ), ou même vos propres trucs et astuces !

Merci à Gari pour la relecture et la correction des fautes dans le tuto :F.



Nemau - posté le 22/06/2022 à 18:49:27 (52040 messages postés) - honor -

❤ 0

The Inconstant Gardener

Ça a l'air très complet, GG.

Le matérialisme c'est quand tu as du matériel.


Mack - posté le 25/06/2022 à 08:44:22 (2284 messages postés)

❤ 0

Merci Nemau :)


J'ai un peu modifié le tuto, j'me suis rendu compte que j'expliquais pas comment utiliser les String Variables ( \T[X] dans un message ou une Show String Picture )

Et j'en ai profité pour rajouter certaines extraction à mon programmes :

Citation:

Voici la liste des données extraites :
- Item : Est maudit ? ( 0 pas maudit, 1 objet maudit )
- Item : Description
- Item : Toute la team ? ( 0 pas maudit, 1 objet maudit )
- Item : Soin HP
- Item : Soin HP%
- Item : Utilisable seulement sur les morts ? ( 0 pas maudit, 1 objet maudit )
- Item : Soin SP
- Item : Soin SP%
- Item : Type

- Skill : Cout en SP
- Skill : Coup en SP%
- Skill : Description
- Skill : Type


En attendant que j'essaye d'écrire un tuto sur comment modifier ce programme.
( Le lien de DL n'a pas changé )

( Je prend note de tout les commentaires, même si je n'y répond pas )


Mack - posté le 12/08/2022 à 20:09:58 (2284 messages postés)

❤ 0

Petite MaJ du paragraphe sur le parseur :

Citation:


Version Mise à jour :

https://www.mediafire.com/file/gegeg745l9zyq5a/CMS.rar/file

Avec tout ça en plus :

- Actor : ClassID
- Actor : Expérience : Acceleration
- Actor : Expérience : Extra
- Actor : Expérience : Basic
- Actor : Faceset
- Actor : Nickname

- Enemy : Gold

- Item : Parameter Modifiers : Agi
- Item : Parameter Modifiers : Atk
- Item : Parameter Modifiers : Def
- Item : Parameter Modifiers : Max HP
- Item : Parameter Modifiers : Max MP
- Item : Parameter Modifiers : Mnd
- Item : Weapon Animation ID ( marche pour tout les types d'items, il faut juste switcher l'arme en Weapon, changer l'animation, er remettre le bon type )
- Item : Consumption Limit
- Item : Entire Party
- Item : HP Recovery
- Item : HP Recovery %
- Item : MP Recovery
- Item MP Recovery %
- Item : Scope
- Item : Skill ID ( Comme les Weapons Animations. Il suffit de prendre un book / Special )
- Item : State Recovery
- Item : Switch ID
- Item : Usable in Battle
- Item : Weapon Animation ID ( Là c'est l'animation qui se joue sur le héros. )

- Skill : Attribute Effect
- Skill : Inflict States ( Detecte si le sort inflige ou retire un status )
- Skill : Magical Rate
- Skill : Physical Rate
- Skill : Power
- Skill : Scope
- Skill : States

- State : Restricted Magical
- State : Restricted Physical
- State : Type ( Termine après un combat ou pas )



( Je prend note de tout les commentaires, même si je n'y répond pas )


Gari - posté le 13/08/2022 à 18:22:47 (5899 messages postés) - honor

❤ 0

Il y a une utilité à garder l'ancienne version ? (CMS_old)

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers