Partagez
Aller en bas
Elphealer
Elphealer
Membre

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

[Resolu] Bug avec le script Empty [Resolu] Bug avec le script

le Mar 8 Déc 2009 - 23:26
Volà j'ai commencé à bricoler avec le script (j'ai fais du copié collé pour voir ce que ça donne ^^') et j'en suis là. Lors lancement d'un combat dans une carte (et seulement dans celle là sur les deux que j'ai) il m'affiche le message

"Script 'Cache' line 75 : TypeError occured.

cannot convert nil into String "

Voilà ce que dis ma page Cache
Code:
module Cache
  #--------------------------------------------------------------------------
  # * Get Animation Graphic
  #    filename : Filename
  #    hue      : Hue change value
  #--------------------------------------------------------------------------
  def self.animation(filename, hue)
    load_bitmap("Graphics/Animations/", filename, hue)
  end
  #--------------------------------------------------------------------------
  # * Get Battler Graphic
  #    filename : Filename
  #    hue      : Hue change value
  #--------------------------------------------------------------------------
  def self.battler(filename, hue)
    load_bitmap("Graphics/Battlers/", filename, hue)
  end
  #--------------------------------------------------------------------------
  # * Get Character Graphic
  #    filename : Filename
  #--------------------------------------------------------------------------
  def self.character(filename)
    load_bitmap("Graphics/Characters/", filename)
  end
  #--------------------------------------------------------------------------
  # * Get Face Graphic
  #    filename : Filename
  #--------------------------------------------------------------------------
  def self.face(filename)
    load_bitmap("Graphics/Faces/", filename)
  end
  #--------------------------------------------------------------------------
  # * Get Parallax Background Graphic
  #    filename : Filename
  #--------------------------------------------------------------------------
  def self.parallax(filename)
    load_bitmap("Graphics/Parallaxes/", filename)
  end
  #--------------------------------------------------------------------------
  # * Get Picture Graphic
  #    filename : Filename
  #--------------------------------------------------------------------------
  def self.picture(filename)
    load_bitmap("Graphics/Pictures/", filename)
  end
  #--------------------------------------------------------------------------
  # * Get System Graphic
  #    filename : Filename
  #--------------------------------------------------------------------------
  def self.system(filename)
    load_bitmap("Graphics/System/", filename)
  end
  #--------------------------------------------------------------------------
  # * Clear Cache
  #--------------------------------------------------------------------------
  def self.clear
    @cache = {} if @cache == nil
    @cache.clear
    GC.start
  end
  #--------------------------------------------------------------------------
  # * Load Bitmap
  #--------------------------------------------------------------------------
  def self.load_bitmap(folder_name, filename, hue = 0)
    @cache = {} if @cache == nil
    path = folder_name + filename
    if not @cache.include?(path) or @cache[path].disposed?
      if filename.empty?
        @cache[path] = Bitmap.new(32, 32)
      else
        @cache[path] = Bitmap.new(path)
      end
    end
    if hue == 0
      return @cache[path]
    else
      key = [path, hue]
      if not @cache.include?(key) or @cache[key].disposed?
        @cache[key] = @cache[path].clone
        @cache[key].hue_change(hue)
      end
      return @cache[key]
    end
  end
end

J'y ai pas touché à celle là donc je suis étonné que le bug vienne d'ici. Le seul codes que j'ai ajouté est (au dessus de la fonction main, dans la même page):

Code:

module SynBattleB

  # Place your battle backgrounds in the 'Pictures' folder (Graphics/Pictures)

  # Format = {map_id => Battleback Name}

  Battle_background =

  {

  2 => "BDwaldgs2",
  7 => "Manoir",
  8 => "Manoir",
  9 => "Manoir",
  11 => "Manoir"
  }

  Create_battlefloor = false

end

class Spriteset_Battle

  alias syn_create_battlefloor create_battlefloor


  def create_battleback

    image = SynBattleB::Battle_background[$game_map.map_id]

    @battleback_sprite = Sprite.new(@viewport1)

    @battleback_sprite.bitmap = Cache.picture(image)

  end

  def create_battlefloor

    @battlefloor_sprite = Sprite.new(@viewport1)

    syn_create_battlefloor if SynBattleB::Create_battlefloor == true

  end

end

et un autre, que j'ai retiré par la suite. Mais le jeu plante tjrs...
Est ce que qqn sait d'où ça peut venir ?

Merci d'avance


Dernière édition par Elphealer le Ven 11 Déc 2009 - 20:40, édité 1 fois
dricc
dricc
Membre

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

[Resolu] Bug avec le script Empty Re: [Resolu] Bug avec le script

le Jeu 10 Déc 2009 - 17:41
il arrive trés régulierement qu'un script en fasse planter un autre ....

Là , en l'occurence , je pense que le probleme est là :
@battleback_sprite.bitmap = Cache.picture(image)

juste avant cette ligne , ajoute :
print image
lance le jeu et regarde quelle est la valeur que le message te retourne (je parie que ce sera nil) .
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

[Resolu] Bug avec le script Empty Re: [Resolu] Bug avec le script

le Jeu 10 Déc 2009 - 18:03
C'est juste que tu n'as pas précisé l'id et le nom du battle background dans les réglages du script.

berka
Elphealer
Elphealer
Membre

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

[Resolu] Bug avec le script Empty Re: [Resolu] Bug avec le script

le Ven 11 Déc 2009 - 20:39
=/ j'avais pourtant fais attention, mais en ayant tout repris à zero ça marche.

Merci
tenta
tenta
Staffeux retraité

Nombre de messages : 334
Age : 32
Localisation : Canada (Québec)
Distinction : Anti-Boulets suprême!
Date d'inscription : 03/01/2008

[Resolu] Bug avec le script Empty Re: [Resolu] Bug avec le script

le Ven 19 Fév 2010 - 3:26
Desoler de poster ici vu la date du dernier post..

J'ai eu la meme erreur et j'ai trouver que le probleme d'erreur du scritp cache ligne 75 dans mon projet vien du script Main

Code:
#==============================================================================
# ** Main
#------------------------------------------------------------------------------
#  After defining each class, actual processing begins here.
#==============================================================================
Font.default_name = "Arcadepix"
Font.default_size = 12

unless Font.exist?("Arcadepix")
  print "Le fichier Font 'Arcadepix' n'a pas été trouvé"
  exit
end

begin
  Graphics.freeze
  $scene = Scene_Title.new
  $scene.main while $scene != nil
  Graphics.transition(30)
rescue Errno::ENOENT
  filename = $!.message.sub("No such file or directory - ", "")
  print("Le ficher #{filename} n'a pas été trouvé.")
end


J'aimerais avoir un peu d'aide s'il vous plait
Coco'
Coco'
Staffeux retraité

Nombre de messages : 6577
Age : 26
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

[Resolu] Bug avec le script Magikarpe Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
https://www.rpgmakervx-fr.com

[Resolu] Bug avec le script Empty Re: [Resolu] Bug avec le script

le Ven 19 Fév 2010 - 12:02
... TENTA?! O.O
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[Resolu] Bug avec le script Empty Re: [Resolu] Bug avec le script

le Ven 19 Fév 2010 - 12:10
Ton script Main n'est pourtant pas buggué, Tenta.
(C'est cool de te revoir de temps en temps, ça fait plaisir ;D)

Je crois que Berka a solutionné le problème, non? :/
Sinon, je vois pas qu'est-ce qui peut faire planter... Ca vient d'un appel d'image raté, c'est sur...
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum