#------------------------------------------------------------------------------- # Script de proximidad para los BGS #------------------------------------------------------------------------------- # Hace que un evento reproduzca un BGS a cierto volúmen, dependiendo de la # distancia a la que se encuentre del jugador. # Mientras más cerca esté el jugador del evento, más fuerte se escuchará, y # mientras mas lejos esté, menos se escuchará. #------------------------------------------------------------------------------- # TUTORIAL DE USO # # 1. Copia y pega todo este script arriba de Main, en el script editor. # 2. El evento del mapa que vaya a reproducir el sonido, márcalo como Paralell # process. # 3. En la ventana de comandos del evento, añade el siguiente script: # BGSproximidad.update(X, "Y") # # -Sustituye X por el numero ID del evento en el mapa # -Sustituye Y por el nombre del BGS # # 3. En la ventana de comandos del evento, luego del script, # añade un wait de unos 8 frames(Esto es para que no pete tanto el juego) # #------------------------------------------------------------------------------- #Créditos: Resel #------------------------------------------------------------------------------- module BGSproximidad VOLUMEN_MAXIMO = 100 VOLUMEN_MINIMO = 0 DISTANCIA_MAXIMA = 10 #Hasta cuantos tiles se escucha def self.update(event_id, file) source = $game_map.events[event_id] return unless source dx = ($game_player.x - source.x).abs dy = ($game_player.y - source.y).abs dist = dx + dy if dist >= DISTANCIA_MAXIMA Audio.bgs_stop #Si superas la distancia de tiles el audio se para else vol = VOLUMEN_MAXIMO - ((dist.to_f / DISTANCIA_MAXIMA) * VOLUMEN_MAXIMO).to_i vol = [[vol, VOLUMEN_MINIMO].max, VOLUMEN_MAXIMO].min Audio.bgs_play("Audio/BGS/" + file, vol, 100) end end end