Partagez
Aller en bas
PikaMew
PikaMew
Membre

Nombre de messages : 16
Age : 26
Localisation : Derrière toi
Distinction : aucune
Date d'inscription : 16/12/2018
https://www.youtube.com/channel/UCX2pr_YCBRbrYOdeIBTf0_g

Résolu Modifier un terme au milieu de la partie

le Mar 25 Déc 2018 - 2:11
Bonsoir,

Tout d'abord : Joyeux Noël ! J'espère que tout se passe bien pour vous !

Venons-en aux faits : je cherche à modifier un terme pendant la partie du joueur quand une certaine condition est remplie. Pour rentrer un peu plus dans les détails, je cherche à modifier le terme référant aux compétences (skill) en présence d'un acteur déterminé dans l'équipe du joueur. Pour rappel, quand je parle de termes, je parle des termes habituellement modifiables dans l'onglet correspondant de la base de données.

Mais j'ai beau fouiller dans le code de base du jeu, je n'arrive pas à trouver où je dois aller pour modifier le dit terme. Neutral

J'en appelle donc à vous pour savoir si vous en sauriez plus que moi à ce sujet ou si vous avez plus de chance que moi pour trouver quelque chose qui permette cela.

Merci beaucoup en avance et une fois encore, Joyeux Noël !
Shamugan
Shamugan
Membre

Nombre de messages : 1324
Localisation : Perdu quelque part dans Shamu's Land, au bord des portes de la folie, entre l'art, la science et la philosophie... À la même position que n'importe quel être humain en somme et il me semble :3
Distinction : Shashamumugangan [Yama feat GJLP]
Pavé César! [mais on aime! Gel]
Qu'est que tu ferais sans moi :3 [Yama']
Chouette amoureuse de Boubou [Ministre de la Culture]
Date d'inscription : 05/07/2016

Résolu Re: Modifier un terme au milieu de la partie

le Mar 25 Déc 2018 - 10:46
Bon, j'ai aucune idée de ce que tu veut dire par "terme" Neutral
Mais les skill sont gérés par la classe RPG::Skill elle-même gérée par la classe RPG::UsableItem elle-même géré par la classe RPG::Item là où est défini notamment la variable pour le nom par exemple si ce à quoi tu fait références. Sinon, tu devrait trouver toutes les variables définies dans la BDD a priori ^^. Pour plus d'info, cf l'aide :3 (qu'on ne passe pas suffisamment à aller voir alors qu'elle est si utile =p)
PikaMew
PikaMew
Membre

Nombre de messages : 16
Age : 26
Localisation : Derrière toi
Distinction : aucune
Date d'inscription : 16/12/2018
https://www.youtube.com/channel/UCX2pr_YCBRbrYOdeIBTf0_g

Résolu Re: Modifier un terme au milieu de la partie

le Mar 25 Déc 2018 - 11:19
@Shamugan a écrit:Bon, j'ai aucune idée de ce que tu veut dire par "terme"  Neutral

@PikaMew a écrit:Pour rappel, quand je parle de termes, je parle des termes habituellement modifiables dans l'onglet correspondant de la base de données.

Modifier un terme au milieu de la partie Termes10

Je vais regarder l'aide, mais je ne suis pas sûr qu'elle me sera d'une grande aide pour ma situation.

EDIT : Ok, je comprends un peu mieux ma situation : laissez-moi expliquer : j'ai fait un petit plugin qui dit la chose suivante :

Code:
(function() {

 Window_MenuCommand.prototype.addMainCommands = function() {
 var enabled = this.areMainCommandsEnabled();
 if (this.needsCommand('item')) {
 this.addCommand(TextManager.item, 'item', enabled);
 }
 if (this.needsCommand('skill')) {
 if ($gameParty.members().contains($gameActors.actor(5))) {
 var cmdName = "Arsenal"
 this.addCommand(cmdName, 'skill', enabled);
 } else {
 this.addCommand(TextManager.skill, 'skill', enabled);
 }
 }
 if (this.needsCommand('equip')) {
 this.addCommand(TextManager.equip, 'equip', enabled);
 }
 if (this.needsCommand('status')) {
 this.addCommand(TextManager.status, 'status', enabled);
 }
 };

})();

Traduction : ce plugin dit que si l'acteur 5 est dans l'équipe alors le nom de la commande skill devient "Arsenal" sinon il utilise le terme par défaut. Fait est que ce plugin marche (modifiant la commande dans le menu principal) mais ne marche pas dans le sens que je voudrais.

J'utilise le plugin Equip Battle Skills de Yanfly. Le nom de la commande qui apparaît est supposé être celui de TextManager.skill. Seulement, comme je n'ai pas modifié directement TextManager.skill, l'Equip Battle Skills prends toujours le terme de base comme commande de combat. Ce que je recherche ici est de modifier directement le contenu de TextManager.skill quand une certaine condition est remplie.
PikaMew
PikaMew
Membre

Nombre de messages : 16
Age : 26
Localisation : Derrière toi
Distinction : aucune
Date d'inscription : 16/12/2018
https://www.youtube.com/channel/UCX2pr_YCBRbrYOdeIBTf0_g

Résolu Re: Modifier un terme au milieu de la partie

le Mar 25 Déc 2018 - 12:05
Encore désolé du double post mais ça y est, j'ai trouvé comment. Mon plugin ressemble désormais à ça :

Code:
(function() {

 Window_MenuCommand.prototype.addMainCommands = function() {
 var enabled = this.areMainCommandsEnabled();
 if (this.needsCommand('item')) {
 this.addCommand(TextManager.item, 'item', enabled);
 }
 if (this.needsCommand('skill')) {
 if ($gameParty.members().contains($gameActors.actor(5))) {
 var cmdName = "Arsenal"
 this.addCommand(cmdName, 'skill', enabled);
 } else {
 this.addCommand(TextManager.skill, 'skill', enabled);
 }
 }
 if (this.needsCommand('equip')) {
 this.addCommand(TextManager.equip, 'equip', enabled);
 }
 if (this.needsCommand('status')) {
 this.addCommand(TextManager.status, 'status', enabled);
 }
 };
 
 Window_ActorCommand.prototype.addSkillCommands = function() {
 if (DataManager.isBattleTest()) {
 Yanfly.EBS.Window_ActorCommand_addSkillCommands.call(this);
 } else if ($gameParty.members().contains($gameActors.actor(5))) {
 this.addCommand(cmdName, 'skill', true, 'battleSkills');
 } else {
 var name = TextManager.skill;
 this.addCommand(name, 'skill', true, 'battleSkills');
 }
 };

})();

J'y ai ajouté un morceau de code du plugin de Yanfly et je l'ai légèrement modifié pour obtenir l'effet désiré. Si vous voulez utiliser ce code, vous pouvez modifier la condition ainsi que la variable cmdName pour l'effet que vous désirez. Finalement, j'ai obtenu ce que je voulais sans modifier TextManager.skill et finalement c'est aussi bien comme ça.

Merci encore @Shamugan d'avoir essayé de m'aider.
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum