Partagez
Aller en bas
avatar
johnseed
Membre

Nombre de messages : 72
Age : 35
Distinction : aucune
Date d'inscription : 03/03/2013
http://seedsoft.moe/

Résolu rajout d'une contion a un plugin

le Ven 23 Mar 2018 - 10:38
bonjour
j'utilise un plugin perso qui rajoute la fonction des genre au acteur et au ennemis,
avec la possibilité d'utiliser une note pour choisir a l'aide d'une variable le genre de l'acteur/ennemie.
mais j'ai un petit souci je souhaiterais que si la variable est égale a 0 alors il ne prend pas en compte la note.
voicie mon bout de code


seed gender:

Code:

var SeedSoft = SeedSoft || {};
SeedSoft.Xtype = SeedSoft.Xtype || {};
(function(){
//-----------------------------------------------------------------------------
// Game_BattlerBase
//-----------------------------------------------------------------------------
Object.defineProperties(Game_BattlerBase.prototype, {
  gender: { get: function() { return this._gender; }, configurable: true },
});
//=================Initialisation==========================
SeedSoft.Xtype.Game_BattlerBase_initMembers = Game_BattlerBase.prototype.initMembers;
Game_BattlerBase.prototype.initMembers = function() {
//=================Gender Initialization===================
   var genderchance = Math.random();{
   if (genderchance < 0.45) {
      this._gender = 1;
 }
   else if (genderchance <= 1) {
      this._gender = 2;
 }
   else {
      this._gender = 3;
 }
   }
  SeedSoft.Xtype.Game_BattlerBase_initMembers.call(this);
};
//=================Gender change============================
Game_BattlerBase.prototype.changeGender = function(gender) {
  this._gender = gender;
};
//-----------------------------------------------------------------------------
// Game_Actor
//-----------------------------------------------------------------------------
SeedSoft.Xtype.Game_Actor_setup = Game_Actor.prototype.setup;
Game_Actor.prototype.setup = function(actorId) {
  SeedSoft.Xtype.Game_Actor_setup.call(this, actorId);
  var gender = checkNotes(this.actor().note, "gender", "num");
  if (gender) {
    this._gender = $gameVariables.value(Number(gender.pop()[1]));
  };
  this.recoverAll();
};
//-----------------------------------------------------------------------------
// Game_Enemy
//-----------------------------------------------------------------------------
SeedSoft.Xtype.Game_Enemy_setup = Game_Enemy.prototype.setup;
Game_Enemy.prototype.setup = function(enemyId, x, y) {
  SeedSoft.Xtype.Game_Enemy_setup.call(this, enemyId, x, y);
   var gender = checkNotes(this.enemy().note, "gender", "num");
  if (gender) {
    this._gender = $gameVariables.value(Number(gender.pop()[1]));
 };
  };
})(SeedSoft.Xtype)

voici la modification que je voudrais apporter "si la variable est supérieure a 0 alors la condition ce lance"
Code:

//-----------------------------------------------------------------------------
// Game_Enemy
//-----------------------------------------------------------------------------
SeedSoft.Xtype.Game_Enemy_setup = Game_Enemy.prototype.setup;
Game_Enemy.prototype.setup = function(enemyId, x, y) {
  SeedSoft.Xtype.Game_Enemy_setup.call(this, enemyId, x, y);
   var gender = checkNotes(this.enemy().note, "gender", "num");
  if (gender > 0) {
    this._gender = $gameVariables.value(Number(gender.pop()[1]));
 };
  };


Dernière édition par johnseed le Lun 26 Mar 2018 - 20:42, édité 1 fois
avatar
dricc
Membre

Nombre de messages : 2756
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: rajout d'une contion a un plugin

le Ven 23 Mar 2018 - 11:57
Bon , de ce que je comprends du code : on affecte d'abord un genre aléatoirement . Puis , on regarde si la note a un genre spécifié . Je ne suis pas certain , j'avoue .

Je te suggére donc d'enlever la partie aléatoire et forcer à la place le genre à une valeur par défaut (disons 0 par exemple mais ça pourrait etre 3)

Code:

//=================Initialisation==========================
SeedSoft.Xtype.Game_BattlerBase_initMembers = Game_BattlerBase.prototype.initMembers;
Game_BattlerBase.prototype.initMembers = function() {
      this._gender = 0;
  SeedSoft.Xtype.Game_BattlerBase_initMembers.call(this);
};

Malheureusement , tu perds la possibilité d'avoir des ennemis de différents genres comme ça .
Ou alors , tu met un "else" à la modification que tu as commencée .
avatar
johnseed
Membre

Nombre de messages : 72
Age : 35
Distinction : aucune
Date d'inscription : 03/03/2013
http://seedsoft.moe/

Résolu Re: rajout d'une contion a un plugin

le Ven 23 Mar 2018 - 12:37

merci pour ta réponse
ais en fait certain ennemie on le genre aléatoire et d'autre c'est des genre définis, la parti aléatoire je l'ai réussi mais être capable de la choisir c'est plus compliquer .
avatar
tonyryu
Membre

Nombre de messages : 895
Age : 38
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: rajout d'une contion a un plugin

le Dim 25 Mar 2018 - 12:44
Ce que je ne comprend pas, c'est pourquoi, ta condition se fait à 2 endroits différents, alors que Game_Battler est la classe mère à Game_Enemy et Game_Actor. Tu devrais donc déjà effectuer ta modification que sur Game_Battler.

elle retourne quoi ta fonction checkNotes ??

Parce que bon, d'un coté tu considères sa variable de retour comme un entier :

gender > 0

et de l'autre comme un tableau :

gender.pop()[1]
avatar
johnseed
Membre

Nombre de messages : 72
Age : 35
Distinction : aucune
Date d'inscription : 03/03/2013
http://seedsoft.moe/

Résolu Re: rajout d'une contion a un plugin

le Lun 26 Mar 2018 - 20:42
j'ai reussi a le faire c'est bon,
Code:

  var gender = checkNotes(this.enemy().note, "gender", "num");
  var gendervar = $gameVariables.value(Number(gender.pop()[1]));
  if (gendervar > 0){
   var gender = checkNotes(this.enemy().note, "gender", "num")
   if (gender) {
    this._gender = $gameVariables.value(Number(gender.pop()[1]));
     if (this._gender == 1)
     this._gendername = Male;
      if (this._gender == 2)
     this._gendername = Female;
     if (this._gender == 3)
     this._gendername = Genderless;
      console.log('oui Gender: '+ this._gendername);
    };
   };

@tonyryu certaine partie du jeux son aléatoire et d'autre son scripter , par exemple une compétence d'un héro femelle qui permet de n'appeler que des male....
Contenu sponsorisé

Résolu Re: rajout d'une contion a un plugin

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum