Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

News: Les actualités de fin d'année / Jeux: Glixel en version complète / Jeux: Izac 1 / News: Des jeux d'hiver sous la couette / Scripts: Système de vol pour RPG Maker (...) / Chat

Bienvenue
visiteur !





Désactiver
la neige


publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

236 connectés actuellement

30834925 visiteurs
depuis l'ouverture

2192 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

RPG Maker VX

RPG Maker - La Communauté

Offgame

RPG Maker Détente

Eclipso

Tous nos partenaires

Devenir
partenaire



Assembler/Fabriquer des objets depuis le menu

Système simple de crafting (alchimie, forge, cuisine, etc) sous RPG Maker VX Ace (valable aussi pour XP et VX). Tout se fait avec des événements et quelques appels scripts.

Ecrit par cortez le 08/06/2020


❤ 0

Crafter depuis le menu

Pour VX Ace






Bonjour et bienvenue
Je vous présente un petit tuto qui permet de créer un système simple en event pour crafter des objets. (il est prévu pour fonctionner sur RMVXAce mais
en fin de tuto je vous filerai les modif a réaliser pour l'adapter sur RMXP et RMVX).


Prérequis

- Autant d'objet que d'ingrédients.
- 1 Objet clé par recette disponible
- 1 Événement commun par recette
- 7 Variables dédiées (1 compteur pour le nombre d'objets, 5 variables texte et 1 compteur d'objet ok)



1 - Création des ingrédients

Pour faire un système de craft il nous faut les ingrédients. J'ai choisi des items non consommables mais vous faites comme vous voulez.

Voici les proprités pour un de mes objets fabricable :

Citation:

Nom : Fleur de vie
Icone : icone de fleur
Description : Fleur au pétales écarlate, permet de guérir les blessures. [ingrédient] # Ici, je mets un texte d'ambiance et un indice sur son utilisation
Type : Normal
Prix : 60 # Mettez ce que vous voulez
Consommable : Oui
Cible : Personne
Disponibilité : Jamais



Le reste je touche pas, mais si vous voulez un effet en consommant l'ingrédient (comme skyrim) :

Citation:

Cible : Un allié
Disponibilité : Partout
Effets : Recupération PV 5%





2 - Création de la recette

Une fois tous vos ingrédients crées, il faut créer les recettes de vos objets.
Toujours dans l'onglet Objet, je crée un "objet clé" utilisable sur "personne" et "non consommable."
Lorsque le joueur l'utilise cela appelle l'évenement commun associé.
L'objet recette n'est pas achetable dans mon jeu, mais plus important encore c'est un objet clé, il est donc séparé des ingrédients qui se situent dans l'onglet objet du menu. Comme ça le joueur ne perd pas 20 minutes a dérouler le menu objet pour trouver la recette.

Citation:

Nom : Recette de Potion
Icone : icone de livre
Description : Crée une potion avec les ingrédients suivants : 1 Cube de slime, 1 Fleur de vie, 1 Fiole d'eau. # Ici je mets un texte bref et la liste des ingrédients utilisés.
Type : Objet clé
Prix : 0 # Mettez ce que vous voulez
Consommable : Non
Cible : Personne
Disponibilité : Depuis le menu
Effets : Événement commun [Recette de potion]





3 - Création de l'événement commun

J'ai déjà choisi l'événement commun dans l'objet recette, mais vous devrez le créer et le paramétrer. Justement on y vient, comment on le fait cet événement commun ?

On le nomme pareil que l'objet clé recette associé (dans l'exemple il s'agit de Recette de potion.)
Dans l'onglet Événement communn que he nomme "Recette de Potion" (par exemple), avec pour déclenchement Aucun, j'entre les commandes suivantes :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
Script : $game_variables[5]=""
$game_variables[6]=""
$game_variables[7]=""
$game_variables[8]=""
$game_variables[9]="" # On force les variables réservés 5 à 9 de contenir un texte vide.
Variable : [004 : Résultat] = 0 # On reset la variable résultat
Variable : [003 : Quantité objet] = nombre d'objet [fleur de vie] possédés # On récupère le nombre de fleur de vie dans l'inventaire.
Condition : Variable [003 : Quantité objet] supérieur ou égal a 1 # La recette utilise 1 fleur.
Variable : [004 : Résultat] += 1 # On ajoute 1 à la variable résultat
sinon
Script : $game_variables[5]="#{1-$game_variables[3]} Fleur de vie"



Temps mort, que signifie ce truc ? Le spoiler est ici pour expliquer sinon on continue.

Spoiler (cliquez pour afficher)


On continue :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Fin de condition # On a fait 1 objet, il faut vérifier les 2 autres.
Variable : [003 : Quantité objet] = nombre d'objet [Cube de slime] possédés # On récupère le nombre de cube de slime dans l'inventaire.
Condition : Variable [003 : Quantité objet] supérieur ou égal a 1 # La recette utilise 1 cube.
Variable : [004 : Résultat] += 1 # On ajoute 1 à la variable résultat
sinon
Script : $game_variables[6]="#{1-$game_variables[3]} Cube de slime " # Vous l'avez compris, on utilise la variable 6 pour le 2e ingrédient de la recette.
Fin de condition
Variable : [003 : Quantité objet] = nombre d'objet [Fiole d'eau] possédés # On récupère le nombre de fioles d'eau dans l'inventaire.
Condition : Variable [003 : Quantité objet] supérieur ou égal a 1 # La recette utilise 1 fiole.
Variable : [004 : Résultat] += 1 # On ajoute 1 à la variable résultat
sinon
Script : $game_variables[7]="#{1-$game_variables[3]} Fiole d'eau " # Vous avez compris on utilise la variable 7 pour le 3e ingrédient de la recette.
Fin de condition
Condition : Variable [004 : Resultat] est égale a 3 # Si les 3 objets nécessaires sont présents en bonne quantité alors le résultat vaut 3.
Modifier les objets : [Fleur de vie] - 1 # On retire les ingrédients et ajoute l'objet crafté.
Modifier les objets : [Cube de slime] - 1
Modifier les objets : [Fiole d'eau] - 1
Modifier les objets : [Potion] + 1
Afficher un message : Aucun portrait, sombre, centre
Résultat :
+1 \i[216] Potion # J'utilise l'affichage d'icone n°216 qui correspond a l'icone de potion.
Script : SceneManager.call(Scene_Item) # Par défaut l'utilisation d'un objet fait sortir du menu donc je ré-ouvre le menu objet pour crafter un autre objet plus facilement.
sinon
Afficher un message : Aucun portrait, sombre, centre
Il manque :
\v[5]\v[6]\v[7]\v[8]\v[9] # Seules les variables non vides qui correspondent aux objets et leurs quantités manquantes s'affichent dans le dialogue.
Script : SceneManager.call(Scene_Item)
Fin de condition
Variable : [003..009] = 0 # On oublie pas de reset toutes les variables utilisés.





4 - Et ensuite ?

C'est tout pour la recette. Maintenant ce qu'il faut savoir pour créer une autre recette.
Il faut copier coller l'événement commun et changer les valeurs dans les blocs de condition et la ligne variable avant chaque bloc.
- XXXXX nom de l'objet a utiliser dans la recette
- Y quantité de cet objet
- Z numéro de la variable associé au numéro de l'ingrédient (1er objet = 5, 2e objet = 6, ... 5e objet = 9)

Au besoin on peut aussi ajouter un 4e ingrédient et utiliser la variable 8 dans l'appel script

Portion de code : Tout sélectionner

1
$game_variables[8]="#{Y-$game_variables[3]} nom de l'ingrédient "


voire un 5e et utiliser la dernière variable dédiée (9) dans l'appel script.

Portion de code : Tout sélectionner

1
2
3
4
5
6
Variable : [003 : Quantité objet] = nombre d'objet [XXXXXX] possédés # Choisir l'objet ingrédient XXXXX de son choix
Condition : Variable [003 : Quantité objet] supérieur ou égal a Y # Si il faut 3 écorces d'arbre on met 3 a la place du Y
Variable : [004 : Résultat] += 1
sinon
Script : $game_variables[Z]="#{Y-$game_variables[3]} XXXXXX " # Ecrire le nom de l'objet à la place des XXXXXX.
Fin de condition



On pense aussi à adapter la condition de fin, si la recette n'a que 2 ingrédients, le résultat vaut 2 et on a utilisé les variables 5 et 6 dans les appels script.
Enfin on vérifie de supprimer et ajouter le bon nombre d'objets dans l'inventaire.

Vous avez toutes les cartes pour créer votre propre système de craft dans vos jeux.



5 - Et les autres logiciels ?

Si vous n'utilisez pas RMVXAce, il est possible d'adapter ce tuto.

Les appels de script fonctionnent quelque soit le logiciel a l'exception de l'appel du menu objet.
Sous RMXP c'est : $scene=Scene_Item.new

Sous VX, il me semble que c'est comme dans VX Ace (à confirmer).

Les affichages de messages sont différents dans XP, vous n'aurez pas accès a l'affichage d'icone (sans script externe) mais vous pouvez faire sans.
Autre "défaut" de XP c'est que les objet n'ont pas de catégorie tout sera mélangé. C'est un peu chiant mais les événements ont leur limite.

Bon tuto et bon making à tous



Gari - posté le 08/06/2020 à 16:13:47 (5901 messages postés) - honor

❤ 1

C'est pas mal. Par contre, je recommande vivement à ceux qui souhaiteraient partir de ce tutoriel de ne créer qu'un seul événement commun, quitte à utiliser des variables pour détecter quel objet est utilisé, surtout si vous comptez faire plusieurs systèmes avec des événéments communs.

Egalement, la catégorisation des objets n'existe pas non plus sur VX (sans script). Donc si vous souhaitez faire un système de craft sous un autre log que vx ace, il peut être mieux de réfléchir à ces éléments avant l'intégration, histoire de ne pas avoir un inventaire mélangé.

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