Partagez
Aller en bas
Elphealer
Elphealer
Membre

Nombre de messages : 52
Age : 30
Localisation : Lyon
Distinction : aucune
Date d'inscription : 07/12/2009

[Résolu] Probleme dans un script que je créé Empty [Résolu] Probleme dans un script que je créé

le Mar 23 Fév 2010 - 13:56
Voilà, j'ai fini par me décider à scripter par moi même. Pour commencer quelque chose de simple, je programme un menu pour crafter (celui que je vous présente est loin d'être fini ^^)

Ce script permet de creer une recette de cuisine :

Code:
class Recette_Cuisine
   
   def initialize (numero_recette,nom_recette, description_recette, effet_recette, ingredients_recette_id  )
      @num= numero_recette
      @nom = nom_recette
      @description = description_recette
      @effet = effet_recette
      @ingredients = ingredients_recette_id
      creer_liste_ingredients
   end
   
   def num
      return @num
   end

   def nom
      return @nom
   end
   
   def description
      return @description
   end
   
   def effet
      return @effet
   end
   
   def ingredients
      return @ingredients
   end
   
   def creer_liste_ingredients
      @liste_ingredients = []
      @ingredients.each do |ingredient_id|
         @liste_ingredients.push ( [ ingredient_id[1] , $data_items[ingredient_id[0]].name ]  )
      end   
   end
   
   def liste_ingredients
      return @liste_ingredients
   end
end

Seulement voilà, quand je compile tous ça dans RPGMaker VX il me dit que $data_items n'est pas un tableau mais est un élément 'nil'. Je sais ce qu'est 'nil', mais je comprends pas pk il ne le considère pas là comme un tableau (alors que c'est comme ça qu'il est utilsé ailleurs dans le script initial).

Donc ma question est la suivante : Est ce que vous savez comment lui faire comprendre que $data_items est bien le tableau contenant ... les données des items --'

PS : Si vous pensez que ça peut venir de là, voilà comment sont créé les recettes :

Code:
module RECETTES
   LISTE_COMPLETE_DES_RECETTES = [
   #  Placez les recettes dans l'ordre d'apparition dans le menu cuisine
   #  Recette_Cuisine.new (ordre d'apprentissage (possibilité d'apprendre plusieurs recettes d'un coup), "nom de la recette", "description" , "effet" , [effet1, effet2, etc ], ingredients : [id de l'ingredient, quantité])
   Recette_Cuisine.new(1,"Sandwitch","Un petit encas","Regen un peu de PV et PM",[-1,-2],[[30,1],[31,1],[32,1]]),
   Recette_Cuisine.new(2,"Soupe","Pour bien grandir!!","Donne Force+",[8],[[33,1]])
   # Fin de la liste
   ]
end


Dernière édition par Elphealer le Mar 23 Fév 2010 - 19:53, édité 1 fois
Azuma-01
Azuma-01
Membre

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

[Résolu] Probleme dans un script que je créé Empty Re: [Résolu] Probleme dans un script que je créé

le Mar 23 Fév 2010 - 19:37
ton script est bien en dessous de Scene_Title?
Car $data_items est initialisé dans cette scene.

l'item au id ingredient_id[0] existe-il dans la BBD?

Ajoute "unless $data_items[ingredient_id[0]].nil?" à la fin de la ligne.


PS: Au lieu de toujours écrire
Code:
def var
  return @var
end
utilise
Code:
attr_accessor :var
ça revient au même.
Elphealer
Elphealer
Membre

Nombre de messages : 52
Age : 30
Localisation : Lyon
Distinction : aucune
Date d'inscription : 07/12/2009

[Résolu] Probleme dans un script que je créé Empty Re: [Résolu] Probleme dans un script que je créé

le Mar 23 Fév 2010 - 19:46
BBD signifie ?
Sinon ben mon script est tout juste au dessus du Main. (Donc bien en dessous de Scene_Title)
Je test avec l'ajout que tu me conseil.

(pour le raccourcie que tu me donnes, je crois l'avoir déjà lu qqs part, mais je voulais le faire une fois comme ça, pour être sur de bien comprendre comment ça fonctionne. )


Edit : ça n'a rien changé. Il m'affiche tjrs le même message d'erreur :
"
line : NoMethodError occured.
undefined method '[]`for nil:NilClass "

Je précise qu'il me le fait dès la compilation, le jeu ne vas même pas jusqu'à l'écran titre


REedit : ça a marché en mettant seulement 'unless $data_items.nil?' . Merci de la formule magic ^^ !!
Du coup c'est résolu, je vais pouvoir avancer mes test.
Love rpg
Love rpg
Membre

Nombre de messages : 162
Distinction : aucune
Date d'inscription : 12/07/2009

[Résolu] Probleme dans un script que je créé Empty Re: [Résolu] Probleme dans un script que je créé

le Mar 23 Fév 2010 - 20:41
BBD signifie ?
BBD est la base de donnée où l'on créé les objets.
Après pour le reste je te laisse voir avec Azuma-01 parce que j'y connais rien.

Bonne chance.
Elphealer
Elphealer
Membre

Nombre de messages : 52
Age : 30
Localisation : Lyon
Distinction : aucune
Date d'inscription : 07/12/2009

[Résolu] Probleme dans un script que je créé Empty Re: [Résolu] Probleme dans un script que je créé

le Mar 23 Fév 2010 - 20:46
Merci ^^
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum