Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Ainda temos gente aqui?
Efeitos de Luz EmptyQui 25 Nov 2021, 14:04 por Halt

» [Dúvida] Como tirar a porcentagem de esquiva
Efeitos de Luz EmptySex 19 Nov 2021, 17:14 por Halt

» Pokémon Genesis Online! (PGO)
Efeitos de Luz EmptyQua 05 Jul 2017, 18:08 por Lexar

» Tileset Converter to MV
Efeitos de Luz EmptySex 12 maio 2017, 14:07 por Douggi

» Pack Resources, Sprites e etc
Efeitos de Luz EmptyQua 23 Dez 2015, 12:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Efeitos de Luz EmptyTer 22 Dez 2015, 11:14 por ::KimMax::

» Fantasy Art Online
Efeitos de Luz EmptyDom 18 Out 2015, 18:42 por daviih123

» Você vai ter medo do Nerve gear?
Efeitos de Luz EmptySáb 25 Jul 2015, 17:02 por Kirito-kun

» O Barato é louco
Efeitos de Luz EmptySáb 27 Jun 2015, 16:26 por Halt

» Download RPG Maker 2000 + RTP em português
Efeitos de Luz EmptyQui 21 maio 2015, 20:28 por Wismael


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1Efeitos de Luz Empty Efeitos de Luz Seg 08 Out 2012, 18:42

Carlos

Carlos
Administrador
Administrador
Introdução:

Este é um script que serve para adicionar efeitos de luz simples em seus mapas de maneira rápida e prática via comentários dentro dos eventos.

Screenshots:

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Como usar:

Primeiramente você precisará ter este arquivo abaixo dentro da pasta Graphics/Pictures.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

No evento onde deseja que seja a posição do efeito de luz, deverá ser colocado um comentário com o conteúdo "Light Effects" (sem aspas). Na segunda linha do comentário você deverá adicionar um segundo termo para o tipo de efeito de luz que deseja. Estes são: "Ground", "Fire", "Lamppost", "LeftLantern", ou "RightLantern".(todos sem aspas também)

Script:

Código:
#================================
# Light Effects
#================================
# By: Near Fantastica
# Date: 28.06.05
# Version: 3
#================================
#==========Instruções==========

# No evento onde deseja que seja a posição do efeito de luz,
# deverá ser colocado um comentário com o conteúdo "Light Effects"
# (sem aspas). Na segunda linha do comentário você deverá adicionar um segundo
# termo para o tipo de efeito de luz que deseja.
# Estes são: "Ground", "Fire", "Lamppost", "LeftLantern", ou "RightLantern" (todos sem aspas também).
#================================

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 == ["Light Effects"]
          type = event.list[i+1].parameters.to_s
          case type.upcase!
          when "GROUND"
            light_effects = Light_Effect.new(event,type)
            light_effects.light.zoom_x = 200 / 100.0
            light_effects.light.zoom_y = 200 / 100.0
            light_effects.light.opacity = 102
            @light_effects.push(light_effects)
          when "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 = 140
            @light_effects.push(light_effects)
          when "LAMPPOST"
            light_effects = Light_Effect.new(event,"LEFT LAMP POST")
            light_effects.light.opacity = 102
            @light_effects.push(light_effects)
            light_effects = Light_Effect.new(event,"RIGHT LAMP POST")
            light_effects.light.opacity = 102
            @light_effects.push(light_effects)
          when "LEFTLANTERN"
            light_effects = Light_Effect.new(event,type)
            light_effects.light.opacity = 160
            @light_effects.push(light_effects)
          when "RIGHTLANTERN"
            light_effects = Light_Effect.new(event,type)
            light_effects.light.opacity = 160
            @light_effects.push(light_effects)
          end
        end
      end
    end
    for effect in @light_effects
      case effect.type
      when "GROUND"
        effect.light.x = (effect.event.real_x - 200 - $game_map.display_x) / 4
        effect.light.y = (effect.event.real_y - 200 - $game_map.display_y) / 4
      when "FIRE"
        effect.light.x = (effect.event.real_x - 300 - $game_map.display_x) / 4
        effect.light.y = (effect.event.real_y - 300 - $game_map.display_y) / 4
      when "LEFT LAMP POST"
        effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 5
        effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
      when "RIGHT LAMP POST"
        effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 25
        effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
      when "LEFTLANTERN"
        effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 20
        effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
      when "RIGHTLANTERN"
        effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 10
        effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
      end
    end
  end
  #--------------------------------------------------------------
  def update_light_effects
    for effect in @light_effects
      next if not in_range?(effect.event)
      case effect.type
      when "GROUND"
        effect.light.x = (effect.event.real_x - 200 - $game_map.display_x) / 4
        effect.light.y = (effect.event.real_y - 200 - $game_map.display_y) / 4
      when "FIRE"
        effect.light.x = (effect.event.real_x - 300 - $game_map.display_x) / 4
        effect.light.y = (effect.event.real_y - 300 - $game_map.display_y) / 4
      when "LEFT LAMP POST"
        effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 5
        effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
      when "RIGHT LAMP POST"
        effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 25
        effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
      when "LEFTLANTERN"
        effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 20
        effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
      when "RIGHTLANTERN"
        effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 10
        effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
      end
    end
  end
  #--------------------------------------------------------------
  def in_range?(object)
    screne_x = $game_map.display_x
    screne_x -= 256
    screne_y = $game_map.display_y
    screne_y -= 256
    screne_width = $game_map.display_x
    screne_width += 2816
    screne_height = $game_map.display_y
    screne_height += 2176
    return false if object.real_x <= screne_x
    return false if object.real_x >= screne_width
    return false if object.real_y <= screne_y
    return false if object.real_y >= screne_height
    return true
  end
end

#================================
# Light Effects Class
#================================

class Light_Effect
  #--------------------------------------------------------------
  attr_accessor :light
  attr_accessor :event
  attr_accessor :type
  #--------------------------------------------------------------
  def initialize(event, type)
    @light = Sprite.new
    @light.bitmap = RPG::Cache.picture("LE.PNG")
    @light.visible = true
    @light.z = 1000
    @event = event
    @type = type
  end
end

Créditos:

Spoiler:

https://arenarpgmaker.forumeiros.com

2Efeitos de Luz Empty Re: Efeitos de Luz Seg 08 Out 2012, 21:20

DeadEnd

DeadEnd
Membro de Honra
Membro de Honra
Me Gusta *-*
Isso é bem útil obrigado.

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos