Night.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

Sorties: Les Chroniques de Katura - TAO (...) / Sorties: Star Trek: Glorious Wolf / Jeux: Pillar Town / Sorties: Dread Mac Farlane - Complet / Sorties: "Dread Mac Farlane", (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

556 connectés actuellement

29884406 visiteurs
depuis l'ouverture

8918 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

RPG Maker Détente

Zarok

Le Comptoir Du clickeur

Leo-Games

RPG Fusion

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RM MV] Ajouter un onglet dans le menu de jeu


CanardPruneau - posté le 18/09/2023 à 15:43:35 (29 messages postés)

❤ 0

Domaine concerné: Menu
Logiciel utilisé: RM MV
Bonjour à tous.

J'aimerai ajouter un nouvel onglet dans le menu du jeu, cet onglet s'appellera Arbre d'aptitudes, je voudrais l'insérer entre compétences et équipement.En ouvrant cet onglet, le personnage serai téléporté sur une map qui représente un arbre d'aptitudes qui permettrai au joueurs de débloquer de nouveaux sorts, classes ou aptitudes.
image
J'ignore si c'est faisable, j'ai rien trouvé dessus pour l'instant en faisant des recherches, et si possible j'aimerai pouvoir le faire sans recourir à un plugin, merci.


Roi of the Suisse - posté le 18/09/2023 à 15:47:25 (29950 messages postés) - honor -

❤ 0

Chanter l'hyperchleuasme

C'est forcément un plugin, parce qu'il faut trifouiller le javascript pour modifier le menu. Et si tu ne trouves pas de plugin d'arbre de compétences satisfaisant, tu devras sûrement le faire toi-même :surpris

Un mec appelé Felski a fait un plugin d'arbre de compétences :
https://forums.rpgmakerweb.com/index.php?threads/felskis-skilltree-plugin.100473/

Il y a aussi un mec appelé SomeFire qui a faire un plugin :
https://github.com/SomeFire/RPG-Maker-MV-Skill-Trees-System

L'essentialisme c'est quand ta voiture a un moteur essence. | Es-tu une star ? | Kujira no Hara | Polaris 03 | Planète Glutko


CanardPruneau - posté le 18/09/2023 à 15:52:25 (29 messages postés)

❤ 0

Je compte créer une map avec le personnage qui se déplace vers les aptitudes que le joueur veut débloquer.
Mais je souhaite que le joueur puisse accéder en permanence à cet arbre d'aptitudes au cours du jeu.


Roi of the Suisse - posté le 18/09/2023 à 15:53:46 (29950 messages postés) - honor -

❤ 0

Chanter l'hyperchleuasme

:pense Alors tu peux accéder à l'arbre de compétences via :
- un objet de ton inventaire, dont l'effet est de te téléporter sur la fameuse map.
- un évènement récurrent dans le jeu, genre, une plaque d'égouts, que tu copies-colles partout



Pourquoi veux-tu absolument une map où le héros se promène, alors qu'un menu fait très bien l'affaire ? C'est sain de se poser la question. Il ne faut pas rester coincé dans une projection mentale sans raisons solides derrière. "Je veux absolument ça parce que je l'ai imaginé comme ça", c'est un état d'esprit dangereux. Il faut identifier le besoin et le dégraisser de tout ce qui est superflu. Sacrifier tout le superflu au nom de l'ergonomie, et surtout de ce qui est réellement possible.

L'essentialisme c'est quand ta voiture a un moteur essence. | Es-tu une star ? | Kujira no Hara | Polaris 03 | Planète Glutko


CanardPruneau - posté le 18/09/2023 à 16:17:51 (29 messages postés)

❤ 0

Alors déjà si je veux créer mon propre arbre, c'est juste que j'ai pas envie de passer du temps à comprendre le fonctionnement d'un plugin alors que je maîtrise parfaitement le mapping sur RPG maker et puis je peux plus facilement modifier l'apparence de mon arbre de cette manière.Alors que modifier le menu, ça pourra me servir plus tard si je veux rajouter des nouvelles fonctionnalités à mon jeu, je trouve ça plus simple de tout regrouper dans le menu, ça évite au joueur de fouiller son inventaire et de chercher le bon objet qui va lui permettre d’accéder à tel menu.


Roi of the Suisse - posté le 18/09/2023 à 17:29:45 (29950 messages postés) - honor -

❤ 0

Chanter l'hyperchleuasme

Citation:

j'ai pas envie de passer du temps à comprendre le fonctionnement d'un plugin alors que je maîtrise parfaitement le mapping sur RPG maker et puis je peux plus facilement modifier l'apparence de mon arbre de cette manière.

Je comprends cet état d'esprit. Souvent on hésite entre faire soi-même et passer du temps à comprendre comme un plugin fonctionne, lire sa documentation, c'est fastidieux, souvent en plus elle est incomplète, mal expliquée, il faut expérimenter avec le plugin...
Mais tout vouloir refaire soi-même en jeu-vidéo (voire en informatique plus généralement) c'est considéré comme mal, dans la mesure où tu vas refaire en moins un bien un truc qui existe déjà. Ça s'appelle "réinventer la roue", et certains parodient même le truc en "réinventer la roue carrée". La bonne façon de faire, c'est la voie pénible : lire les documentations nulles du plugin. La paresse de lire les documentations d'un outil existant, c'est un vice qu'il faut combattre. Je ne dis pas que c'est facile.


Cela dit, je pense que ce que tu demandes n''est pas très difficile. Si ta question avait été pour RPG Maker XP, je t'aurais répondu immédiatement quelle ligne de quel script modifier. Je n'ai pas RPG Maker MV, et je n'ai pas son code javascript, donc je ne peux pas t'aider. Il faudrait vraiment que je mette la main sur le code javascript de MV parce qu'on a de plus en plus de question là-dessus...
Bref sache que ça n'est pas forcément difficile. Il suffit de trouver là où les choix du menu principal sont listés (à coups de CTRL+F ça va vite), et ajouter la commande de téléportation (dont tu peux copier le code depuis l'interpréteur = transcription en javascript de toutes les commandes évènementielles). Il ne faudra pas oublier de mémoriser la position actuelle du héros (x, y, map) dans des variables pour le renvoyer là-bas quand il quittera l'arbre de compétences.
Je t'encourage vraiment à te plonger dans le code javascript si tu es quelqu'un qui as souvent envie de personnaliser les systèmes de base du logiciel pour aller au delà. En bidouillant, petit à petit, tu seras de plus en plus à l'aise avec le javascript de RPG Maker MV. Jusqu'à faire tes propres plugins un jour.

L'essentialisme c'est quand ta voiture a un moteur essence. | Es-tu une star ? | Kujira no Hara | Polaris 03 | Planète Glutko


Roi of the Suisse - posté le 18/09/2023 à 18:11:03 (29950 messages postés) - honor -

❤ 0

Chanter l'hyperchleuasme

J'ai trouvé ça, je ne sais pas si c'est exactement le code officiel de RPG Maker MV, mais ça y ressemble
https://github.com/bsides/rpgmakermv-modernjs/blob/master/js/rpg_scenes.js
à la ligne 982 on peut voir la liste des éléments du menu :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
Scene_Menu.prototype.createCommandWindow = function() {
    this._commandWindow = new Window_MenuCommand(0, 0);
    this._commandWindow.setHandler('item',      this.commandItem.bind(this));
    this._commandWindow.setHandler('skill',     this.commandPersonal.bind(this));
    this._commandWindow.setHandler('equip',     this.commandPersonal.bind(this));
    this._commandWindow.setHandler('status',    this.commandPersonal.bind(this));
    this._commandWindow.setHandler('formation', this.commandFormation.bind(this));
    this._commandWindow.setHandler('options',   this.commandOptions.bind(this));
    this._commandWindow.setHandler('save',      this.commandSave.bind(this));
    this._commandWindow.setHandler('gameEnd',   this.commandGameEnd.bind(this));
    this._commandWindow.setHandler('cancel',    this.popScene.bind(this));
    this.addWindow(this._commandWindow);
};

Typiquement, c'est là où tu dois rajouter ta commande.

Portion de code : Tout sélectionner

1
    this._commandWindow.setHandler('skilltree',    this.commandPersonal.bind(this));

C'est bien un commandPersonnal qu'il faut, puisque le skillTree dépend du héros sélectionné.

Puis tu remarques que 'skill' est utilisé ailleurs :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
Scene_Menu.prototype.onPersonalOk = function() {
    switch (this._commandWindow.currentSymbol()) {
    case 'skill':
        SceneManager.push(Scene_Skill);
        break;
    case 'equip':
        SceneManager.push(Scene_Equip);
        break;
    case 'status':
        SceneManager.push(Scene_Status);
        break;
    }
};

Typiquement ici il faudra rajouter un "case 'skilltree':" mais au lieu d'avoir un SceneManager.push(Scene_SkillTree); comme les autres, il faudra mettre la téléportation ici, puisque tu as dit ne pas vouloir d'un menu mais d'une map.

D'après ce forum ( https://forums.rpgmakerweb.com/index.php?threads/transfer-to-different-map-from-main-menu.131228/ ) tu peux téléporter le héros sur une map depuis le menu avec l'astuce suivante :

Portion de code : Tout sélectionner

1
2
3
$gameTemp.reserveCommonEvent(42);
SceneManager.goto(Scene_Map);
break;

L'astuce est d'opérer le transfert dans l'évènement commun n°42.
C'est ça qu'il faudra mettre dans ton "case 'skilltree':".

Un détail important, c'est quel héros a été sélectionné pour l'arbre de compétences. Il te faudra préparer cette information dans une variable n°112 pour pouvoir la manipuler sur ta map ou dans ton évènement commun. Naïvement je ferais comme ça, mais je ne sais pas si c'est la syntaxe :

Portion de code : Tout sélectionner

1
$gameVariables.setValue(112, this.actor().actorId() );

À mettre dans le "case" aussi.

Je crois qu'on a là le strict minimum pour faire ton truc, les briques de base.
Dans ton évènement commun n°42, tu écris :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
si variable 112 = 1 alors 
     changer apparence du héros : Robert
     téléporter vers la map 087_arbre_de_competence_Robert
sinon si variable 112 = 2 alors
     changer apparence du héros : Roselyne
     téléporter vers la map 088_arbre_de_compétence_Roselyne
sinon ...

Et il y aura aussi un petit travail de mémorisation de là d'où tu viens (et de quelle apparence tu avais) pour t'y renvoyer après.

L'essentialisme c'est quand ta voiture a un moteur essence. | Es-tu une star ? | Kujira no Hara | Polaris 03 | Planète Glutko


CanardPruneau - posté le 18/09/2023 à 18:39:15 (29 messages postés)

❤ 0

Il manque pas plus de chose à rentrer tu es sûr, je dois pas modifier la taille des fenêtres et indiquer les coordonnées de l'onglet qui va être affiché dans le menu, il y a seulement besoin de rajouter 2 portions de codes pour que ça fonctionne? :pense


Roi of the Suisse - posté le 18/09/2023 à 18:48:56 (29950 messages postés) - honor -

❤ 0

Chanter l'hyperchleuasme

Je ne suis pas du tout scripteur MV, moi je ne connais que RPG Maker XP, mais je commencerais par faire tout ça, et peut-être qu'il reste encore deux-trois trous à boucher par-ci par-là pour que ça marche. C'est un travail d'enquête et de tâtonnement.

Notamment pour l'affichage : à quel moment il traduit l'étiquette 'skills' du code en un beau "Compétences" majuscule sur ton screenshot ? Il doit y avoir un endroit où cette info est marquée. Là il faudra associer "Arbre de compétences" à l'étiquette 'skilltree' que tu as inventée.

Quand ça fonctionnera, si tu veux masquer l'ancien menu "Compétences", je pense qu'il te faudra supprimer la ligne

Portion de code : Tout sélectionner

1
 this._commandWindow.setHandler('skill',     this.commandPersonal.bind(this));

de la liste mentionnée dans mon message précédent.

L'essentialisme c'est quand ta voiture a un moteur essence. | Es-tu une star ? | Kujira no Hara | Polaris 03 | Planète Glutko

Index du forum > Entraide > [RM MV] Ajouter un onglet dans le menu de jeu

repondre up

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