Partagez
Aller en bas
avatar
Deck'
Membre

Nombre de messages : 52
Distinction : aucune
Date d'inscription : 29/05/2010

Problème script brouillard[résolu]

le Mer 26 Jan 2011 - 19:19
Bonjour
Je vais tenter d'exposer mon pb de facon claire :p

D'abord voici le script :

Spoiler:
Code:
#==============================================================================
# ** Brouillard d'RMXP  pou RMVX
#------------------------------------------------------------------------------
# Ce script crée un effet de brouillard comme dans RPG maker XP. Utiliser les brouillard proposés dans 
# RPG Maker XP.
# 08-03-2008 (dd-mm-aaaa) ©️ Hevendor de rmxp.org
# 09-03-2008 Edits/additions by Jirbytaylor
# 09-03-2008 (dd-mm-aaaa) Edité par Hevendor
# 31/07/2008 (dd-mm-aaaa) Traduit par Blockade
# Version 1.2.3
#==============================================================================

module Fog_Map_Settings
  #============================================================================
  # * Comfigure le lien vers le(s) fichier(s) de brouillard.  Format:
  # {numéro_du_brouillard => 'nom_du_fichier.extension', ...}
  # Ou nom_du_fichier.extension doit être un fichier de brouillard et son extention
  # DANS le dossier pictures du jeu.
  #============================================================================
  Fog_names = {1 => '001-Fog01.png',
                              2 => '001-Fog01.png',
                              3 => '001-Fog01.png',
                              4 => 'Nuage_1.png',
                              5 => 'Auberge_Abri.png',
                              6 => 'Interieur_Poissonerie.png',
                              7 => 'Port de Faaone.png',
                              8 => 'Interieur_Bibliotheque',
                              9 => 'Interieur_Forge',
                              10 => 'Interieur_Auberge',
                              11 => 'Interieur_Chambre',
                              12 => 'Interieur_Magasin',
                              13 => 'Interieur_Apothicairerie'}
  #============================================================================
  # * Les maps ou vous voulez afficher le brouillard. Format:
  # Fog_maps = {mapID => numéro_du_brouillard , mapID2 => numéro_du_brouillard, ...}
  #============================================================================
  Fog_maps = {6 => 4,
                      21 => 4,
                      22 => 4,
                      27 => 4,
                      36 => 4,
                      18 => 4,
                      19 => 4,
                      29 => 5,
                      37 => 6,
                      20 => 7,
                      38 => 8,
                      39 => 9,
                      40 => 10,
                      41 => 11,
                      42 => 12,
                      11 => 13
                     
                           
                            }
  #============================================================================
  # * Options d'affichage du brouillard. Utiliser (numéro_du_brouillard => paramètre , ...) format
  # - Opacity - Opacitée du brouillard, comprise entre 0 (invisible) et 255 (opaque)
  # - Zoom - Taille du brouillard '1' est normal, pas '100'
  # - Blend - Si  : 0 - Normal
  #                        1 - Clair
  #                        2 - Sombre
  # - SxSy - Paramètre des défilements  (numéro_du_brouillard => [sx,sy], ...)
  #============================================================================
  Fog_opacity = {1 => 100,
                              2 => 100,
                              3 => 100,
                              4 => 70,
                              5 => 255,
                              6 => 255,
                              7 => 255,
                              8 => 255,
                              9 => 255,
                              10 => 255,
                              11 => 255,
                              12 => 255,
                              13 => 255}
  Fog_zoom = {1 => 3,
                          2 => 3,
                          3 => 3,
                          4 => 3,
                          5 => 1,
                          6 => 1,
                          7 => 1,
                          8 => 1,
                          9 => 1,
                          10 => 1,
                          11 => 1,
                          12 => 1,
                          13 => 1}
  Fog_blend = {1 => 2,
                          2  => 2,
                          3 => 0,
                          4 => 0,
                          5 => 0,
                          6 => 0,
                          7 => 0,
                          8 => 0,
                          9 => 0,
                          10 => 0,
                          11 => 0,
                          12 => 0,
                          13 => 0}
  Fog_sxsy = {1 => [0, 0],
                        2 => [6, 6],
                        3 => [4,4],
                        4 => [1, 1],
                        5 => [0, 0],
                        6 => [0, 0],
                        7 => [0, 0],
                        8 => [0, 0],
                        9 => [0, 0],
                        10 => [0, 0],
                        11 => [0, 0],
                        12 => [0, 0],
                        13 => [0, 0]}
end

class Game_Map
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :map_id                    # map ID
  attr_reader :fog_ox                    # fog oX
  attr_reader :fog_oy                    # fog oY
  #--------------------------------------------------------------------------
  # * Alias Definitions
  #--------------------------------------------------------------------------
  alias hev_fog_feature_map_update update
  alias hev_fog_feature_map_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @fog_ox = 0
    @fog_oy = 0
    hev_fog_feature_map_initialize
  end
  #--------------------------------------------------------------------------
  # * Update Fog
  #-------------------------------------------------------------------------- 
  def update_fog
    if Fog_Map_Settings::Fog_maps.include?($game_map.map_id)
      @fog_ox -= Fog_Map_Settings::Fog_sxsy[Fog_Map_Settings::Fog_maps[@map_id]][0] / 8.0
      @fog_oy -= Fog_Map_Settings::Fog_sxsy[Fog_Map_Settings::Fog_maps[@map_id]][1] / 8.0
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    hev_fog_feature_map_update
    update_fog
  end
end

class Spriteset_Map
  #--------------------------------------------------------------------------
  # * Alias Definitions
  #--------------------------------------------------------------------------
  alias hev_fog_feature_initialize initialize
  alias hev_fog_feature_create_viewports create_viewports
  alias hev_fog_feature_dispose dispose
  alias hev_fog_feature_update_viewports update_viewports
  alias hev_fog_feature_update update
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    hev_fog_feature_initialize
    create_fog
  end
  #--------------------------------------------------------------------------
  # * Create Viewport
  #--------------------------------------------------------------------------
  def create_viewports
    @viewport4 = Viewport.new(0, 0, 544, 416)
    @viewport4.z = 9
    hev_fog_feature_create_viewports
  end
  #--------------------------------------------------------------------------
  # * Create Fog
  #--------------------------------------------------------------------------
  def create_fog
    @fog = Plane.new(@viewport4)
    if Fog_Map_Settings::Fog_maps.include?($game_map.map_id)
      fog_number = Fog_Map_Settings::Fog_maps[$game_map.map_id]
      update_fog
      @fog.bitmap = Cache.picture(Fog_Map_Settings::Fog_names[fog_number])
      @fog.opacity = Fog_Map_Settings::Fog_opacity[fog_number]
      @fog.zoom_x = @fog.zoom_y = Fog_Map_Settings::Fog_zoom[fog_number]
      @fog.blend_type = Fog_Map_Settings::Fog_blend[fog_number]
    end     
  end
  #--------------------------------------------------------------------------
  # * Update Fog Sprite
  #--------------------------------------------------------------------------
  def update_fog
    if @fog != nil
      @fog.ox = $game_map.display_x / 8 + $game_map.fog_ox
      @fog.oy = $game_map.display_y / 8 + $game_map.fog_oy
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    hev_fog_feature_update
    update_fog
  end
  #--------------------------------------------------------------------------
  # * Dispose of Fog Sprite
  #--------------------------------------------------------------------------
  def dispose_fog
    @fog.dispose
  end
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  def dispose
    dispose_fog
    hev_fog_feature_dispose
  end
end


Donc lorsque je rentre dans une map (en faisant charger une partie) qui possède un brouillard, le brouillard est mal positionné (il ne se place plus en Haut a gauche)
alors que lorsque que je rentre dans cette meme map avec une nouvelle partie, le brouillard est bien positionné (En haut a gauche).
Je me demande si ce n'est pas à cause d'un interrupteur (j'ai regardé le script et je ne pense pas^^) ou à une autre chose faisant interférence...

Voici des screens pour illustrer :

Voici l'image en charger une partie (pas normale)
Spoiler:

et celle en nouvelle partie (normale)
Spoiler:

Et voila les scripts
Spoiler:

Merci d'avance Smile


Dernière édition par Deck' le Sam 29 Jan 2011 - 15:12, édité 1 fois
avatar
Frozen
Membre

Nombre de messages : 584
Age : 23
Distinction : Prêt à tout pour aider le staff !
(distinction promise ^^)
Date d'inscription : 20/03/2010

Re: Problème script brouillard[résolu]

le Mer 26 Jan 2011 - 19:50
Quand tu dis "en charger partie", la partie que tu charges vient d'une sauvegarde que tu avais avant de mettre le script ?
avatar
Deck'
Membre

Nombre de messages : 52
Distinction : aucune
Date d'inscription : 29/05/2010

Re: Problème script brouillard[résolu]

le Mer 26 Jan 2011 - 20:31
Non :/
C'est la le problème :p
avatar
Pharazon
Staffeux retraité

Nombre de messages : 1702
Age : 32
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' ]
Date d'inscription : 14/04/2010

Re: Problème script brouillard[résolu]

le Jeu 27 Jan 2011 - 8:37
Et as tu fait des modifs de coordonnées ou autres sur ton brouillard après ta première sauvegarde ?
car ça vient surement de là, non ?
avatar
dricc
Membre

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

Re: Problème script brouillard[résolu]

le Jeu 27 Jan 2011 - 12:29
Moi , je suspecte le script "antilag" ...
Essaye de l'enlever .

A propos , au cas ou tu saurais pas , pour mettre un script en commentaire , on met :
"=begin" au début
"=end" à la fin
avatar
Deck'
Membre

Nombre de messages : 52
Distinction : aucune
Date d'inscription : 29/05/2010

Re: Problème script brouillard[résolu]

le Jeu 27 Jan 2011 - 19:24
@ Pharazon : Non, je n'ai pas retouché au script apres avoir sauvegarder Smile

@dricc : Je viens de tester sans le script anti-lag, mais malheuresement ça ne change rien :/
(Et oui je connais le =begin, =end, mais je vois pas le rapport :p)

Sinon, je pense utiliser le systeme "afficher une image" sur chaque map en event,
mais l'inconvéniant c'est que ça va être long^^
avatar
dricc
Membre

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

Re: Problème script brouillard[résolu]

le Ven 28 Jan 2011 - 11:14
Je pense que c'est un probleme de compatibilité . C'est souvent ça quand tu as un truc aussi enorme .
Y'a pas un des scripts qui modifie "Scene_File" ?
avatar
Mist'
Staffeux retraité

Nombre de messages : 3298
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: Problème script brouillard[résolu]

le Ven 28 Jan 2011 - 11:31
La meilleure solution, à mes yeux, c'est de faire un test en enlevant un à un chaque script et tester à chaque fois, si c'est pas lui qui fait planter, tu pourras le remettre, etc.

Oui, c'est long et fastidieux, mais au moins, ça devrait marcher...
Bonne continuation à toi Wink

_________________
avatar
Deck'
Membre

Nombre de messages : 52
Distinction : aucune
Date d'inscription : 29/05/2010

Re: Problème script brouillard[résolu]

le Ven 28 Jan 2011 - 14:42
J'ai testé en retirant les scripts 1 par 1, mais ca na pas été tres convinquant :/

Je viens de remarquer une chose : si je fais nouvelle partie et que je sauvegarde direct,
si je relance ensuite ma sauvegarde, le pb n'apparait pas (donc d'apres moi pas de soucis lié a la sauvegarde) ,
le probleme serai donc dans le début de mon jeu, mais comment savoir ce que c'est...

Sinon j'ai plus qu'a afficher mes brouillard en picture sur chaque map ! ^^

EDIT : J'ai trouvé le bug !
Dans mes premiere map, j'avais utilisé le brouillard pour faire des nuages qui avancent, donc la picture bougé, et lorsque je rentrai dans une map
où la picture ne devait pas bouger, elle était "sauvegardée" à la position de la picture des nuages, ce qui faisait qu'elle été décalé...
En tous cas merci de votre aide Smile
avatar
Elisa'
Administrateur

Nombre de messages : 2923
Age : 20
Localisation : Par là-bas !
Distinction : Mon héritière que je chéris
[Coco' Smile]
Plus que 2 ans avant d'épouser Coco' ! Compte à rebours lancé !
[Auto-distinction]

Adepte du "Je le savais" alors qu'elle le savait pas.
Date d'inscription : 30/05/2009

Re: Problème script brouillard[résolu]

le Sam 12 Fév 2011 - 20:56
Le problème est résolu donc déplacé Smile

_________________


Cliquez ici pour voter pour la commu'
Contenu sponsorisé

Re: Problème script brouillard[résolu]

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