Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal

Aller en bas
Hilda
Hilda
Membre

Nombre de messages : 89
Age : 45
Distinction : aucune
Date d'inscription : 06/02/2011
https://www.facebook.com/dascottevirginie

[résolu] Bug avec les effets de lumière Empty [résolu] Bug avec les effets de lumière

Lun 28 Fév 2011 - 18:58
Bonsoir tout le monde,

Alors, ça fait déjà un petit moment que j'ai ce bug, mais je n'ai pas réussi à le résoudre
J'utilise le "Day and Night temps reel by grifdail selon Vampyr" qui permet de changer le ton de l'écran en fonction de l'heure du jour. Et j'utilise en plus le "Light Effects VX 1.1par Kylock". J'ai fait en sorte que les lumières s'allument automatiquement lorsque la nuit tombe. Alors, ça fonctionne très bien à l'extérieur, mais le bug est arrivé quand j'ai également changé les lumières pour les maps "intérieurs".
Le bug, c'est qu'à l'intérieur, les effets de lumières ne se font qu'à partir de la seconde fois où l'on rentre dans la pièce.
Un problème de rafraîchissement sans doutes, ou bien de priorités.

Je vous donne le script que j'ai modifié pour avoir les changements d'intérieurs :

Code:
###ici regle les ton de l'ecrans pour le jour et la nuit
Interieur_Tone = Tone.new(-10 , -10 , -10, 5)
Interieurnuit_Tone = Tone.new(-70 , -70 , -70, 60)
Day_Tone = Tone.new(15, -10, -41, 0)

Afternoon_Tone = Tone.new(0, 0, 0, 0)

Night_Tone = Tone.new(-100, -100, -100, 90)

##########################################

if map_name.include?("EXT")
          if $game_variables[Heure] >= 7 and $game_variables[Heure]  < 10
                      $game_switches[11] = true
              @screen.start_tone_change(Day_Tone, 1)
                $sun.play(9, 120)
                    elsif $game_variables[Heure] >= 10 and $game_variables[Heure]  < 16
                                $game_switches[11] = true
              @screen.start_tone_change(Afternoon_Tone, 1)
              $sun.stop
                  elsif $game_variables[Heure] >= 16 or $game_variables[Heure]  < 7
                    $game_switches[11] = false
              @screen.start_tone_change(Night_Tone, 1)
                    @parallax_name = "etoiles"
                    @parallax_loop_x = nil
                    @parallax_loop_y = nil
                  end
                  elsif $game_variables[Heure] >= 16 or $game_variables[Heure]  < 7
                    $game_switches[11] = false
          @screen.start_tone_change(Interieurnuit_Tone, 1)
        else
          $game_switches[11] = true
          @screen.start_tone_change(Interieur_Tone, 1)
          end
end
 
  def trouvelheure
  if $game_variables[Heure] >= 7 and $game_variables[Heure]  < 10
    $game_switches[Jours] =true
      $game_switches[Soir] =false
      $game_switches[Nuit] =false
      elsif $game_variables[Heure] >= 10 and $game_variables[Heure]  < 16
      $game_switches[Jours] =false
      $game_switches[Nuit] =false
      $game_switches[Soir] =true
      elsif $game_variables[Heure] >= 16 or $game_variables[Heure]  < 8
  $game_switches[Jours] =false
    $game_switches[Soir] =false
    $game_switches[Nuit] =true
  end
end
 
  def reset_screen_tone
    if map_name.include?("EXT")
      if $game_variables[Heure] >= 7 and $game_variables[Heure]  < 10
                  $game_switches[11] = true
        @screen.start_tone_change(Day_Tone, 1)
      elsif $game_variables[Heure] >= 10 and $game_variables[Heure]  < 16
                  $game_switches[11] = true
        @screen.start_tone_change(Afternoon_Tone, 1)
      elsif $game_variables[Heure] >= 16 or $game_variables[Heure]  < 7
        $game_switches[11] = false
        @screen.start_tone_change(Night_Tone, 1)
      end
      elsif $game_variables[Heure] >= 16 or $game_variables[Heure]  < 7
                    $game_switches[11] = false
          @screen.start_tone_change(Interieurnuit_Tone, 1)
        else
          $game_switches[11] = true
          @screen.start_tone_change(Interieur_Tone, 1)
          end
end

Je serais super contente si on arrivait à résoudre ce bug.
Merci d'avance Smile


Dernière édition par Hilda le Mar 1 Mar 2011 - 13:24, édité 1 fois
Garruk
Garruk
Membre

Nombre de messages : 1030
Age : 39
Localisation : Evreux 27
Distinction : The Master Show de 2011
Date d'inscription : 13/09/2009

[résolu] Bug avec les effets de lumière Empty Re: [résolu] Bug avec les effets de lumière

Lun 28 Fév 2011 - 20:28
J'ai regardé vite fait, mais j'aurais eu besoin des deux scripts pour voir ton problème.
Sinon j'ai une question pour le jour et la nuit tu utilises un interrupteur ?

Sinon tu crées deux pages de l'évent de la ressource qui doit faire de la lumière avec un truc du genre.

Sur la page 1
Si interrupteur [Day]
-Lanterne
-normal avec aucun commentaire

Et sur la page 2
Si interrupteur [Night]
-Lanterne
-Commentaire "Light"

Ce n'est qu'une supposition vu que je n'ai pas testé, mais normalement ça devrait marché. =)
Hilda
Hilda
Membre

Nombre de messages : 89
Age : 45
Distinction : aucune
Date d'inscription : 06/02/2011
https://www.facebook.com/dascottevirginie

[résolu] Bug avec les effets de lumière Empty Re: [résolu] Bug avec les effets de lumière

Lun 28 Fév 2011 - 22:50
Merci de ta réponse, je vais essayer ta solution tout de suite après.
Je n'utilise les interrupteurs que pour les conditions dans les events parce que l'interrupteur pour l'effet de lumière, je l'ai intégré au code pour le jour et la nuit afin que les lumières s'allument automatiquement quand la nuit tombe. (c'est l'interrupteur 11 que l'on peut voir dans le bout de code donné plus haut).
Par contre, je n'ai pas utilisé les interrupteurs "nuit", "jour" ou "soir" car après essai, ça n'avait pas l'air de fonctionner (dans le script en tous cas).

Je mets déjà le code ici pour les effets de lumières (que je n'ai pas modifié) :

Code:
#==============================================================================
# ■ Light Effects VX 1.1
#    5.21.2008
#------------------------------------------------------------------------------
# Script: Kylock (à l'origine pour RMXP Near Fantastica)
# Tradução por Equipe Gemstone
# Traduit Par Douk => Français => http://rpgmakervx.1fr1.net/
#================================================= =============================
# Pour faire briller un événement, écrire un commentaire: avec un des
# Modes de lumière ci-dessous.
#================================================
# ● des news :
#------------------------------------------------- -----------------------------
# 1,0 - sortie d'origine
# 1,1 - Des nouvelles façons de lumière ajoutée: LIGHT2 TORCHE, TORCH2.
# - Changement de la façon de mélanger le sprite à ajouter (semble un peu mieux).
# - Les Feux d'incendie sont maintenant teinte de rouge.
#================================================= =============================
# ● modes d'éclairage :
#------------------------------------------------- -----------------------------
# GROUND - Moyen-portée et de la lumière blanche.
# FIRE - Le feu rouge varie légèrement.
# LIGHT - Portée courte et à la lumière blanche.
# LIGHT2 - à longue distance et une lumière blanche.
# TORCH - Grosse lumière rouge avec une grande emprise.
# TORCH2 - Grosse lumière qui varie légèrement.
#==============================================================================

class Spriteset_Map
  alias les_spriteset_map_initalize initialize
  alias les_spriteset_map_dispose dispose
  alias les_spriteset_map_update update
  def initialize
    @light_effects = []
    setup_lights
    les_spriteset_map_initalize
    update
  end
  def dispose
    les_spriteset_map_dispose
    for effect in @light_effects
      effect.light.dispose
    end
    @light_effects = []
  end
  def update
    les_spriteset_map_update
    update_light_effects
  end
  def setup_lights
    for event in $game_map.events.values
      next if event.list == nil
      for i in 0...event.list.size
        if event.list[i].code == 108 and event.list[i].parameters == ["GROUND"]
          type = "GROUND"
          light_effects = Light_Effect.new(event,type)
          light_effects.light.zoom_x = 2
          light_effects.light.zoom_y = 2
          light_effects.light.opacity = 100
          @light_effects.push(light_effects)
        end
        if event.list[i].code == 108 and event.list[i].parameters == ["FIRE"]
          type = "FIRE"
          light_effects = Light_Effect.new(event,type)
          light_effects.light.zoom_x = 300 / 100.0
          light_effects.light.zoom_y = 300 / 100.0
          light_effects.light.opacity = 100
          @light_effects.push(light_effects)
        end
        if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT"]
          type = "LIGHT"
          light_effects = Light_Effect.new(event,type)
          light_effects.light.zoom_x = 1
          light_effects.light.zoom_y = 1
          light_effects.light.opacity = 150
          @light_effects.push(light_effects)
        end
        if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT2"]
          type = "LIGHT2"
          light_effects = Light_Effect.new(event,type)
          light_effects.light.zoom_x = 6
          light_effects.light.zoom_y = 6
          light_effects.light.opacity = 150
          @light_effects.push(light_effects)
        end
        if event.list[i].code == 108 and event.list[i].parameters == ["TORCH"]
          type = "TORCH"
          light_effects = Light_Effect.new(event,type)
          light_effects.light.zoom_x = 6
          light_effects.light.zoom_y = 6
          light_effects.light.opacity = 150
          @light_effects.push(light_effects)
        end
        if event.list[i].code == 108 and event.list[i].parameters == ["TORCH2"]
          type = "TORCH2"
          light_effects = Light_Effect.new(event,type)
          light_effects.light.zoom_x = 6
          light_effects.light.zoom_y = 6
          light_effects.light.opacity = 150
          @light_effects.push(light_effects)
        end
      end
    end
    for effect in @light_effects
      case effect.type
      when "GROUND"
        effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8
        effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8
        effect.light.blend_type = 1
      when "FIRE"
        effect.light.x = (effect.event.real_x - 600 - $game_map.display_x) / 8 + rand(6) - 3
        effect.light.y = (effect.event.real_y - 600 - $game_map.display_y) / 8 + rand(6) - 3
        effect.light.tone = Tone.new(255,-100,-255,  0)
        effect.light.blend_type = 1
      when "LIGHT"
        effect.light.x = (-0.25 / 2 * $game_map.display_x) + (effect.event.x * 32) - 15
        effect.light.y = (-0.25 / 2 * $game_map.display_y) + (effect.event.y * 32) - 15
        effect.light.blend_type = 1
      when "LIGHT2"
        effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20
        effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8
        effect.light.blend_type = 1
      when "TORCH"
        effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20
        effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8
        effect.light.tone = Tone.new(255,-100,-255,  0)
        effect.light.blend_type = 1
      when "TORCH2"
        effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20
        effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8
        effect.light.tone = Tone.new(255,-100,-255,  0)
        effect.light.blend_type = 1
      end
    end
  end
  def update_light_effects
    if $game_switches[11]
      for effect in @light_effects
        next if effect.type == "FIRE" || effect.type == "TORCH"
        effect.light.visible = false
      end
    else
      for effect in @light_effects
        next if effect.type == "FIRE" || effect.type == "TORCH"
        effect.light.visible = true
      end
    end
    for effect in @light_effects
      case effect.type
      when "GROUND"
        effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8
        effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8
      when "FIRE"
        effect.light.x = (effect.event.real_x - 600 - $game_map.display_x) / 8 + rand(6) - 3
        effect.light.y = (effect.event.real_y - 600 - $game_map.display_y) / 8 + rand(6) - 3
        effect.light.opacity = rand(10) + 90
      when "LIGHT"
        effect.light.x = (-0.25 / 2 * $game_map.display_x) + (effect.event.x * 32) - 15
        effect.light.y = (-0.25 / 2 * $game_map.display_y) + (effect.event.y * 32) - 15
      when "LIGHT2"
        effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20
        effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8
      when "TORCH"
        effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 + rand(20) - 10
        effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 + rand(20) - 10
        effect.light.opacity = rand(30) + 70
      when "TORCH2"
        effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20
        effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8
        effect.light.opacity = rand(10) + 90
      end
    end
  end
end
 
class Light_Effect
  attr_accessor :light
  attr_accessor :event
  attr_accessor :type
  def initialize(event, type)
    @light = Sprite.new
    @light.bitmap = Cache.picture("le.png")
    @light.visible = true
    @light.z = 1000
    @event = event
    @type = type
  end
end

EDIT : Bon, voilà, j'ai essayé avec les interrupteurs "nuit" et "jours", - en fait j'avais déjà essayé avant mais je n'avais pas vu qu'il y avait des numéros déjà attribués pour ces interrupteurs (désolée moi newbee) -, ça fonctionne mais pas complètement. C'est à dire qu'il n'y a que dans la pièce où je commence le jeu que le bug persiste, mais il n'y a plus le bug dans les autres pièces.
Pour ce qui reste du bug, je peux le contourner, merci pour le coup de pouce !
Garruk
Garruk
Membre

Nombre de messages : 1030
Age : 39
Localisation : Evreux 27
Distinction : The Master Show de 2011
Date d'inscription : 13/09/2009

[résolu] Bug avec les effets de lumière Empty Re: [résolu] Bug avec les effets de lumière

Mar 1 Mar 2011 - 12:24
De rien. =)
Sinon il existe un autre script de lumière qui prend automatiquement le jour et la nuit en compte, mais je ne l'ai plus sous la main. =(

Sinon voici un petit cadeau.
CloudStrife était mon ancien pseudo. ^^

Spoiler:

C'est exactement la même version que tu possèdes sauf que je l'ai modifier en reprenait tous les effets de lumière que j'ai trouvé et j'ai fusionné le tous.
Ce qui donne:

-26 Effets de lumières
-Possibilité d'éteindre les lumières à l'aide d'un interrupteur

Pour les interrupteurs regarde au début du script:

Code:
#ID de l'interrupteur qui permet d'éteindre les lumières de mode de FIRE
#Ne marche seulement pour allumer et éteindre le mode : FIRE
FIRE = 87
#Pareil pour le mode LIGHT
#Eteins et allume les lumière avec les commentaires: LIGHT, LIGHT2, LIGHT3
LIGHT = 86
#On fini avec les GROUND
#Donc: GROUND, GROUND2, GROUND3, GROUND4, GROUND5
GROUND = 85
#Ma après les GROUND il reste les TORCH
#applies to light mode: TORCH, TORCH2, TORCH3 et les autres qui ne sont pas cités
TORCH = 84

Voilà en espèrant qu'il te soit plus utile que l'ancien. xD
Oublie pas le Résolu dans le titre. Wink
Hilda
Hilda
Membre

Nombre de messages : 89
Age : 45
Distinction : aucune
Date d'inscription : 06/02/2011
https://www.facebook.com/dascottevirginie

[résolu] Bug avec les effets de lumière Empty Re: [résolu] Bug avec les effets de lumière

Mar 1 Mar 2011 - 13:24
J'ai testé, tout est Ok, c'est pour ainsi dire le même système que l'ancien, mais bien enrichi.
Merci beaucoup Very Happy
Contenu sponsorisé

[résolu] Bug avec les effets de lumière Empty Re: [résolu] Bug avec les effets de lumière

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