AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



-17%
Le deal à ne pas rater :
(Black Friday) Apple watch Apple SE GPS + Cellular 44mm (plusieurs ...
249 € 299 €
Voir le deal

Partagez
 

 Problème de script : compatibilité ? [Resolu]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Angellan
Admindictatrice
Admindictatrice
Angellan


Féminin Age : 34
Inscrit le : 27/02/2009
Messages : 2855

Problème de script : compatibilité ? [Resolu] Empty
MessageSujet: Problème de script : compatibilité ? [Resolu]   Problème de script : compatibilité ? [Resolu] Icon_minitimeMer 3 Fév 2010 - 7:31

J'ai commencé à toucher aux scripts il n'y a pas si longtemps, et bien sur avec les scripts, les problèmes arrivent.
Si quelqu'un arrivait à m'aider je lui en serait très reconnaissante...


Voila, j'ai un projet spécial, ou je teste tout les scripts, notamment pour les problèmes de compatibilité (j'ai pas envie que ça foire mon jeu à cause d'un script mal utilisé). Le dernier en date est celui pour changer le battle back, associé au menu ring tournant en cobat.

A priori, sur le projet test, aucun problème.
Je passe donc sur mon projet Utopie, et là, c'est le drame. Au moment du test de combat, un message d'erreur s'affiche :

Citation :
Script 'cache' line 75: TypeError occurred.
cannot convert nil into string

Ligne du script en question :
Code:
70#--------------------------------------------------------------------------
71  # * Load Bitmap
72#--------------------------------------------------------------------------
73  def self.load_bitmap(folder_name, filename, hue = 0)
74    @cache = {} if @cache == nil
75    path = folder_name + filename
76    if not @cache.include?(path) or @cache[path].disposed?
77      if filename.empty?
78        @cache[path] = Bitmap.new(32, 32)
79      else
80        @cache[path] = Bitmap.new(path)

Problème : il ne me semble pas avoir touché au script "cache" (ce n'est pas mon genre), de plus les deux script cache sont identiques sur mes deux projets. De même que le nombre et le contenu de chaque script.


Si j'enlève le script "battleback" (pour changer le fond de combat donc), sur Utopie, il n'y a aucun problème.

Alors, est-ce un souci de compatibilité. J'avoue ne pas bien comprendre pourquoi ça marche sur mon projet test et pas sur Utopie ?


Merci à celui ou celle qui aura la bonté de m'aider.


Dernière édition par Angellan le Mer 3 Fév 2010 - 14:26, édité 1 fois
Revenir en haut Aller en bas
http://bonheur-du-yaoi.forumsactifs.com
Matsuo Kaito
+ Heir Øf Ŧime +
+ Heir Øf Ŧime +
Matsuo Kaito


Masculin Age : 33
Inscrit le : 27/06/2008
Messages : 10881

Problème de script : compatibilité ? [Resolu] Empty
MessageSujet: Re: Problème de script : compatibilité ? [Resolu]   Problème de script : compatibilité ? [Resolu] Icon_minitimeMer 3 Fév 2010 - 7:38

Mdr Angellan' x)
La réponse au niveau script à laquelle j'ai le plus répondu de ma viiiie x)

Bon écoute, soit je suis un idiot et ton problème vient d'une incompatibilité et a exactement le même message d'erreur que ce à quoi je pense, soit tu as oublié d'associer un battleback à la map que tu testes, c'too. Je suppose que tu as du tester en enlever chaque script et voir que le problème venait du script de btb, et bah voilà. Maintenant, associe un btb à ta map.

Le message d'erreur cache n'a aucun rapport, merci le ruby.
Revenir en haut Aller en bas
Angellan
Admindictatrice
Admindictatrice
Angellan


Féminin Age : 34
Inscrit le : 27/02/2009
Messages : 2855

Problème de script : compatibilité ? [Resolu] Empty
MessageSujet: Re: Problème de script : compatibilité ? [Resolu]   Problème de script : compatibilité ? [Resolu] Icon_minitimeMer 3 Fév 2010 - 14:25

Oh... Et bah oui le combat est pas dans la map 1...

*va se pendre*

Bon du coup je suis rassurée, je peux garder tous mes scripts.

Note : ne plus chercher à comprendre les scripts tard le soir... 5oui j'ai laissé le message ce matin, mais ai eu le blem hier soir u_u")

Merci mon petit mari chéri \o/
Revenir en haut Aller en bas
http://bonheur-du-yaoi.forumsactifs.com
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 32
Inscrit le : 29/07/2009
Messages : 7841

Problème de script : compatibilité ? [Resolu] Empty
MessageSujet: Re: Problème de script : compatibilité ? [Resolu]   Problème de script : compatibilité ? [Resolu] Icon_minitimeMer 3 Fév 2010 - 19:20

Tiens utilise ce script là.
Il permet de configurer un battleback par défaut ( si battleback pas configuré = défaut ) et si l'image n'existe pas c'est remplacé pour un battleback d'erreur. Au revoir les messages d'erreur !

Code:
#==============================================================================
# ¦ BattleBacks
#==============================================================================

#scripts de ASHKA, de Claimh, et de MogHunter fusionnés et modifiés par Skillo

#==============================================================================
# ¦ Module BattleBack
#==============================================================================
module BattleBack
 
  #  Sélection du type de battle Back
  #  0:Map actuelle avec effets (Par défaut dans VX)
  #  1:Map actuelle
  #  2:Utilisation d'une image comme battle Back
  BB_TYPE = 2
 
  # Affichage du Battle Floor
  BT_FLOOR = true
 
  #Coordonnées du Battle Floor si BT_FLOOR = true
  FLOOR = [0,142, 128]
 
  #Nom du Battle Floor que vous voulez utiliser. Il doit se trouver dans le dossier system de votre jeu.
  BT_FLOOR_NAME = "BattleFloor"
 
  # Affichage du Battleback pour les tests
  BT_BACK_TEST = "name"
 
  # Permet d'afficher une map en cas d'oublie de définition de la map (ça evite que votre jeu crash
  #si vous avez oublié de mettre un battle back pour une map et que vous avez engager un combat
  #ça affichera un battle back par defaut
  BT_BACK_BUG = "error"

  #Toutes ces fonctions peuvent être changer via un appel de cript dans un event
  #Exemple: pour Désactiver/Activer le Battle Floor, creez un event qui appelle un script dans
  #lequel vous mettez ceci:
  #BattleBack::BT_FLOOR = false ou BattleBack::BT_FLOOR = true
  #Pareil pour les autres fonctions.
 
end

#==============================================================================
# ¦ Module Cache
#==============================================================================
module Cache
  def self.battleback(filename)
    load_bitmap("Graphics/Battlebacks/", filename)
  end
end

#==============================================================================
# ¦ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  WIDTH  = 544.00
  HEIGHT = 416.00
  #--------------------------------------------------------------------------
  # ? Création du sprite du battle Back
  #--------------------------------------------------------------------------
  def create_battleback
    case BattleBack::BB_TYPE
    when 0
      source = $game_temp.background_bitmap
      bitmap = Bitmap.new(640, 480)
      bitmap.stretch_blt(bitmap.rect, source, source.rect)
      bitmap.radial_blur(90, 12)
      @battleback_sprite = Sprite.new(@viewport1)
      @battleback_sprite.bitmap = bitmap
      @battleback_sprite.ox = 320
      @battleback_sprite.oy = 240
      @battleback_sprite.x = 272
      @battleback_sprite.y = 176
      @battleback_sprite.wave_amp = 8
      @battleback_sprite.wave_length = 240
      @battleback_sprite.wave_speed = 120
    when 1
      source = $game_temp.background_bitmap
      bitmap = Bitmap.new(640, 480)
      bitmap.stretch_blt(bitmap.rect, source, source.rect)
      @battleback_sprite = Sprite.new(@viewport1)
      @battleback_sprite.bitmap = bitmap
      @battleback_sprite.ox = 320
      @battleback_sprite.oy = 240
      @battleback_sprite.x = 272
      @battleback_sprite.y = 176
    when 2
      if $BTEST
        battleback(@viewport1)
      else
        battleback(@viewport1, $battleback_name)
      end
    end
  end
 
  #--------------------------------------------------------------------------
  # ? Création du sprite du Battle Floor
  #--------------------------------------------------------------------------

  def create_battlefloor
    if BattleBack::BT_FLOOR
    @battlefloor_sprite = Sprite.new(@viewport1)
    @battlefloor_sprite.bitmap = Cache.system(BattleBack::BT_FLOOR_NAME)
    @battlefloor_sprite.x = BattleBack::FLOOR[0]
    @battlefloor_sprite.y = BattleBack::FLOOR[1]
    @battlefloor_sprite.opacity = BattleBack::FLOOR[2]
    @battlefloor_sprite.z = 1
    end
  end
  #--------------------------------------------------------------------------
  # ? Suppression du sprite du Battle Floor
  #--------------------------------------------------------------------------
  alias dispose_battlefloor_mbb dispose_battlefloor
  def dispose_battlefloor
    dispose_battlefloor_mbb if BattleBack::BT_FLOOR
  end
  #--------------------------------------------------------------------------
  # ? Mise à jour du sprite du Battle Floor
  #--------------------------------------------------------------------------
  alias update_battlefloor_mbb update_battlefloor
  def update_battlefloor
    update_battlefloor_mbb if BattleBack::BT_FLOOR
  end
  #--------------------------------------------------------------------------
  # Creation de l'image du Battleback
  #--------------------------------------------------------------------------
  def battleback(viewport, battleback_name = BattleBack::BT_BACK_TEST)
    @battleback_name = battleback_name
    @battleback_sprite = Sprite.new(viewport)
    @battleback_sprite.bitmap = Cache.battleback(@battleback_name)
    # Zoom est effectuée selon la taille de l'image.
    @x_zoom = WIDTH / @battleback_sprite.bitmap.width
    @y_zoom = HEIGHT / @battleback_sprite.bitmap.height
    @zoom = @x_zoom > @y_zoom ? @x_zoom : @y_zoom
    # Zoom effectué.
    @battleback_sprite.zoom_x = @zoom
    @battleback_sprite.zoom_y = @zoom
    # Fabrication de l'affichage centrale.
    @battleback_sprite.ox = @battleback_sprite.bitmap.width / 2
    @battleback_sprite.oy = @battleback_sprite.bitmap.height / 2
    @battleback_sprite.x = (@battleback_sprite.bitmap.width / 2)  * @zoom
    @battleback_sprite.y = (@battleback_sprite.bitmap.height / 2) * @zoom
  end
end


# --------------------------------------------------------------------------
# La partie ci-dessous associe une map à un battleback.
# Les premieres lignes sont des tableaux stockant des ID des maps.
# Les conditions en dessous associent un tableau ( par le biais des ID des maps qu'il contient ) à un battleback.
# Rajouter les ID des maps dans le tableau de votre choix !!
# Et supprimez le # devant les lignes dont le tableau est utilisé.
# Tout vos battlebacks doivent etre importés dans un dossier "Battlebacks" du gestionnaire.
# Il suffit ensuite de remplacer "name" par le nom d'un de vos battlebacks ( entre " " ).
# Si vous utilisez plus que neuf battleback ( evidement ), il suffit de créer un nouveau tableau à la suite des autres.
# L'endroit est indiqué.

#    back_10 = [ID, ID, ID, ID, ID]

# Et d'inserer une nouvelle condition juste au dessus du " end " ( le dernier de cette partie ).
# L'endroit est indiqué.

#    elsif back_10.include?($game_map.map_id)
#    $battleback_name = "name"

# --------------------------------------------------------------------------
class Scene_Map < Scene_Base
 
  alias map_update update
  def update
    super
    back_1 =  [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 1
 #back_2 =  [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 2
 #back_3 =  [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 3
 #back_4 =  [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 4
 #back_5 =  [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 5
 #back_6 =  [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 6
 #back_7 =  [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 7
 #back_8 =  [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 8
 #back_9 =  [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 9

# Ajouter ci-dessus les tableaux de vos autres battlebacks
    if back_1.include?($game_map.map_id)
      $battleback_name = "name" # Nom du battleback 1 lié au tableau back_1
#    elsif back_2.include?($game_map.map_id)
#      $battleback_name = "name" # Nom du battleback 2 lié au tableau back_2
#    elsif back_3.include?($game_map.map_id)
#      $battleback_name = "name" # Nom du battleback 3 lié au tableau back_3
#    elsif back_4.include?($game_map.map_id)
#      $battleback_name = "name" # Nom du battleback 4 lié au tableau back_4
#    elsif back_5.include?($game_map.map_id)
#      $battleback_name = "name" # Nom du battleback 5 lié au tableau back_5
#    elsif back_6.include?($game_map.map_id)
#      $battleback_name = "name" # Nom du battleback 6 lié au tableau back_6
#    elsif back_7.include?($game_map.map_id)
#      $battleback_name = "name" # Nom du battleback 7 lié au tableau back_7
#    elsif back_8.include?($game_map.map_id)
#      $battleback_name = "name" # Nom du battleback 8 lié au tableau back_8
#    elsif back_9.include?($game_map.map_id)
#      $battleback_name = "name" # Nom du battleback 9 lié au tableau back_9

# Ajouter ci-dessus les conditions pour vos autres battleback
    else
    $battleback_name = BattleBack::BT_BACK_BUG
    end
    # si le joueur est dans une area incluant [A], le battleback est different
    for area in $data_areas.values
      if $game_player.in_area?(area) and area.name.include?("[A]")
        choose_bback(area)
      end
    end
  map_update
end

# --------------------------------------------------------------------------
# Choix du battleback des areas
# La partie ci-dessous attribue un battleback selon la zone où le héros est.
# Sur une map, vous avez le back principal, celui lié au tableau où est l'ID de la map ( l'etape 2 ci-dessus ).
# Vous pouvez aussi avoir des zones aves des backs differents.
# Il suffit de créer une area ( avec ou sans ennemi supplementaire, à vous de voir !! ).
# Si vous voulez que l'area dispose d'un back different de celui du reste de la map, il faut inclure ces trois caracteres dans le nom de l'area : [A]
# Il suffit ensuite de preciser quels back en rajoutant un [1], [2] ou [3], ...
# Configurer la methode ci dessous pour savoir à quoi correspond chacun d'eux.

# Vous avez donc un battleback pour chaque maps et la possibilité d'avoir plusieurs battlebacks par map grace aux areas !!
# L'area appellé "[A][5]je_sais_pas_quoi " aura donc un battleback different que celui de la map, celui correspondant au [5].
# L'area " je_sais_pas_quoi " utilise le même battleback que la map.
# -------------------------------------------------------------------------
  def choose_bback(area)
    if area.name.include?("[1]") # Area incluant [1]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[2]") # Area incluant [2]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[3]") # Area incluant [3]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[4]") # Area incluant [4]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[5]") # Area incluant [5]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[6]") # Area incluant [6]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[7]") # Area incluant [7]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[8]") # Area incluant [8]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[9]") # Area incluant [9]
      $battleback_name = "name" # Nom du battleback voulu
    end
  end
end # class
Revenir en haut Aller en bas
Angellan
Admindictatrice
Admindictatrice
Angellan


Féminin Age : 34
Inscrit le : 27/02/2009
Messages : 2855

Problème de script : compatibilité ? [Resolu] Empty
MessageSujet: Re: Problème de script : compatibilité ? [Resolu]   Problème de script : compatibilité ? [Resolu] Icon_minitimeMer 3 Fév 2010 - 22:34

Merci beaucoup Zang \o/
Revenir en haut Aller en bas
http://bonheur-du-yaoi.forumsactifs.com
Contenu sponsorisé




Problème de script : compatibilité ? [Resolu] Empty
MessageSujet: Re: Problème de script : compatibilité ? [Resolu]   Problème de script : compatibilité ? [Resolu] Icon_minitime

Revenir en haut Aller en bas
 

Problème de script : compatibilité ? [Resolu]

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» [Résolu][Script] Problème de compatibilité
» [RESOLU]Problème de compatibilité de script
» Problème : script SBS 3.3a [RESOLU]
» [Résolu] Compatibilité entre le Jet's Time Système et le Yanfly Engine Zealous (script)
» [Script] Recherche d'un problème face à la modification d'un script [Résolu]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Résolu-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit