alcance do som

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

alcance do som

Mensagem  roberto em Sab Mar 13, 2010 5:18 pm

script para que você mude o alcance do som.
para usa-lo crie um evento chama script,e coloque isso:

Spoiler:
$view_range.event_sound(alcanse do som em numeros,"nome do som BGS")

Spoiler:
#################################################################
####################### Veiw Range ############################
#################################################################
# Autor - Near Fantastica
#################################################################
#Script adiciona o sistema de alcance de som.
#Para ativar o script devemos entrar no Comandos de Eventos e
#selecionar o comando script adicionando o código abaixo.
#Exemplo
###############################################
# $view_range.event_sound(1,"013-Fire01") #
###############################################
#Onde está o numero 1 é o alcance do som , e o que está entre
#haspas é o nome do arquivo de som
#NOTA I - Não coloque um valor acima de 8, pois vai dar Lags
#NOTA II - Não coloque 2 ou mais eventos um perto do outro
#vai dar lag também
#################################################################
class View_Range
#--------------------------------------------------------------------------
# ● Range system works by sereching the area of a circle for the Player's xy
# The Veiw is set in each event and is the radius of the circle
# The Eaquation used is (Px-EX)^2 + (Py-Ey)^2 = radius^2
# If the Radius is less than or equal to the View the Player is inside the circle
#--------------------------------------------------------------------------
def initialize
@playing_bgs = []
@bgs = BGS.new
@bgs.pitch = 100
@event_id = 0
@event_locial_switch = ""
@view_range = 0
@playerx = 0
@playery = 0
@eventx = 0
@eventy = 0
@event_direction = 0
end
#--------------------------------------------------------------------------
# Max Sound Effect Range is 8 units DO NOT OVER LAP
# or it will go into super lag mode you have been warned
# This is because you are trying to play 2 different sound
# effects and will cycles between them
#
# Note : This overrides the maps default sound effect
#--------------------------------------------------------------------------
def event_sound(event_id, bgs_name)
@bgs.name = bgs_name
@event_id = event_id
@playerx = $game_player.x
@playery = $game_player.y
@eventx = $game_map.events[@event_id].x
@eventy = $game_map.events[@event_id].y
@event_direction = $game_map.events[@event_id].direction
radius = (@playerx-@eventx)*(@playerx-@eventx) + (@playery-@eventy)*(@playery-@eventy)
if radius > 64
if @playing_bgs[event_id] != nil
@playing_bgs[event_id] = nil
$game_system.bgs_fade(1)
return
end
elsif radius <= 64 and radius > 49
if @playing_bgs[event_id] == nil
@bgs.volume = 30
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
end
@bgs.volume = 30
if @bgs.volume != @playing_bgs[event_id].volume or
@bgs.name != @playing_bgs[event_id].name
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
end
elsif radius <= 49 and radius > 36
@bgs.volume = 40
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius <= 36 and radius > 25
@bgs.volume = 50
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius <= 25 and radius > 16
@bgs.volume = 60
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius <= 16 and radius > 9
@bgs.volume = 70
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius <= 9 and radius > 4
@bgs.volume = 80
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius <= 4 and radius > 1
@bgs.volume = 90
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius = 1
@bgs.volume = 100
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
end
end
#--------------------------------------------------------------------------
def enemies_view(event_id, view_range, els)
@event_id = event_id
@view_range = view_range
@event_locial_switch = els
@playerx = $game_player.x
@playery = $game_player.y
@eventx = $game_map.events[@event_id].x
@eventy = $game_map.events[@event_id].y
@event_direction = $game_map.events[@event_id].direction
if @event_direction == 2
if @playery >= @eventy
radius = (@playerx-@eventx)*(@playerx-@eventx) + (@playery-@eventy)*(@playery-@eventy)
if radius <= @view_range
key=[$game_map.map_id, @event_id, @event_locial_switch]
$game_self_switches[key] = true
$game_map.need_refresh = true
end
end
end
if @event_direction == 4
if @playerx <= @eventx
radius = (@playerx-@eventx)*(@playerx-@eventx) + (@playery-@eventy)*(@playery-@eventy)
if radius <= @view_range
key=[$game_map.map_id, @event_id, @event_locial_switch]
$game_self_switches[key] = true
$game_map.need_refresh = true
end
end
end
if @event_direction == 6
if @playerx >= @eventx
radius = (@playerx-@eventx)*(@playerx-@eventx) + (@playery-@eventy)*(@playery-@eventy)
if radius <= @view_range
key=[$game_map.map_id, @event_id, @event_locial_switch]
$game_self_switches[key] = true
$game_map.need_refresh = true
end
end
end
if @event_direction == 8
if @playery <= @eventy
radius = (@playerx-@eventx)*(@playerx-@eventx) + (@playery-@eventy)*(@playery-@eventy)
if radius <= @view_range
key=[$game_map.map_id, @event_id, @event_locial_switch]
$game_self_switches[key] = true
$game_map.need_refresh = true
end
end
end
end
end
#======================================================
class Scene_Title
#--------------------------------------------------------------------------
alias vr_scene_title_update update
#--------------------------------------------------------------------------
def update
$view_range = View_Range.new
vr_scene_title_update
end
end
#======================================================
class Game_System
attr_accessor :playing_bgs
end
#======================================================
class BGS
#--------------------------------------------------------------------------
attr_accessor :name
attr_accessor :volume
attr_accessor :pitch
#--------------------------------------------------------------------------
def initialize
@name
@volume
@pitch
end
end
#======================================================
class Game_Map
#--------------------------------------------------------------------------
attr_accessor :map
end

mas não crie eventos um muito próximo do outro para não da erro. study
avatar
roberto
Admin

Mensagens : 75
Pontos : 204
Reputação : 3
Data de inscrição : 03/03/2010

Ver perfil do usuário http://morpgmaker.mo-rpg.com

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum