- ElphealerMembre
- Nombre de messages : 52
Age : 34
Localisation : Lyon
Distinction : aucune
Date d'inscription : 07/12/2009
[résolu] Je reviens avec mon script merveilleux: erreur inconnu pour moi
Mar 23 Fév 2010 - 23:19
Bonsoir tout le monde,
Après un combat acharné contre ce script (et après avoir essuyé 3 échecs critiques ^^), je me retourne vers vous pour savoir comment géré cette erreur :
Voilà le script en question :
L'erreur se produit à la ligne
Si vous voulez des détails quelconque sur le script... ben... demandez les ^^
PS: les raccourcies attr_accessor je les utiliserai une fois le script fini.
Après un combat acharné contre ce script (et après avoir essuyé 3 échecs critiques ^^), je me retourne vers vous pour savoir comment géré cette erreur :
SystemStackError occured
stack level too deep
stack level too deep
Voilà le script en question :
- Spoiler:
- Code:
class Window_Help_Cuisine < Window_Base
def initialize
super (160,0,384,128)
self.contents.clear
self.contents.font.color = normal_color
end
def modifier (recette)
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(0,0,384,25,recette.description,1)
self.contents.draw_text(0,0,384,75,recette.effet,1)
liste_des_ingredients = ""
compteur = recette.liste_ingredients.size
recette.liste_ingredients.each do |ingredient|
if ingredient[0] > 1
liste_des_ingredients += ingredient[0].to_s + "x " + ingredient[1]
elsif ingredient[0] = 1
liste_des_ingredients += ingredient[1]
end
compteur = compteur -1
liste_des_ingredients += ", " if compteur > 1
end
liste_des_ingredients += "."
self.contents.draw_text(0,0,384,125,liste_des_ingredients,1)
end
end
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
$data_items= load_data("Data/Items.rvdata")
@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
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" , ingredients : [id de l'ingredient, quantité])
Recette_Cuisine.new(1,"Sandwitch","Un petit encas","Regen un peu de PV et PM",[30,1],[31,1],[32,1]),
Recette_Cuisine.new(2,"Soupe","Pour bien grandir!!","Donne Force+",[33,1],[31,1])
# Fin de la liste
]
end
class Scene_Cuisine < Scene_Base
def initialize
@menu_index = 0
end
def start
super
create_menu_background
create_liste_recettes
accessible
create_command_window
end
def terminate
super
dispose_menu_background
@command_window.dispose
end
def update
super
update_menu_background
@command_window.update
if @command_window.active
update_command_selection
end
i = @command_window.index
@description_window.modifier(@liste_recettes[i])
end
def create_liste_recettes
recettes_apprises = $game_variables[14]
@liste_recettes = []
RECETTES::LISTE_COMPLETE_DES_RECETTES.each do |recette|
@liste_recettes.push(recette) if recette.num <= recettes_apprises
end
end
def create_command_window
liste_noms=[]
@liste_recettes.each do |recette|
liste_noms.push recette.nom
end
@command_window = Window_Command.new(160, liste_noms )
@command_window.index = @menu_index
for i in (0 ... (@accessible.size - 1)) do
@command_window.draw_item(i, @accessible[i])
end
@description_window = Window_Help_Cuisine.new
end
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Menu.new(6)
end
case @command_window.index
when 0 # Sandwitch
when 1 # Epinard
when 2 # Soupe
end
end
def accessible
@accessible = []
@liste_recettes.each do |recette|
acces = true
recette.ingredients.each do |ingredient|
acces = acces && ($game_party.item_number($data_items[ingredient[0]]) >= ingredient[1])
end
accessible.push (acces)
end
end
end
L'erreur se produit à la ligne
- Code:
acces = acces && ($game_party.item_number($data_items[ingredient[0]]) >= ingredient[1])
(avant-avant dernière ligne)
Moi je comprends plus ce qui lui pose problème...Si vous voulez des détails quelconque sur le script... ben... demandez les ^^
PS: les raccourcies attr_accessor je les utiliserai une fois le script fini.
- BalbereithStaffeux retraité
- Nombre de messages : 4129
Age : 31
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires ) [Coco' ]
Date d'inscription : 13/05/2009
Re: [résolu] Je reviens avec mon script merveilleux: erreur inconnu pour moi
Ven 19 Mar 2010 - 20:36
Résolu ? Dans une semaine, je sanctionne, s'il y a pas de relance ou de réponse, résolvant le problème.
- ElphealerMembre
- Nombre de messages : 52
Age : 34
Localisation : Lyon
Distinction : aucune
Date d'inscription : 07/12/2009
Re: [résolu] Je reviens avec mon script merveilleux: erreur inconnu pour moi
Sam 20 Mar 2010 - 12:03
Disons que j'ai trouvé une autre méthode depuis.
Désolé de pas être revenu pour modifier le titre.
Désolé de pas être revenu pour modifier le titre.
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|