Modifier un terme au milieu de la partie
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.
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 !
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.

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 !
- InvitéInvité
Re: Modifier un terme au milieu de la partie
Mar 25 Déc 2018 - 10:46
Bon, j'ai aucune idée de ce que tu veut dire par "terme"
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)

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)
Re: Modifier un terme au milieu de la partie
Mar 25 Déc 2018 - 11:19
Shamugan a écrit:Bon, j'ai aucune idée de ce que tu veut dire par "terme"![]()
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.

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.
Re: Modifier un terme au milieu de la partie
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 :
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.
- 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.
- [Résolu] Modifier un tileset sans modifier les ombrages
- Centrer les numéros au milieu avec la commande "Stocker un nombre"
- [Résolu] Modification du terme "compétence"
- demande de ressource graphique ( a defaut de meilleur terme ... ) [résolu]
- demande de ressource graphique ( a defaut de meilleur terme ... ) N°2 ^^ [résolu]
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|