Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

Partagez
 

 Problème avec Crafting System

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Willuh
Paysan (niveau 2)
Paysan (niveau 2)
Willuh

Masculin
Messages postés : 11
Date d'inscription : 25/11/2013
Jauge LPC :
Problème avec Crafting System 89152714000 / 1000 / 100Problème avec Crafting System 8915271400


Problème avec Crafting System Empty
MessageSujet: Problème avec Crafting System   Problème avec Crafting System EmptyLun 25 Nov 2013 - 23:36

Voilà, j'ai pris ce script ici et j'ai eu plusieurs problèmes (dont certains se sont résolus je sais même pas comment O.O). Il m'en reste un (enfin, je pense) qui implique ceci :
en lançant la scène pour choisir ce dont on veut crafter, je n'ai aucun choix possible.

Problème avec Crafting System Probla10

Alors que j'ai bien initié le script dans un event.

Voici le script :

Les deux codes:

Après quelques rectifications, en lançant la scène, j'obtiens ce message d'erreur :

Problème avec Crafting System Probla11

Si quelqu'un pouvait m'aider à comprendre pourquoi rien ne s'affiche, ce serait génial ! Sinon, ben je me mettrais à étudier le Ruby et à faire moi-même mes scripts.
Merci de votre patience !


Dernière édition par Willuh le Mer 27 Nov 2013 - 21:14, édité 1 fois
Revenir en haut Aller en bas
http://jeik-turner.eklablog.com/
Clémengrenage
Chevalier (niveau 4)
Chevalier (niveau 4)
Clémengrenage

Masculin
Messages postés : 122
Date d'inscription : 06/08/2013
Jauge LPC :
Problème avec Crafting System 891527140025 / 10025 / 100Problème avec Crafting System 8915271400


Problème avec Crafting System Empty
MessageSujet: Re: Problème avec Crafting System   Problème avec Crafting System EmptyMar 26 Nov 2013 - 7:52

Rien ne s'affiche, puisque tu n'as pas initialisé les objets que tu veux dans le script, à mon avis.

Edit : Les objets que le joueur possède bien sûr.
Revenir en haut Aller en bas
https://www.facebook.com/Clément Dubet
Willuh
Paysan (niveau 2)
Paysan (niveau 2)
Willuh

Masculin
Messages postés : 11
Date d'inscription : 25/11/2013
Jauge LPC :
Problème avec Crafting System 89152714000 / 1000 / 100Problème avec Crafting System 8915271400


Problème avec Crafting System Empty
MessageSujet: Re: Problème avec Crafting System   Problème avec Crafting System EmptyMar 26 Nov 2013 - 19:27

Tu m'as mis le doute et en fait, j'avais mal initialisé le script dans l'event (du coup, j'appelais une recette qui n'existait pas u__u). J'ai modifié ça et en lançant la scene de crafting, j'obtiens un message d'erreur :

Problème avec Crafting System Probla11
Revenir en haut Aller en bas
http://jeik-turner.eklablog.com/
shin
Chevalier Dragon (niveau 1)
Chevalier Dragon (niveau 1)
shin

Masculin
Messages postés : 726
Date d'inscription : 18/10/2011
Jauge LPC :
Problème avec Crafting System 891527140043 / 10043 / 100Problème avec Crafting System 8915271400

Problème avec Crafting System Membre10
Problème avec Crafting System Altrui10
Problème avec Crafting System Script10
Problème avec Crafting System Collec10
Problème avec Crafting System Collec11
Problème avec Crafting System Collec12
Problème avec Crafting System Collec13
Problème avec Crafting System Zibrop11


Problème avec Crafting System Empty
MessageSujet: Re: Problème avec Crafting System   Problème avec Crafting System EmptyMar 26 Nov 2013 - 22:03

essaye de remplacer le premier script par celui la :

Code:
#================================

# CRAFTING PROGRAM

#----------------------------------------------------------------

#-Scripté par Deke, Texte traduit par Ikurhaï.

#-yes_no window créer par Phsylomortis

#----------------------------------------------------------------

#================================



#updates to Game_Party class



class Game_Party

 

 attr_accessor      :recipes

 

 alias crafting_party_initialize initialize

 

 def initialize

  crafting_party_initialize

  @recipes=[]

 end

 

 #----------------------------------------------------------------------

 def know?(recipe, version = 1)

  unless recipe.is_a?(Game_Recipe)

    recipe = get_recipe_from_master_list(recipe, version)

  end

  return $game_party.recipes.include?(recipe)

 end

 

#----------------------------------------------------------------------

 def learn_recipe(recipe , version = 1)

  unless recipe.is_a?(Game_Recipe)

    recipe = get_recipe_from_master_list(recipe, version)

  end

  if recipe.is_a?(Game_Recipe)

    unless know?(recipe)

      @recipes.push(recipe)

    end

  end

 end

 

#----------------------------------------------------------------------

 def forget_recipe(recipe , version = 1)

  if !recipe.is_a?(Game_Recipe)

    recipe = get_recipe_from_master_list(recipe, version)

  end

  if recipe.is_a?(Game_Recipe)

    for i in 0...@recipes.size

      if recipe == @recipes

        index = i

        break

      end

    end

    if index != nil

      @recipes.delete(@recipes[index])

    end

  end

 end

 

#----------------------------------------------------------------------

 def get_recipe_from_master_list(item, version)

  index = nil

  for i in 0...$game_temp.recipe_list.size

    if item[0] == $game_temp.recipe_list[i].result and item[1] ==$game_temp.recipe_list[i].result_type

      version -= 1
     
      if version == 0
       
        index = i
       
        break
       
      end
     

    end

  end

  if index.is_a?(Integer)

    return ($game_temp.recipe_list[index])

  else

    return false

  end

 end

 

end # of Game_Party updates



#================================

class Game_Recipe



 attr_reader :ingredients

 attr_reader :quantities

 attr_reader :result

 attr_reader :result_type

 attr_reader :ingredient_types

 

#----------------------------------------------------------------------

 def initialize( ingredients, ingredient_types, quantities, result, result_type)

  @ingredients = ingredients

  @ingredient_types = ingredient_types

  @quantities = quantities

  @result = result

  @result_type = result_type

 end

 

#----------------------------------------------------------------------

 def name

  case @result_type

    when 0

      name = $data_items[@result].name

    when 1

      name = $data_armors[@result].name

    when 2

      name = $data_weapons[@result].name

  end

  return name

 end



#----------------------------------------------------------------------

 def have

  have_all = true

  for i in 0...@ingredients.size

    case @ingredient_types

      when 0

        if $game_party.item_number(@ingredients) < @quantities

          have_all=false

        end

      when 1

        if $game_party.armor_number(@ingredients) < @quantities

          have_all=false

        end

      when 2

        if $game_party.weapon_number(@ingredients) < @quantities

          have_all=false

        end

    end

  end

  return have_all

 end



#----------------------------------------------------------------------

 def decrement

  for i in 0...@ingredients.size

    case @ingredient_types

    when 0

      $game_party.lose_item(@ingredients, @quantities)

    when 1

      $game_party.lose_armor(@ingredients, @quantities)

    when 2

      $game_party.lose_weapon(@ingredients, @quantities)

    end

  end

 end



#----------------------------------------------------------------------

 def make

  if have

    case @result_type

    when 0

      $game_party.gain_item(@result, 1)

    when 1

      $game_party.gain_armor(@result, 1)

    when 2

      $game_party.gain_weapon(@result, 1)

    end

    decrement

  end

 end

 

#----------------------------------------------------------------------

 def == (recipe)

  if recipe.is_a?(Game_Recipe)

    equal = true

    if recipe.ingredients != self.ingredients

      equal = false

    end

    if recipe.ingredient_types != self.ingredient_types

      equal = false

    end

    if recipe.quantities != self.quantities

      equal = false

    end

    if recipe.result != self.result

      equal=false

    end

    if recipe.result_type != self.result_type

      equal = false

    end

  else

    equal = false

  end

  return equal

 end

 

end # of Game_Recipe class



#===================================



class Window_Craft < Window_Selectable



 #--------------------------------------------------------------------------

 def initialize

  super(0, 64, 240, 416)

  @column_max = 1

  refresh

  self.index = 0

 end



 #--------------------------------------------------------------------------

 def recipe

  return @data[self.index]

 end



 #--------------------------------------------------------------------------

 def refresh

  if self.contents != nil

    self.contents.dispose

    self.contents = nil

  end

  @data = []

  for i in 0...$game_party.recipes.size

      @data.push($game_party.recipes)

  end

  @item_max = @data.size

  if @item_max > 0

    self.contents = Bitmap.new(width - 32, row_max * 32)

    self.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype

    self.contents.font.size = $fontsize.is_a?(Integer) ? $fontsize : $defaultfontsize

    for i in 0...@item_max

      draw_item(i)

    end

  end

 end



 #--------------------------------------------------------------------------

 def draw_item(index)

  recipes = @data[index]

  self.contents.font.color = recipes.have ? normal_color : disabled_color

  x = 16

  y = index * 32

  self.contents.draw_text(x , y, self.width-32, 32, recipes.name, 0)

 end



 #--------------------------------------------------------------------------

 def update_help

  current_recipe = recipe

  if current_recipe.is_a?(Game_Recipe)

  case current_recipe.result_type

    when 0

      description = $data_items[current_recipe.result].description

    when 1

      description = $data_armors[current_recipe.result].description

    when 2

      description = $data_weapons[current_recipe.result].description

    end

  else

    description = ""

  end

  @help_window.set_text(description)

  @help_window.update

 end

 

end # of Window_Craft



#=======================================

class Window_CraftResult < Window_Base



 #--------------------------------------------------------------------------

 def initialize

  super(240, 64, 400, 184)

  self.contents = Bitmap.new(width - 32, height - 32)

  self.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype

  self.contents.font.size = 20

  @result = nil

  @type = nil

 end



 #--------------------------------------------------------------------------

 def refresh

  self.contents.clear

  case @type

    when 0

      item = $data_items[@result]

      if item.recover_hp_rate > item.recover_hp

        hp_string = "% de Soin :"

        hp_stat = item.recover_hp_rate

      else

        hp_string = "Soin:"

        hp_stat = item.recover_hp

      end

      if item.recover_sp_rate > item.recover_sp

        sp_string = "% de régénération :"

        sp_stat = item.recover_sp_rate

      else

        sp_string = "Régénération:"

        sp_stat = item.recover_sp

      end

      @strings = [hp_string, sp_string, "Déf phys:" , "Déf mag:", "Précision:", "Variance:"]

      @stats = [hp_stat, sp_stat, item. pdef_f, item.mdef_f, item.hit, item.variance,

                      $game_party.item_number(@result)]

      @bitmap = RPG::Cache.icon(item.icon_name)

    when 1

      item = $data_armors[@result]

      @strings = ["Déf phys:", "Déf mag:", "Esquive", "Force:", "Dextérité:",

                      "Agilité:", "Intelligence:"]

      @stats = [item.pdef, item.mdef, item.eva, item.str_plus, item.dex_plus,

                  item.agi_plus, item.int_plus, $game_party.armor_number(@result) ]

      @bitmap = RPG::Cache.icon(item.icon_name)

    when 2

      item = $data_weapons[@result]

      @strings =["Attaque:", "Déf phys:", "Déf mag:", "Force:", "Dextérité:",

                  "Agilité:", "Intelligence:"]

      @stats = [item.atk, item.pdef, item.mdef, item.str_plus, item.dex_plus,

                  item.agi_plus, item.int_plus, $game_party.weapon_number(@result) ]

      @bitmap = RPG::Cache.icon(item.icon_name)

  end

  for i in 0...@strings.size

    x = i%2 * 184

    y = i /2 *28 +32

    self.contents.font.color = normal_color

    self.contents.draw_text(x,y,100, 28,@strings)

    self.contents.font.color = system_color

    self.contents.draw_text(x + 110, y, 45, 28, @stats.to_s)

  end

  self.contents.blt(0, 0, @bitmap, Rect.new(0, 0, 24, 24), 255)

  self.contents.font.color= normal_color

  self.contents.draw_text(40, 0, 300, 28, "Déjà en possesion:")

  self.contents.font.color = system_color

  count = @stats[@stats.size - 1].to_s

  self.contents.draw_text(294, 0, 45, 28, count )

 end

 

#----------------------------------------------------------------------

 def set_result(result , type)

  @result = result

  @type = type

  refresh

 end



end #of Window_CraftResult



#=======================================

class Window_CraftIngredients < Window_Base



 #--------------------------------------------------------------------------

 def initialize

  super(240, 248, 400, 232)

  self.contents = Bitmap.new(width - 32, height - 32)

  self.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype

  self.contents.font.size = 20

  @ingredients = []

  @types = []

  @quantities = []

  @item = nil

  @count = 0

 end



 #--------------------------------------------------------------------------

 def refresh

  self.contents.clear

  for i in 0...@ingredients.size

    case @types

    when 0

      @item = $data_items[@ingredients]

      @count = $game_party.item_number(@ingredients)

    when 1

      @item = $data_armors[@ingredients]

      @count = $game_party.armor_number(@ingredients)

    when 2

      @item = $data_weapons[@ingredients]

      @count = $game_party.weapon_number(@ingredients)

    end

    y = i *26

    self.contents.blt(0, y, RPG::Cache.icon(@item.icon_name), Rect.new(0, 0, 24, 24), 255)

    self.contents.font.color = @count >= @quantities ? normal_color : disabled_color

    self.contents.draw_text(30, y, 280, 28, @item.name)

    self.contents.draw_text(300, y, 45, 28, @quantities.to_s)

    self.contents.font.color = system_color

    self.contents.draw_text(245, y, 45, 28, @count.to_s )   

  end

 end

   

 #--------------------------------------------------------------------------

 def set_ingredients(ingredients , types, quantities)

  @ingredients = ingredients

  @types = types

  @quantities = quantities

  refresh

 end



end # of Window_CraftIngredients



#======================================

class Scene_Craft



 #--------------------------------------------------------------------------

 def initialize(craft_index=0, return_scene = "menu")

  @craft_index=craft_index

  @return_scene = return_scene

 end

 

 #--------------------------------------------------------------------------

 def main

  @craft_window = Window_Craft.new

  @craft_window.index=@craft_index

  @confirm_window = Window_Base.new(120, 188, 400, 64)

  @confirm_window.contents = Bitmap.new(368, 32)

  @confirm_window.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype

  @confirm_window.contents.font.size = $fontsize.is_a?(Integer) ? $fontsize : $defaultfontsize

  @help_window = Window_Help.new

  @craft_window.help_window = @help_window

  @result_window=Window_CraftResult.new

  @ingredients_window=Window_CraftIngredients.new

  @yes_no_window = Window_Command.new(100, ["Oui", "Non"])

  @confirm_window.visible = false

  @confirm_window.z = 1500

  @yes_no_window.visible = false

  @yes_no_window.active = false

  @yes_no_window.index = 1

  @yes_no_window.x = 270

  @yes_no_window.y = 252

  @yes_no_window.z = 1500

  @label_window = Window_Base.new(450,200,190,52)

  @label_window.contents=Bitmap.new(@label_window.width - 32,@label_window.height - 32)

  @label_window.contents.font.size=20

  @label_window.contents.font.color = @label_window.normal_color

  @label_window.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype

  @label_window.contents.draw_text(0, 0, @label_window.contents.width, 20, "  Possédé(s)    Nécessaire(s)")

  Graphics.transition

  loop do

    Graphics.update

    Input.update

    update

    if $scene != self

      break

    end

  end

  Graphics.freeze

  @help_window.dispose

  @craft_window.dispose

  @result_window.dispose

  @ingredients_window.dispose

  @confirm_window.dispose

  @yes_no_window.dispose

  @label_window.dispose

 end



 #--------------------------------------------------------------------------

 def update

  @craft_window.update

  @ingredients_window.update

  if $game_party.recipes.size > 0

    @result_window.set_result(@craft_window.recipe.result, @craft_window.recipe.result_type)

    @ingredients_window.set_ingredients(@craft_window.recipe.ingredients,

                                                          @craft_window.recipe.ingredient_types,

                                                          @craft_window.recipe.quantities)

  end

  if @craft_window.active

    update_craft

    return

  end

  if @yes_no_window.active

    confirm_update

    return

  end

 end



 #--------------------------------------------------------------------------

 def update_craft

  if Input.trigger?(Input::B)

    $game_system.se_play($data_system.cancel_se)

    if @return_scene == "menu"

      $scene = Scene_Menu.new(0)

    else

      $scene = Scene_Map.new

    end

    return

  end

  if Input.trigger?(Input::C) and $game_party.recipes.size != 0

    @recipe = @craft_window.recipe

    if @recipe.have

      @yes_no_window.active = true

      @craft_window.active = false

    else

      $game_system.se_play($data_system.buzzer_se)

      return

    end

  end

 end



 #--------------------------------------------------------------------------

 def confirm_update

  @craft_index = @craft_window.index

  @confirm_window.visible = true

  @confirm_window.z = 1500

  @yes_no_window.visible = true

  @yes_no_window.active = true

  @yes_no_window.z = 1500

  @yes_no_window.update

  string = "Créer " + @recipe.name + "?"

  cw = @confirm_window.contents.text_size(string).width

  center = @confirm_window.contents.width/2 - cw /2

  unless @drawn

    @confirm_window.contents.draw_text(center, 0, cw, 30, string)

    @drawn = true

  end

  if Input.trigger?(Input::C)

    if @yes_no_window.index == 0

      $game_system.se_play($data_system.decision_se)

      @recipe.make

      $game_system.se_play($data_system.save_se)

      $scene=Scene_Craft.new(@craft_index)

    else

      $game_system.se_play($data_system.cancel_se)

      $scene=Scene_Craft.new(@craft_index)

    end

  end

  if Input.trigger?(Input::B)

    $game_system.se_play($data_system.cancel_se)

    $scene=Scene_Craft.new(@craft_index)

  end

 end



end
ps: J'ai pas XP donc je sait pas si ça marche.
Revenir en haut Aller en bas
Willuh
Paysan (niveau 2)
Paysan (niveau 2)
Willuh

Masculin
Messages postés : 11
Date d'inscription : 25/11/2013
Jauge LPC :
Problème avec Crafting System 89152714000 / 1000 / 100Problème avec Crafting System 8915271400


Problème avec Crafting System Empty
MessageSujet: Re: Problème avec Crafting System   Problème avec Crafting System EmptyMer 27 Nov 2013 - 21:11

Toujours pareil. Il semblerait, si on suit l'alerte, que c'est le "have" de cette ligne qui pose problème :
 self.contents.font.color = recipes.have ? normal_color : disabled_color
Mais je ne vois pas en quoi.
(Sinon, j'ai retrouvé où j'avais trouvé ce script, je le mets aussi dans mon premier post : http://www.rpg-maker.fr/scripts-234-systeme-de-forge.html)

EDIT : Ce problème n'est pas résolu, mais j'ai trouvé un autre script qui me permet de faire la même chose et qui fonctionne. Donc si quelqu'un cherche un défi, il peut essayer de résoudre le problème de ce script. Moi, je repars créer ! ^^
Revenir en haut Aller en bas
http://jeik-turner.eklablog.com/
Contenu sponsorisé




Problème avec Crafting System Empty
MessageSujet: Re: Problème avec Crafting System   Problème avec Crafting System Empty

Revenir en haut Aller en bas
 
Problème avec Crafting System
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème avec un script.
» problème avec numpad
» Problème avec evênement ><"
» [RESOLU][VX Ace] Problème avec le SBS Tankentai
» Problème avec la fenêtre en combat

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ APPRENTISSAGE ~ :: Entraide :: Problèmes non résolus-
Sauter vers: