Lampião Customizável Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Lampião Customizável

5 participantes

Ir para baixo

Lampião Customizável Empty Lampião Customizável

Mensagem por ' Wwebr Sáb Nov 20, 2010 7:48 pm

Lampião Customizável

Breve Descrição:
O script cria uma zona de luz em volta do personagem enquanto o restante do mapa permanece escuro, sem o uso de imagens adicionais. Para ativar/desativar o efeito usa-se uma switch. A luz do lampião é totalmente customizável, além da escuridão em volta. Contudo, quanto mais realista e quanto maior o raio do efeito de luz maior será o tempo de transição entre os mapas.

Demo:
Creio que desnecessária.

Screen de Exemplo:
Lampião Customizável Ss2
Lampião Customizável Ss

Versão 1.0:
Código:
#===============================================================
# Lampião Customizável
# Autor: Madajuv
# Agradecimentos:
# Ao autor de Nakiri Dungeon, pelo código para desenhar círculos.
#===============================================================
# O script faz com que uma pequena área em volta do personagem
# fique iluminada, enquanto o restante fica escuro.
# Não precisa de imagens.
#===============================================================
# Edite Aqui:
#---------------------------------------------------------------
module Mada
  # O raio da circunferência de luz que o lampião cria
  # Quanto maior, mais demora a transição entre mapas
  LAMP_Raio_max = 150
  # A opacidade da escuridão fora da luz
  #(0 = Muito claro/255 = Muito escuro)
  LAMP_Escuridao = 250
  # Quantidade de camadas de transição entre a luz do lampião e a escuridão
  # Quanto mais, mais demora a transição entre mapas
  LAMP_Camadas = 5
  # "Distância" de opacidade entre a luz do lampião e
  # a escuridão, quanto mais próximo do zero melhor o efeito.
  LAMP_Dist = 0
  # Switch que ativa o efeito.
  LAMP_Switch = 1
end
#---------------------------------------------------------------
# Fim da edição
#===============================================================
class Bitmap
  # Método para desenhar círculos,
  # crédito ao autor de Nakiri Dungeon
  def draw_circle(x, y, r, color)
    for ax in 0..r
      for ay in 0..r
        set_pixel(x + ax, y + ay, color) if Math.hypot((r/2) - ax, (r/2) - ay) < r/2
      end
    end
  end
end
class Spriteset_Map
  alias mada_lamp initialize
  def initialize
    if Mada::LAMP_Raio_max > 400
      p 'O raio escolhido para o lampião é muito grande.'
      $scene = nil
      mada_lamp
      return
    end
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport2.z = 200
    @lampiao = Plane.new(@viewport2)
    @lampiao.bitmap = Bitmap.new(960, 720)
    @lampiao.bitmap.fill_rect(Rect.new(0, 0, 960, 720), Color.new(0,0,0,Mada::LAMP_Escuridao))
    aux = Mada::LAMP_Camadas + 1
    aux1 = Mada::LAMP_Raio_max.to_f/aux.to_f
    aux2 = aux1/2.0
    aux3 = Mada::LAMP_Escuridao-Mada::LAMP_Dist
    for i in 0..aux
      @lampiao.bitmap.draw_circle(480.0+i.to_f*aux2, 360+i.to_f*aux2,
      Mada::LAMP_Raio_max.to_f-i.to_f*aux1, Color.new(0,0,0,aux3-i*aux1))
    end
    aux4 = (Mada::LAMP_Raio_max-100).to_f/2.0
    @lamp_x = 530 + aux4
    @lamp_y = 430 + aux4
    @lampiao.ox = @lamp_x - $game_player.screen_x
    @lampiao.oy = @lamp_y - $game_player.screen_y
    mada_lamp
  end
  alias mada_lamp_d dispose
  def dispose
    unless Mada::LAMP_Raio_max > 400
      @lampiao.bitmap.dispose
      @lampiao.dispose
    end
    mada_lamp_d
  end
  alias mada_t update
  def update
    @lampiao.visible = $game_switches[Mada::LAMP_Switch]
    if $game_player.moving?
      @lampiao.ox = @lamp_x - $game_player.screen_x
      @lampiao.oy = @lamp_y - $game_player.screen_y
    end
    mada_t
  end
end

Versão 2.0:
Código:
#===============================================================
# Lampião Customizável 2.0
# Autor: Madajuv
# Agradecimentos:
# Ao autor de Nakiri Dungeon, pelo código para desenhar círculos.
#===============================================================
# Versão 1.0:
#---------------------------------------------------------------
# O script faz com que uma pequena área em volta do personagem
# fique iluminada, enquanto o restante fica escuro.
# Não precisa de imagens.
#---------------------------------------------------------------
# Versão 2.0
#---------------------------------------------------------------
# A imagem do lampião é criada antes do título e somente uma vez,
# há uma opção de colocar uma tela de loading.
#===============================================================
# Edite Aqui:
#---------------------------------------------------------------
module Mada
  # O raio da circunferência de luz que o lampião cria
  # Quanto maior, mais demora o loading
  LAMP_Raio_max = 300
  # A opacidade da escuridão fora da luz
  #(0 = Muito claro/255 = Muito escuro)
  LAMP_Escuridao = 250
  # Quantidade de camadas de transição entre a luz do lampião e a escuridão
  # Quanto mais, mais demora o loading
  LAMP_Camadas = 50
  # "Distância" de opacidade entre a luz do lampião e
  # a escuridão, quanto mais próximo do zero melhor o efeito.
  LAMP_Dist = 0
  # Switch que ativa o efeito.
  LAMP_Switch = 1
  # Mostrar tela de load?
  LAMP_Load = true # true = sim / false = não
  # Mensagem da barra de load.
  LAMP_Mensa = 'Colocando óleo no lampião... Aguarde.'
end
#---------------------------------------------------------------
# Fim da edição
#===============================================================
class Bitmap
  # Método para desenhar círculos,
  # crédito ao autor de Nakiri Dungeon
  def draw_circle(x, y, r, color)
    for ax in 0..r
      for ay in 0..r
        set_pixel(x + ax, y + ay, color) if Math.hypot((r/2) - ax, (r/2) - ay) < r/2
      end
    end
  end
end
def desenhar_lamp
  @load_bar_fundo = Sprite.new
  @load_bar_fundo.bitmap = Bitmap.new(480, 64)
  @load_bar_fundo.bitmap.fill_rect(Rect.new(0, 0, 480, 64), Color.new(150,150,150))
  @load_bar_fundo.bitmap.fill_rect(Rect.new(1, 1, 478, 62), Color.new(100,100,100))
  @load_bar = Sprite.new
  @load_bar.bitmap = Bitmap.new(478, 62)
  @load_bar_fundo.x = 80; @load_bar.x = 81
  @load_bar_fundo.y = 208; @load_bar.y = 209
  $lamp_d = Bitmap.new(960, 720)
  $lamp_d.fill_rect(Rect.new(0, 0, 960, 720), Color.new(0,0,0,Mada::LAMP_Escuridao))
  aux = Mada::LAMP_Camadas + 1
  aux1 = Mada::LAMP_Raio_max.to_f/aux.to_f
  aux2 = aux1/2.0
  aux3 = Mada::LAMP_Escuridao-Mada::LAMP_Dist
  if Mada::LAMP_Load
    for i in 0..aux
      @load_bar.bitmap.clear
      @load_bar.bitmap.fill_rect(Rect.new(0, 0, 478*i/aux, 62), Color.new(255-(i*255/aux),(i*255/aux),0))
      @load_bar.bitmap.draw_text(@load_bar.bitmap.rect, Mada::LAMP_Mensa, 1)
      $lamp_d.draw_circle(480.0+i.to_f*aux2, 360+i.to_f*aux2,
      Mada::LAMP_Raio_max.to_f-i.to_f*aux1, Color.new(0,0,0,aux3-i*aux1))
      Graphics.update
    end
  else
    for i in 0..aux
      $lamp_d.draw_circle(480.0+i.to_f*aux2, 360+i.to_f*aux2,
      Mada::LAMP_Raio_max.to_f-i.to_f*aux1, Color.new(0,0,0,aux3-i*aux1))
    end
  end
  @load_bar.bitmap.dispose
  @load_bar.dispose
  @load_bar_fundo.bitmap.dispose
  @load_bar.dispose
end
desenhar_lamp
class Spriteset_Map
  alias mada_lamp initialize
  def initialize
    if Mada::LAMP_Raio_max > 400
      p 'O raio escolhido para o lampião é muito grande.'
      $scene = nil
      mada_lamp
      return
    end
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport2.z = 200
    @lampiao = Plane.new(@viewport2)
    @lampiao.bitmap = $lamp_d
    @lamp_x = 530 + (Mada::LAMP_Raio_max-100).to_f/2.0
    @lamp_y = 430 + (Mada::LAMP_Raio_max-100).to_f/2.0
    @lampiao.ox = @lamp_x - $game_player.screen_x
    @lampiao.oy = @lamp_y - $game_player.screen_y
    mada_lamp
  end
  alias mada_lamp_d dispose
  def dispose
    unless Mada::LAMP_Raio_max > 400
      @lampiao.dispose
    end
    mada_lamp_d
  end
  alias mada_t update
  def update
    @lampiao.visible = $game_switches[Mada::LAMP_Switch]
    if $game_player.moving?
      @lampiao.ox = @lamp_x - $game_player.screen_x
      @lampiao.oy = @lamp_y - $game_player.screen_y
    end
    mada_t
  end
end

Créditos:
Madajuv - Por Criar
WweBR - Por disponibilizar

_________________
Lampião Customizável 2ppa821

---

- Baía de Barbalian -

Lista Negra:


' Wwebr
' Wwebr
Membro Ativo
Membro Ativo

Medalhas : Lampião Customizável Trophy11
Mensagens : 347
Créditos : 72

Ir para o topo Ir para baixo

Lampião Customizável Empty Re: Lampião Customizável

Mensagem por The Suspect Sáb Nov 20, 2010 7:54 pm

gostei Very Happy vou ver se da para conveter para VX xD
The Suspect
The Suspect
Ocasional
Ocasional

Mensagens : 206
Créditos : 83

Ir para o topo Ir para baixo

Lampião Customizável Empty Re: Lampião Customizável

Mensagem por The Suspect Sáb Nov 20, 2010 7:54 pm

Ah esqueci do Creditos ^^ + 1 credito vlw xD
The Suspect
The Suspect
Ocasional
Ocasional

Mensagens : 206
Créditos : 83

Ir para o topo Ir para baixo

Lampião Customizável Empty Re: Lampião Customizável

Mensagem por Theu Souto Sáb Nov 20, 2010 9:56 pm

Valeu Wwe, muito bom o script
xD
1 creed
Theu Souto
Theu Souto
Iniciante
Iniciante

Mensagens : 67
Créditos : 13

Ir para o topo Ir para baixo

Lampião Customizável Empty Re: Lampião Customizável

Mensagem por ' Wwebr Sáb Nov 20, 2010 11:01 pm

Valeu galerinha pelos creds *-*

Fallowz ~//

_________________
Lampião Customizável 2ppa821

---

- Baía de Barbalian -

Lista Negra:


' Wwebr
' Wwebr
Membro Ativo
Membro Ativo

Medalhas : Lampião Customizável Trophy11
Mensagens : 347
Créditos : 72

Ir para o topo Ir para baixo

Lampião Customizável Empty Re: Lampião Customizável

Mensagem por LemonSpark36555 Dom Nov 21, 2010 12:35 pm

faze um labirinto todo escuro e enfia esse lampião éh foda (e dificil)

_________________

Meu Fã? Use ! Lampião Customizável 364988687
Lampião Customizável Fanbarjp

Lampião Customizável Fanbard

Não gaste seu tempo vivendo as vidas dos outros. Steven Jobs


Visite a Minha Fábrica de Desing!


Lampião Customizável Singj
LemonSpark36555
LemonSpark36555
Membro Ativo
Membro Ativo

Mensagens : 270
Créditos : 56

Ir para o topo Ir para baixo

Lampião Customizável Empty Re: Lampião Customizável

Mensagem por ' Wwebr Dom Nov 21, 2010 3:57 pm

Luigi Perillo X escreveu:faze um labirinto todo escuro e enfia esse lampião éh foda (e dificil)
Na verdade a idéia é essa....
Labirintos, trilhas escuras, cavernas, florestas e cemitérios a noite XD ia ficar muito loko Razz

Fallowz ~//

_________________
Lampião Customizável 2ppa821

---

- Baía de Barbalian -

Lista Negra:


' Wwebr
' Wwebr
Membro Ativo
Membro Ativo

Medalhas : Lampião Customizável Trophy11
Mensagens : 347
Créditos : 72

Ir para o topo Ir para baixo

Lampião Customizável Empty Re: Lampião Customizável

Mensagem por DeaN Seg Nov 22, 2010 10:35 am

Muito bom Gostei mais do segundo.
1+credito

_________________
Dean, Programador Geral :)

Contato: Skype:matucarvalho e Facebook
The Enze - Vulzt

Shield Block
Anti-Cheat para jogos de FPS, agora vou adaptar para jogos de RPG principalmente para o RMXP.
www.shieldblock.net
fb.com/shieldblockoficial

Lampião Customizável MiB0H
DeaN
DeaN
Colaborador
Colaborador

Mensagens : 1243
Créditos : 48

http://www.shieldblock.net

Ir para o topo Ir para baixo

Lampião Customizável Empty Re: Lampião Customizável

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


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