Partagez
Aller en bas
avatar
johnseed
Membre

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

Résolu corriger une erreur "cannot read property value of null"

le Lun 4 Avr 2016 - 14:54
bonjours
Je voudrais corriger une erreur "cannot read property value of null" dans
YEP_X_AnimatedSVEnemies
J'ai ajouter une ligne pour faire en sorte que les balters ennemis soit différent par niveau

je n’arrive pas a comprendre ou j'ai fait une érreur
j'ai essayer

Code:

else if (line.match(/<(?:ENEMY LEVEL V):[ ](.*)\s*\/>/i)) {
if ($gameVariables.value(RegExp.$1) != null) {
    var value = 0;
}
else {
    var value = $gameVariables.value(RegExp.$1);
}
obj.sideviewBattler.push(String(value));
obj.sideviewBreathing = [2, 3].contains(Yanfly.Param.SVEBreathing);
}
sans succes


Dernière édition par johnseed le Ven 8 Avr 2016 - 20:48, édité 1 fois
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: corriger une erreur "cannot read property value of null"

le Lun 4 Avr 2016 - 15:17
le message d'erreur te dit qu'il ne peut pas lire la propriété value de null. Si je regarde le code, ça tente d'appeler value de $gameVariables, hors je ne vois pas pourquoi c'est null.

tu peux nous copier le backtrace complet du plantage?

sinon tente déjà ça :

Code:
if ($gameVariables != null)
  var value = $gameVariables.value(RegExp.$1);
else
  var value = 0;
avatar
johnseed
Membre

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

Résolu Re: corriger une erreur "cannot read property value of null"

le Lun 4 Avr 2016 - 15:37
merci de ta réponse rapide, cela supprime l’erreur  par contre le balters ne change plus en fonction du niveau il rest a 0.
ps commen on trouve le backtrace? désoler c'est ma première erreur de ce type
edit: voici le batrape que j'avais

Code:

rpg_managers.js:1722 TypeError: Cannot read property 'value' of null
    at Function.DataManager.processSVENotetags1 (/D:/document/Making/RMMV/CBS%20v1/js/plugins/YEP_X_AnimatedSVEnemies.js:885)
    at Function.DataManager.isDatabaseLoaded (/D:/document/Making/RMMV/CBS%20v1/js/plugins/YEP_X_AnimatedSVEnemies.js:816)
    at Scene_Boot.isReady (rpg_scenes.js:183)
    at Function.SceneManager.updateScene (rpg_managers.js:1782)
    at Function.SceneManager.updateMain (rpg_managers.js:1754)
    at Function.SceneManager.update (rpg_managers.js:1680)
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: corriger une erreur "cannot read property value of null"

le Lun 4 Avr 2016 - 17:39
Je ne comprend pas trop ce que tu cherches à faire du coup. Puisque la procédure en question est appelée lorsque la base de données a été chargé et l'instance de Game_Variable n'est pas encore créé.

"J'ai ajouter une ligne pour faire en sorte que les balters ennemis soit différent par niveau"

par niveau de quoi?
avatar
johnseed
Membre

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

Résolu Re: corriger une erreur "cannot read property value of null"

le Lun 4 Avr 2016 - 17:50
Et bien j'ai un systeme pour que les enemies aient un niveau comme les acteur. Et ceus si son regler dans une variable. Et sur la meme variable je voudrais y ajouter l'image du balters.
avatar
johnseed
Membre

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

Résolu Re: corriger une erreur "cannot read property value of null"

le Jeu 7 Avr 2016 - 14:21
j'ai peut être trouver la solution a mon problème, sur rpg maker vxace(ou j'ai commencer ce projet) je faisais un reload de la note de l’ennemie a l'initialisation du combat du coup la variable n'était pas "null" et cela replacer le sprite directement

sur mv il y as t'il une commande pour reload la note ?

edit: je suis tomber sur cela mais pas reussi a le metre en place , cela pourrait m'aider?

Code:
Author_Name.Plugin_Name = {

/* General form:
data_type: {
note_name: {},
}, */
data_type_1: {
note_name_i_j: {}
/* ... */
},
data_type_2: {
note_name_i_j: {}
/* ... */
},
data_type_3: {
note_name_i_j: {}
/* ... */
},
/* ... */
data_type_n: {
note_name_i_j: {}
/* ... */
},

/* General form:
$dataTypes.forEach(function(data) {
if (data) {
this.load_notes("type", data);
}
}); */
load_all_notes: function() {
$dataTypes1.forEach(function(data) {
if (data) {
this.load_notes("type1", data);
}
});
$dataTypes2.forEach(function(data) {
if (data) {
this.load_notes("type2", data);
}
});
$dataTypes3.forEach(function(data) {
if (data) {
this.load_notes("type3", data);
}
});
/* ... */
$dataTypesN.forEach(function(data) {
if (data) {
this.load_notes("typeN", data);
}
});
return true;
}, // load_all_notes

// Additional notetag loading functions will be added when appropriate
/* type: The type of the data
data: The data to have its notetags read */
load_notes: function(type, data) {
var id = data.id;
        Object.keys(this[type]).forEach(function(note) {
            this[type][note][id] = note_init_val;
        });
data.note.split(/[\r\n]+/).forEach(function(line) {
// The notetag reading implementations are written here
//
});
} // load_notes

}; // Author_Name.Plugin_Name

/*----------------------------------------------------------------------------
* * Edit class: DataManager
*----------------------------------------------------------------------------*/

DataManager.isDatabaseLoaded = (function(isDatabaseLoadedPluginName) {
return function() {
// Rewritten
isDatabaseLoadedPluginName.apply(this, arguments) &&
Author_Name.Plugin_Name.load_all_notes();
/
};
})(DataManager.isDatabaseLoaded);
ainsi que
Code:
Author_Name.Plugin_Name = {

    loadAllNotes: function() {
        $dataTypeI.forEach(function(data) {
            if (data) {
                Author_Name.Plugin_Name.loadDataTypeINotes(data);
            }
        });
        return true;
    }, // loadAllNotes

    // data: The data to have its notetags read
    loadDataTypeINotes: function(data) {
        data.meta.notetagNameI = {};
        // Implements the notetag reading mechanisms here
        //

    } // loadDataTypeINotes

}; // AuthorNameRMMV.PluginName

/*----------------------------------------------------------------------------
* * Edit class: DataManager
*----------------------------------------------------------------------------*/

DataManager.isDatabaseLoaded = (function(isDatabaseLoadedPluginName) {
    return function() {
        // Rewritten
        return isDatabaseLoadedPluginName.apply(this, arguments) &&
        Author_Name.Plugin_Name.loadAllNotes();
        //
    };
})(DataManager.isDatabaseLoaded);
avatar
johnseed
Membre

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

Résolu Re: corriger une erreur "cannot read property value of null"

le Jeu 7 Avr 2016 - 22:38
pour comprendre ce que je faisais sur rpg maker vxace

j'avais fait cela

Code:

#==============================================================================
# ¦ DataManager
#==============================================================================

module DataManager
 
  #--------------------------------------------------------------------------
  # alias method: load_database
  #--------------------------------------------------------------------------
  class <<self; alias load_database_ecl load_database; end
  def self.load_database
    load_database_ecl
    load_notetags_ecl
  end
 
  #--------------------------------------------------------------------------
  # new method: load_notetags_aee
  #--------------------------------------------------------------------------
  def self.load_notetags_ecl
    groups = [$data_enemies]
    for group in groups
      for obj in group
        next if obj.nil?
        obj.load_notetags_ecl
      end
    end
  end
 
end # DataManager


et pour recharger les notes j'avais fait

Code:

enemy.load_notetags_ecl
avatar
Azuma-01
Membre

Nombre de messages : 94
Age : 26
Localisation : Amos
Distinction : aucune
Date d'inscription : 22/09/2009

Résolu Re: corriger une erreur "cannot read property value of null"

le Ven 8 Avr 2016 - 0:47
Au moment où DataManager.isDatabaseLoaded retourne true, donc au moment ou tu essai d'utiliser $gameVariables, la BD viens juste d'être téléchargé: Aucune des variables $game* n'a encore été initialiser. Pour faire ce genre de manipulation, fait un alias de DataManager.createGameObjects comme :
Code:
var old_DataManager_createGameObjects = DataManager.createGameObjects
DataManager.createGameObjects = new function(){
  old_DataManager_createGameObjects();
  for (var n = 1; n < $dataEnemies.length; n++) {
    var obj = $dataEnemies[n];
    var notedata = obj.note.split(/[\r\n]+/);
    for (var i = 0; i < notedata.length; i++) {
      if (notedata[i].match(/<(?:ENEMY LEVEL V):[ ](.*)\s*\/>/i)){
        var value = $gameVariables.value(RegExp.$1) || 0;
        obj.sideviewBattler.push(String(value));
        obj.sideviewBreathing = [2, 3].contains(Yanfly.Param.SVEBreathing);
      }//if line match
    }//foreach notebox line
  }//foreach enemy
}
avatar
johnseed
Membre

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

Résolu Re: corriger une erreur "cannot read property value of null"

le Ven 8 Avr 2016 - 6:37
merci de ta réponse Azuma-01
j'ai essayer d'incruster ton bout de code a la place de
Code:

else if (line.match(/<(?:ENEMY LEVEL V):[ ](.*)\s*\/>/i)) {
  if ($gameVariables != null){
   var value = $gameVariables.value(RegExp.$1);
   obj.sideviewBattler.push(String(value));
   obj.sideviewBreathing = [2, 3].contains(Yanfly.Param.SVEBreathing);
}else {
   var value = 0;
   obj.sideviewBattler.push(String(value));
   obj.sideviewBreathing = [2, 3].contains(Yanfly.Param.SVEBreathing);
}
}
je suppose que c'est ça place par contre cela ne marche pas les balters ne s’affiche tout simplement pas .
avatar
Azuma-01
Membre

Nombre de messages : 94
Age : 26
Localisation : Amos
Distinction : aucune
Date d'inscription : 22/09/2009

Résolu Re: corriger une erreur "cannot read property value of null"

le Sam 9 Avr 2016 - 0:41
Effectivement, c'est justement où il ne doit PAS être $gameVariables existe pas encore.
ce bout de code doit être à l'extérieur de la fonction DataManager.processSVENotetags1
ligne 994 par exemple (oui cette ligne vide).
Contenu sponsorisé

Résolu Re: corriger une erreur "cannot read property value of null"

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