Light Effects 2.0 (Novas Cores de Luz)

    Compartilhe
    avatar
    MimicKayo
    Iniciante
    Iniciante

    Mensagens : 37
    Créditos : 62
    Data de inscrição : 01/06/2011
    Idade : 20
    Localização : Minha casa

    Light Effects 2.0 (Novas Cores de Luz)

    Mensagem  MimicKayo em Qua Ago 17, 2011 8:56 pm

    Introdução
    Bem esse ai é o Light Effects, que da efeitos de luzes(assim como mostra nas Screens Shoots), você pode usar o script, para iluminar um lugar, ou, simplesmente para deixá-lo mais bonito.
    E esse script, é o novo, e não o antigo 'Light Effects'.

    O que há de novo?
    Agora além das cores antigas, nós temos: azul, vermelho-sangue, verde, branco, ciano (verde-azulado), rosa e amarelo forte.


    Instruções
    Para instalar esse script é idêntico ao outro.

    Copie e cole o script na área de scripts adicionais.
    Spoiler:
    Código:
    #==============================================================================
    #========================== Light Effects VX 2.0 ==============================
    #------------------------------------------------------------------------------
    #  Script de: Kylock (originalmente para RMXP por Near Fantastica)
    #  Tradução por Equipe Gemstone
    #  Novos modos de luz da versão 2.0 por Kbça
    #==============================================================================
    #  Para fazer com que um evento brilhe, escreva um Comentário: com qualquer um
    #                dos modos de luz suportados abaixo.
    #=============================== Versões ======================================
    # 1.0 - Lançamento original
    # 1.1 - Novos modos de luz adicionados: LIGHT2, TORCH, TORCH2.
    #    - Mudou o modo de blend do sprite para Adicionar (parece um pouco melhor).
    #    - Luzes de fogo agora estão com tonalidade vermelha.
    # 2.0 - Novos modos de luz adicionados: (by Kbça)
    #      XENON, BLOOD, GREEN, WHITE, CYAN, PINK e YELLOW
    #============================= Modos de Luz ====================================
    #  GROUND - Médio alcance e luz branca.
    #  FIRE  - Luz vermelha que oscila levemente.
    #  LIGHT  - Alcance curto e luz branca.
    #  LIGHT2 - Longo alcance e luz branca.
    #  TORCH  - Grande luz vermelha com muita oscilação.
    #  TORCH2 - Grande luz vermelha que oscila levemente.
    #  XENON  - Alcançe médio, luz azul imitando Xenon.
    #  BLOOD  - Luz vermelho-sangue de alcançe médio, ideal para jogos de terror!
    #  GREEN  - Luz verde de médio alcançe.
    #  WHITE  - Luz branca de médio alcançe, porém mais forte que GROUND e LIGHT.
    #  CYAN  - Alcançe médio, cor verde piscina e um tanto forte.
    #  PINK  - Cor rosa, de médio alcançe.
    #  YELLOW - Luz forte de médio alcançe de cor amarela.
    #==============================================================================

    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
            if event.list[i].code == 108 and event.list[i].parameters == ["XENON"]
              type = "XENON"
              light_effects = Light_Effect.new(event,type)
              light_effects.light.zoom_x = 2
              light_effects.light.zoom_y = 2
              light_effects.light.opacity = 150
              @light_effects.push(light_effects)
            end
            if event.list[i].code == 108 and event.list[i].parameters == ["BLOOD"]
              type = "BLOOD"
              light_effects = Light_Effect.new(event,type)
              light_effects.light.zoom_x = 2
              light_effects.light.zoom_y = 2
              light_effects.light.opacity = 150
              @light_effects.push(light_effects)
            end
            if event.list[i].code == 108 and event.list[i].parameters == ["GREEN"]
              type = "GREEN"
              light_effects = Light_Effect.new(event,type)
              light_effects.light.zoom_x = 2
              light_effects.light.zoom_y = 2
              light_effects.light.opacity = 150
              @light_effects.push(light_effects)
            end
            if event.list[i].code == 108 and event.list[i].parameters == ["WHITE"]
              type = "WHITE"
              light_effects = Light_Effect.new(event,type)
              light_effects.light.zoom_x = 2
              light_effects.light.zoom_y = 2
              light_effects.light.opacity = 180
              @light_effects.push(light_effects)
            end
            if event.list[i].code == 108 and event.list[i].parameters == ["CYAN"]
              type = "CYAN"
              light_effects = Light_Effect.new(event,type)
              light_effects.light.zoom_x = 2
              light_effects.light.zoom_y = 2
              light_effects.light.opacity = 180
              @light_effects.push(light_effects)
            end
            if event.list[i].code == 108 and event.list[i].parameters == ["PINK"]
              type = "PINK"
              light_effects = Light_Effect.new(event,type)
              light_effects.light.zoom_x = 2
              light_effects.light.zoom_y = 2
              light_effects.light.opacity = 180
              @light_effects.push(light_effects)
            end
            if event.list[i].code == 108 and event.list[i].parameters == ["YELLOW"]
              type = "YELLOW"
              light_effects = Light_Effect.new(event,type)
              light_effects.light.zoom_x = 2
              light_effects.light.zoom_y = 2
              light_effects.light.opacity = 180
              @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
          when "XENON"
            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.tone = Tone.new(-200,-200,255,  0)
            effect.light.blend_type = 1
          when "BLOOD"
            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.tone = Tone.new(255,-230,-230,  0)
            effect.light.blend_type = 1
          when "GREEN"
            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.tone = Tone.new(-150,255,-150,  0)
            effect.light.blend_type = 1
          when "WHITE"
            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.tone = Tone.new(255,255,255,  0)
            effect.light.blend_type = 1
          when "CYAN"
            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.tone = Tone.new(-255,0,0,  0)
            effect.light.blend_type = 1
          when "PINK"
            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.tone = Tone.new(0,-255,0,  0)
            effect.light.blend_type = 1
          when "YELLOW"
            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.tone = Tone.new(0,0,-255,  0)
            effect.light.blend_type = 1
          end
        end
      end
      def update_light_effects
        if $game_switches[13]# Controle de luz (nome do switch)
          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
          when "XENON"
            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 "BLOOD"
            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 "GREEN"
            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 "WHITE"
            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 "CYAN"
            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 "PINK"
            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 "YELLOW"
            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
          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
    Copie a imagem e a coloque com o nome le na pasta Pictures do seu projeto.
    Spoiler:
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver esta imagem.]
    Crie o evento no qual você deseja iluminar e adicione um comentário escrito:
    XENON: para a cor azul.
    BLOOD: para vermelho-sangue.
    GREEN: para verde.
    etc...(todas as cores estão no próprio script)


    Screenshot
    Spoiler:
    [Você precisa estar registrado e conectado para ver esta imagem.]


    Créditos
    Por criar: Kylock
    Incrementado por: Kbça & Equipe gemstone
    Disponibilizado por:Viking & MimicKayo

      Data/hora atual: Qua Nov 14, 2018 4:30 pm