Change_map_BGM
Автор: Lipton
Версия скрипта: 1.0
Версия мейкера: VX Ace
Тип: Позволяет задать массив музыкальных файлов для проигрывания на конкретной карте.
Условия использования/Лицензия: Разрешаю использовать везде.
Описание:
Скрипт для перебора музыки заданной в массиве для конкретной карты.
Настройки:
В настройках в скрипте указывается id - карты и названия музыкальных треков лежащих
в папке игры (проект\Audio\BGM)
Пример:
означает что на карте номер 1 будут проигрываться треки r1 и r2
БУДЬТЕ ВНИМАТЕЛЬНЫ С НАПИСАНИЕМ!!!
Лучше скопируйте эту строчку из примера и поменяйте там номер карты и имена
файлов музыки.
Код:
###############################################################################
# Change_map_BGM Ver. 1.00 #
###############################################################################
# Небольшой скрипт для перебора музыки играющей на карте. #
# автор: Lipton
#
# Онисание:
#
# Скрипт для перебора музыки заданной в массиве для конкретной карты.
#
# музыка перебирается при игре НО!
# если свернуть по алт+таб то музыка, на время когда окно с игрой не активно,
# продолжит играть тот трек на котором была свернута и этот трек будет повторяться
#
#-------------------------------------------------------------------------------
#
# Настройки:
#
# В настройках указывается id - карты и названия музыкальных треков лежащих
# в папке игры (\Audio\BGM)
#
# пример:
# 1 => {mus: ['r1','r2']},
#
# означает что на карте номер 1 будут проигрываться треки r1 и r2
#
# БУДЬТЕ ВНИМАТЕЛЬНЫ С НАПИСАНИЕМ!!!
# Лучше скопируйте эту строчку из примера и поменяйте там номер карты и имена
# файлов музыки.
#
#
#
###############################################################################
module MUSIC_ON_LEVEL
MUSIC = {#не удалять
###############################################################################
# Настройка музыки для карт
#------------------------------------------------------------------------------
3 => {mus: ['102-menuet','105-homeland-wagon-wheels-march','107-elegy-mysterious-shrine']},
33 => {mus: ['town6']},
#------------------------------------------------------------------------------
# Пример:
# id карты => {mus: ['музыка1','музыка2','музыка3']},
###############################################################################
}#не удалять
#
###############################################################################
end
class RPG::BGM < RPG::AudioFile
def self.poss
Audio.bgm_pos
end
end
#==============================================================================
# ** Scene_Base
#------------------------------------------------------------------------------
# This is a super class of all scenes within the game.
#==============================================================================
class Scene_Base
#--------------------------------------------------------------------------
# * Main
#--------------------------------------------------------------------------
alias main_32ohrf239vn2ng02 main
def main
@newposs = 0
@oldposs = -1
@trek = 0
main_32ohrf239vn2ng02
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
alias update_32ohrf239vn2ng02 update
def update
update_32ohrf239vn2ng02
updateposs
end
def updateposs
@oldposs = -1 if @oldposs == nil
@newposs = RPG::BGM.poss
return if @newposs == nil
return if @oldposs == nil
if @oldposs > @newposs
nextmuisc
@oldposs = -1
end
if @newposs != 0
@oldposs = @newposs
end
end
def nextmuisc
@trek = 0 if @trek == nil
map_id=$game_map.map_id
return if map_id == nil
mass = MUSIC_ON_LEVEL::MUSIC[map_id]
return if mass == nil
music = mass[:mus]
len = music.size - 1
@trek+=1
@trek = 0 if @trek > len
m = music[@trek]
RPG::BGM.new(m, 100, 100).play
end
def musclear
@newposs = 0
@oldposs = -1
@trek = 0
end
end
class Game_Map
#--------------------------------------------------------------------------
# * Automatically Switch BGM and BGS
#--------------------------------------------------------------------------
alias autoplay_32ohrf239vn2ng02 update
def autoplay
autoplay_32ohrf239vn2ng02
SceneManager.scene.musclear
mass = MUSIC_ON_LEVEL::MUSIC[@map_id]
if mass == nil
@map.bgm.play
return
end
music = mass[:mus]
m = music[0]
RPG::BGM.new(m, 100, 100).play
end
end
Скриншоты:
Это музыка какие скриншоты =)
Скачать демо:
нету
Благодарности:
Всем! =)