Partagez
Aller en bas
avatar
Invité
Invité

(résolu)Erreur/ cache/ background

le Dim 12 Avr 2009 - 15:11
salut à tous ! Voilà en fait je suis en train de faire un rpg donc, j'ai installé 4 script plutôt basique : - Title (script pour changer d'ecran titre trouvé sur Rpg maker creative)
- Fight Report ( rapport de combat style final fantasy)
- Faceset Battle (pour avoir des Faceset pendant les combats)
- Battle Background (trouvé sur oniromancie, pour avoir des background en combat)

Donc là je teste mon jeu qui n'est pas trop avancé, et j'essai de voir si mon deuxieme combat fonctionne.
Le premier se passe dans une maison, le combat se deroule trés bien donc avec un background de maison, mais le deuxieme combat qui se deroule sur un pont en bois ne fonctionne pas et une erreur apparaît lorsque le combat se lance :

Script 'Cache' line 75 : TypeError occurred
cannot convert nil into String

Alors si quelqu'un pourrait m'eclairer parce que lors de ce combat quel que soit l'ennemi que je mette ça me fait cette erreur. merci d'avance à tous Smile !!


Voilà le script de battle background

Code:
module SynBattleB
  # Place your battle backgrounds in the 'Pictures' folder (Graphics/Pictures)
  # Format = {map_id => Battleback Name}
  Battle_background =
  {
1 => "018-MineTown02",
2 => "001-Grassland01"
  }
  #-----------------------------------------------------------------------------
  # Create the battlefloor?
  Create_battlefloor = false
  #-----------------------------------------------------------------------------
  # This was being requested on quite a fe forums now, so I threw a quick script
  # together. It is nice and simple, and does what it is suppsoed to do. Once
  # RMVX is released in English, then I will add additional features into this.
  #-----------------------------------------------------------------------------
end
#-------------------------------------------------------------------------------
# Spriteset_Battle
#-------------------------------------------------------------------------------
class Spriteset_Battle
  alias syn_create_battlefloor create_battlefloor
  #-----------------------------------------------------------------------------
  # Create Battleback
  #-----------------------------------------------------------------------------
  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 voilà le script Cache :

Code:
#==============================================================================
# ** Cache
#------------------------------------------------------------------------------
#  This module loads each of graphics, creates a Bitmap object, and retains it.
# To speed up load times and conserve memory, this module holds the created
# Bitmap object in the internal hash, allowing the program to return
# preexisting objects when the same bitmap is requested again.
#==============================================================================

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


Dernière édition par WSAddict le Ven 17 Avr 2009 - 12:49, édité 1 fois
avatar
Invité
Invité

Re: (résolu)Erreur/ cache/ background

le Lun 13 Avr 2009 - 18:41
Laughing s'il vous plaît j'ai besoin d'aide mon projet est inutilisable pour l'instant avec ça... merci d'avance Smile
avatar
wilkyo
Membre

Nombre de messages : 316
Age : 27
Localisation : Loiret
Distinction : Sauveur de miches // Chou (l)

[Coco' Smile]

Adepte de Pedobear // Lécheur de lolis

[Mist' Wink]

Personnage Colorée // Instructeur de boulet

[Wax Rolling Eyes]
Date d'inscription : 01/09/2008
http://www.wilkyo.com

Re: (résolu)Erreur/ cache/ background

le Lun 13 Avr 2009 - 22:02
Es tu sûr d'avoir bien mis le nom du background de ton pont ?
C'est peut être de là que vient le problème...

Et sinon, que ce passe t'il au niveau des events et des scripts entre la maison et le pont ?
avatar
Invité
Invité

Re: (résolu)Erreur/ cache/ background

le Lun 13 Avr 2009 - 23:25
Hm non je pense pas que le problème vienne de là... sinon le message d'erreur ne serait pas celui là...
Ouhla il se passe plein de truc en fait bien que yai que 5 min de jeu mon projet ^^. Ben entre la maison et le pont il ya une autre carte ou il n'y a quasiment aucun event et bien sur aucun ennemi donc aucun combat et aucun script special.... euh merci de m'aider en tout cas. Je peux te passer mon projet pour que tu teste et que tu vois par toi même où est l'erreur (il est pa long hein comme j'ai dit precedemment^Smile). Comment on fait pour mettre le projet en ligne ?
avatar
wilkyo
Membre

Nombre de messages : 316
Age : 27
Localisation : Loiret
Distinction : Sauveur de miches // Chou (l)

[Coco' Smile]

Adepte de Pedobear // Lécheur de lolis

[Mist' Wink]

Personnage Colorée // Instructeur de boulet

[Wax Rolling Eyes]
Date d'inscription : 01/09/2008
http://www.wilkyo.com

Re: (résolu)Erreur/ cache/ background

le Lun 13 Avr 2009 - 23:30
Tu ouvre ton projet, tu clique sur fichier, compresser (ou compiler) le projet.
Ensuite, tu va sur un hébergeur tel que Megaupload ou mediafire ou rapidshare.
Tu upload ton fichier puis tu me donne le lien pour que je puisse le télécharger.

Je me ferais un plaisir de t'aider.
avatar
Invité
Invité

Re: (résolu)Erreur/ cache/ background

le Lun 13 Avr 2009 - 23:38
Hm j'ai compressé le dossier dans lequel mon projet est compris, je vais sur megaupload et donc là je suis en train de le charger, il arrivera dans je sais pas combien de temps par contre :s MERCI
avatar
Invité
Invité

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 0:31
Hm je l'ai uploader mais je sais pas comment on vois ou est l'adresse ! ^^
avatar
MayDios
Membre

Nombre de messages : 92
Localisation : Là, sous tes yeux.
Distinction : aucune
Date d'inscription : 21/12/2008

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 10:07
Hum... Me semble qu'avec MegaDaubePload, le lien de téléchargement se trouve en haut d'la page, tu l'copies, et tu l'colles ici.

Ah, et t'es sur que...
- Tes BattleBack sont dans le dossier " Pictures " ?
- Tes BattleBacks ont un nom identique à celui inscrit dans le script ?
- Tes BattleBacks sont bien assignés à la bonne ID de map ?
Mist' : Je suis de cet avis, il a peut-être oublié de remplir le Hash avec les bons noms, ça irait avec le message d'erreur...
avatar
Invité
Invité

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 12:26
Hm voilà l'adresse mais je ne suis pas sûr que ça marche... Smile


http://www.megaupload.com/?d=8YROX4DY


Mais le problème n'a pas de rapport avec les battlebacks, parce que j'ai test une fois avec un mauvais background dans le script et là un message d'erreur approprié apparaît !
avatar
Mist'
Staffeux retraité

Nombre de messages : 3313
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 12:46
Bon, j'ai pas DL la démo', mais j'ai fait une retouche du script en aveugle, étant donné que j'ai pas VX pour tester.
J'ai fait deux-trois petites éditions, j'ai remplacé le Hash par des Tableaux, en espèrant que ça marche...

Voilà le code :

Code:
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# <> Module SynBattleB
# Modif' par Mist'
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
module SynBattleB
  # Mettez vos fonds de combat dans le dossier "Pictures" de votre projet (Graphics/Pictures)
  #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  # *** Edition : Remplacement du Hash par des Arrays ***
  # Format = Fond_Combat[map_id] = "Nom du Battleback"
  Fond_Combat[0] = "018-MineTown02"
  Fond_Combat[1] = "001-Grassland01"
  #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  # Créer le Battlefloor (surface de combat)?
  Create_battlefloor = true
end
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# <> Spriteset_Battle
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
class Spriteset_Battle
  #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  # *** Edition : Inclure le module dans la classe pour éviter les appels longs ***
  include SynBattleB
  #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  alias syn_create_battlefloor create_battlefloor
  #-----------------------------------------------------------------------------
  # * Créer le fond de combat
  #-----------------------------------------------------------------------------
  def create_battleback
    image = Fond_Combat[$game_map.map_id]
    @battleback_sprite = Sprite.new(@viewport1)
    @battleback_sprite.bitmap = Cache.picture(image)
  end
  #-----------------------------------------------------------------------------
  # * Créer la surface de combat
  #-----------------------------------------------------------------------------
  def create_battlefloor
    @battlefloor_sprite = Sprite.new(@viewport1)
    syn_create_battlefloor if Create_battlefloor == true
  end
end


Dernière édition par Mister M. le Mar 14 Avr 2009 - 13:05, édité 1 fois

_________________
avatar
Invité
Invité

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 12:54
Merci Mister M mais ça marche encore moins ^^ ds que je teste le projet, ya le message d'erreur :

script 'battle_background' line 10 : Name Error Occured uninitialized constant SynBattle :: Fond Combat

il vaut mieux poas que tu telecharge la demo pour voir vraiment ? Merci be&ucoup quand même en tout cas Smile
avatar
Mist'
Staffeux retraité

Nombre de messages : 3313
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 13:04
Ah, j'édites, j'ai oublié un appel de constante ^^"

EDIT : Essaie, là, pour voir x)

_________________
avatar
Invité
Invité

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 13:45
Hm ça marche toujours pas ya la même erreur ^^ ! Pourtant je viens de recopier le script de ton message 9 a la place du mien battle_background ... c'est bie ça qu'il fallait faire ? Smile
avatar
Mist'
Staffeux retraité

Nombre de messages : 3313
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 15:04
Quelle est l'id de ta map? Essaie sur la map 1 (ID::001) de ton projet, peut-être que ça vient de là...

_________________
avatar
Invité
Invité

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 15:48
Hum... c'est-à-dire ? Je comprend pas ce que tu veux dire, tu veux dire que je mette l'evenemen ennemi 2 dans ma 1ere MAP ? Ou que je change l'ID dans le script ? Pour ce qui est du script j'y connais rien DU TOUT en Ruby donc bon :s ^^ ! T'as telechargé la demo pour tester le problème ?
avatar
Mist'
Staffeux retraité

Nombre de messages : 3313
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 16:25
Il faut que les actions se déroulent sur la map ayant l'ID 1 Wink
Donc, ton combat si je ne m'abuse :P

En fait, c'est pour voir si le bug est lié à l'ID de ta map à laquelle tu n'as pas attribué de Battleback Wink

_________________
avatar
wilkyo
Membre

Nombre de messages : 316
Age : 27
Localisation : Loiret
Distinction : Sauveur de miches // Chou (l)

[Coco' Smile]

Adepte de Pedobear // Lécheur de lolis

[Mist' Wink]

Personnage Colorée // Instructeur de boulet

[Wax Rolling Eyes]
Date d'inscription : 01/09/2008
http://www.wilkyo.com

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 16:49
Euh, chez moi ça marche.
Après une petite modification de ta démo.

Dans le script cache, l'erreur renvoie à:
Code:
path = folder_name + filename

Au début du script il y a:

Code:
 Battle_background =
  {
1 => "018-MineTown02",
2 => "001-Grassland01"
  }

Tu n'aurais pas oublié de nous dire que la map du pont est la numéro 3 ?
Or, tu n'a pas désignée d'image pour la map 3.

Met ça
Code:
Battle_background =
  {
1 => "018-MineTown02",
2 => "001-Grassland01",
3 => "011-PortTown01"
  }


C'était tout con en fait...
Et nous qui croyions que c'était un truc bien plus compliqué.

A chaque fois que tu fais une map où il y aura des combats, il faut que tu ajoute la séquence de script:
Code:
X => "Nom de l'image de la map X"
Tu met une virgule après chaque séquence, sauf la dernière.

Voila,
De rien, c'est mon travail.
Bonne continuation.

Spoiler:
PS: Je me permet de juger le mapping.
C'est un peu vide la maison... Tu devrais la rétrécir et ajouter (bien qu'il y en ai un petit peu) quelques détails.
Et sinon, j'espère que tu as remarqué que les facesets de ton héros ne lui correspondent pas ?
Le héros et son faceset n'ont pas la même couleur de cheveux.
Et puis c'est tout ^^
Je ne veux pas t'embêter plus longtemps.
Mais sinon l'histoire a l'air intéressante.
Ne fait pas des temps d'attente trop longs... C'est chiant... (exemple sur le pont...)
avatar
Invité
Invité

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 17:17
Ah Ok merci beaucoup Smile !! Au passage Wilyo, j'ai un autre petit bug sur ce pont, tu vois quand le capitaine frappe le heros il recule de quatre cases (au de part je l'avais fait sauter en arriere de quatre cases).
Donc je voulai que le capitaine marche ers lui lentement, et quand il atteint le heros le combat debute.
Mais c'est impossible le capitaine n'avance pas ... pourquoi à ton avis ?
Et au fait t'aurais pas un background de pont en bois ? mErci encore Smile
avatar
wilkyo
Membre

Nombre de messages : 316
Age : 27
Localisation : Loiret
Distinction : Sauveur de miches // Chou (l)

[Coco' Smile]

Adepte de Pedobear // Lécheur de lolis

[Mist' Wink]

Personnage Colorée // Instructeur de boulet

[Wax Rolling Eyes]
Date d'inscription : 01/09/2008
http://www.wilkyo.com

Re: (résolu)Erreur/ cache/ background

le Mar 14 Avr 2009 - 18:36
Si il n'avance pas, c'est probablement à cause de l'event sur lequel marche le héros pour que la scène se lance.
Tu dois mettre cette event en "traversable" ou "traverse tout".
Sinon, aucun event ne pourra le traverser.
avatar
Invité
Invité

Re: (résolu)Erreur/ cache/ background

le Jeu 16 Avr 2009 - 14:22
Ah d'accord merci beaucoup wilkyo ! Et Smile tant que t'y est si tu n'as pas supprimé mon projet, tu as du remarquer que j'ai un script pour l'ecran titre ( j'ai telechargé ce scrip sur RPG maker creative) ! J'aimerai modifier le titre par defaut "The Tales Of RPG MAKER episode 1"
par "A Thief In Trouble". Donc je suis allé dans le dossier Title du projet et j'ai ouvert le fichier title(image portable network graphic) avec photoshop, j'ai effacé le titre, et je l'ai remplacé par le mien. Mais lorsque je ferme photoshop, le fichier title reste le même et un autre fichier apparait : l'image photoshop que j'ai modifié.
Or le jeu ne detecte pas les images photoshop comme des images, et je ne peux pas les convertir car le convertisseur (format factory) ne le detecte pas non plus comme une image.

T'aurais une solution ? Ou il faudrait que j'utilise un autre logiciel de retouche d'image ( a part paint car c'est nul ^^) ? Si oui lequel ? Merci d'avance en tout cas ! Smile
Contenu sponsorisé

Re: (résolu)Erreur/ cache/ background

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