LureasVie Feb 15, 2013 2:11 am
Usuario Nv3
Buenas a todos, como no lo vi por aqui me parecia buena idea postearlo y ademas os dejo una demo para que probeis como va mas o menos el rollo. Este script consiste en añadir efectos de luz solar, nubes, niebla y otros a tu mapa.
Creditos: Falcao
Demo: Aqui
Creditos: Falcao
Demo: Aqui
Captura de Pantalla
- Código:
#====================================================================#
# #*****************# Fog effect V1.5 Falcao script #
# #*** By Falcao ***# Permite efectos de niebla en el mapa #
# #*****************# #
# RMVX Instalation: Solo copiar y pegar el #
# scrirpt a sus proyectos #
#====================================================================#
#--------------------------------------------------------------------
# * ¿Como usarlo?
#
# Llamar el script usando el siguiente comando
#
# $game_map.fog("Nombre", Opacidad, Zoom, scroll_x , scroll_y)
#
# Ejemplo usando una configuracion estandar
# $game_map.fog("sombra2",50,2,1,1)
#
# Si quieren que desaparezca la niebla usen el siguiente comando
# $game_map.fog_clear
#
# Graficos de niebla deben estar en la carpeta "Pictures"
#
# Notas del autor:
# Este script puede ser usado en juegos comerciales o no comerciales
# Creditos: By Falcao
#
#--------------------------------------------------------------------
module Falcao
# Activar el scroll dinamico, la niebla se mueve con el scroll de
# la pantalla (Cambiar true o false)
DinamicScroll = true
# ID de mapas en los que no habra efecto de niebla ideal dentro de las
# casas Ejemplo: FogMap_Disable = [2,3] separar cada ID con una coma,
FogMap_Disable = [2]
end
class Game_Map
attr_accessor :fog_name
attr_accessor :fog_opacity
attr_accessor :fog_zoom
attr_accessor :fog_sx
attr_accessor :fog_sy
attr_reader :fog_ox
attr_reader :fog_oy
attr_accessor :empty
alias falcaofogSini initialize
def initialize
@fog_start = true
@empty = true
@dumper = [name = "", opacity = 0, zoom = 0, sx = 0, sy = 0]
falcaofogSini
end
alias falcao_setup setup
def setup(map_id)
falcao_setup(map_id)
setup_fog
end
def setup_fog
if @fog_start
@fog_name = ""
@fog_opacity = 0
@fog_zoom = 0
@fog_sx = 0
@fog_sy = 0
@fog_ox = 0
@fog_oy = 0
@fog_start = false
end
end
alias falcaofog_update update
def update
falcaofog_update
update_fog
end
def update_fog
@fog_ox -= @fog_sx / 8.0
@fog_oy -= @fog_sy / 8.0
end
def fog(name,opacity,zoom,scroll_x,scroll_y)
@fog_name = name
@fog_opacity = opacity
@fog_zoom = zoom
@fog_sx = scroll_x
@fog_sy = scroll_y
end
def fog_clear
@fog_name = ""
@fog_opacity = 0
@fog_zoom = 0
@fog_sx = 0
@fog_sy = 0
end
def memorize_fog
@dumper[0] = @fog_name
@dumper[1] = @fog_opacity
@dumper[2] = @fog_zoom
@dumper[3] = @fog_sx
@dumper[4] = @fog_sy
@empty = false
end
def restore_fog
@fog_name = @dumper[0]
@fog_opacity = @dumper[1]
@fog_zoom = @dumper[2]
@fog_sx = @dumper[3]
@fog_sy = @dumper[4]
@empty = true
end
end
class Spriteset_Map
alias falcaofogini initialize
def initialize
create_fog
falcaofogini
end
def create_fog
@fog = Plane.new(@viewport1)
@fog.z = 3000
end
alias falcaofog_dispose dispose
def dispose
falcaofog_dispose
dispose_fog
end
def dispose_fog
@fog.dispose
end
alias falcaofogSupdate update
def update
falcaofogSupdate
update_fog
end
def update_fog
if @fog_name != $game_map.fog_name
@fog_name = $game_map.fog_name
if @fog.bitmap != nil
@fog.bitmap.dispose
@fog.bitmap = nil
end
if @fog_name != ""
@fog.bitmap = Cache.picture(@fog_name)
end
Graphics.frame_reset
end
@fog.zoom_x = $game_map.fog_zoom
@fog.zoom_y = $game_map.fog_zoom
@fog.opacity = $game_map.fog_opacity
if Falcao::DinamicScroll == true
@fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
@fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
else
@fog.ox = 4 + $game_map.fog_ox
@fog.oy = 4 + $game_map.fog_oy
end
end
end
class Game_Player < Game_Character
alias falcao_perform_transfer perform_transfer
def perform_transfer
return unless $game_player.transfer?
falcao_perform_transfer
if Falcao::FogMap_Disable.include?($game_map.map_id)
$game_map.memorize_fog if $game_map.empty
$game_map.fog_clear
else
$game_map.restore_fog
end
end
end
Un saludo gente, espero que sepan aprovecharlo.