Kane Опубликовано 23 апреля, 2010 Жалоба Поделиться Опубликовано 23 апреля, 2010 Еле нашел свой скрипт 3 летней давности на фр. Решил сейчас перепостить его сюда.Суть скрипта проста. Он блокирует оригинальную музыку игры и играет вашу в определенной локации бесконечное количество времени. begin musicscript short nextSong short done1 short doOnce short doOnce2 short doit short counter short state float Timer5 float timer2 float timer if ( CellChanged == 1 ) set Timer5 to 500 set done1 to 0 set doit to 0 set counter to 0 set state to 0 return endif if ( nextSong == 0 ) if ( done1 == 0 ); номер трэка set done1 to 1 StreamMusic, "Music.*"; трэк в формате mp3, ogg, midi и путь. endif endif set Timer5 to ( Timer5 + GetSecondsPassed ) if ( nextSong == 0 ); номер трэка if ( Timer5 < 370 ); время трэка return endif set nextSong to 1 ; переключатель set done1 to 0 set Timer5 to 0 endif end Ссылка на комментарий Поделиться на другие сайты Поделиться
Boma Kuro Опубликовано 23 апреля, 2010 Жалоба Поделиться Опубликовано 23 апреля, 2010 Скрипт хороший.А вот функиця StreamMusic ...ух, как же я ее ненавижу. Ссылка на комментарий Поделиться на другие сайты Поделиться
ИерихоN Опубликовано 23 апреля, 2010 Жалоба Поделиться Опубликовано 23 апреля, 2010 А разве Морр может проигрывать OGG-шную и Мидишную музыку? Ссылка на комментарий Поделиться на другие сайты Поделиться
Kane Опубликовано 23 апреля, 2010 Автор Жалоба Поделиться Опубликовано 23 апреля, 2010 Существующая информация в сети что Морровинд работает только с mp3 не есть правда, игра использует DirectShow что теоретически позволяет проигрывать музыку в любом формате. Главное чтобы у вас были кодеки этих форматов. Да и вообще mp3 не есть круто использовать в плагинах, только лишнее место тратится. Ссылка на комментарий Поделиться на другие сайты Поделиться
Moses Опубликовано 19 июня, 2010 Жалоба Поделиться Опубликовано 19 июня, 2010 А разве нельзя просто взять песню, заменить её название на песню из морроувинда и засунуть в папку, где была песня из морроувинда с таким же именем, заменить? Ссылка на комментарий Поделиться на другие сайты Поделиться
Kane Опубликовано 19 июня, 2010 Автор Жалоба Поделиться Опубликовано 19 июня, 2010 Зачем заменят оригинальную музыку? Движок Морры считывает любую музыку в формате мп3 из папки Music\Explore для проигрывания фона. Этот скриптблокирует оригинальную музыку игры и играет вашу в определенной локации Ссылка на комментарий Поделиться на другие сайты Поделиться
Moses Опубликовано 19 июня, 2010 Жалоба Поделиться Опубликовано 19 июня, 2010 а без скрипта как-нибудь просто добавить музыку в эту папку нельзя? Ссылка на комментарий Поделиться на другие сайты Поделиться
Kane Опубликовано 19 июня, 2010 Автор Жалоба Поделиться Опубликовано 19 июня, 2010 (изменено) Читай выше что я написал.Если тебе нужно чтобы проигрывался музыка везде запихни ее в Music\Explore без скрипта.Для надежности используй префикс для треков mx_explore_*.mp3 Изменено 19 июня, 2010 пользователем Kane Ссылка на комментарий Поделиться на другие сайты Поделиться
Moses Опубликовано 19 июня, 2010 Жалоба Поделиться Опубликовано 19 июня, 2010 ААААА...!!! все, понял. Спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
stas122 Опубликовано 26 августа, 2013 Жалоба Поделиться Опубликовано 26 августа, 2013 (изменено) Хм, так на что вешать скрипт то?Зы. я говорю сквозь время.Мда Изменено 26 августа, 2013 пользователем stas122 Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 26 августа, 2013 Жалоба Поделиться Опубликовано 26 августа, 2013 На какой-нибудь editor_marker. Такие можно найти, например, в Вивеке над каналами. Или же на любой другой объект, на который можно повесить скрипт. Ссылка на комментарий Поделиться на другие сайты Поделиться
DesT Опубликовано 26 августа, 2013 Жалоба Поделиться Опубликовано 26 августа, 2013 (изменено) Бестолковый скрипт какой-то. Аж целых 10 переменных. Что за Timer5, timer2, timer? Это что - отдельные таймеры на каждый трек? Нафига? И почему отсутствует рандомайзер? Вместо него жестко заданный порядок воспроизведения треков. С учетом обнуления порядка при выходе игрока из локации последние треки в списке игрок и не услышит никогда. Этим скриптом только речь, состоящую из нескольких файлов, толкать, или еще какой набор звуков, но никак не музыку проигрывать.Вот мой скрипт из мода, который я сейчас делаю. Проигрывает 4 трека в случайном порядке, один и тот же трек 2 раза подряд не повторяется. Скрипт глобальный, запускается другим глобальным скриптом. Begin DsT_Music_IceCaves short IceCaves_music short DsT_IceCaves_rand short DsT_IceCaves_rand_check float timer if ( ( getjournalindex "DsT_reloadIndex" ) != 10 ) setjournalindex "DsT_reloadIndex" 10 set IceCaves_music to 0 set DsT_IceCaves_rand_check to 0 endif if IceCaves_music == 0 set timer to 0 set DsT_IceCaves_rand to random 4 if DsT_IceCaves_rand == 0 if DsT_IceCaves_rand_check != 1 set IceCaves_music to 1 StreamMusic, "IceCaves_1.mp3" elseif DsT_IceCaves_rand_check == 1 set IceCaves_music to 2 StreamMusic, "IceCaves_2.mp3" endif elseif DsT_IceCaves_rand == 1 if DsT_IceCaves_rand_check != 2 set IceCaves_music to 2 StreamMusic, "IceCaves_2.mp3" elseif DsT_IceCaves_rand_check == 2 set IceCaves_music to 3 StreamMusic, "IceCaves_3.mp3" endif elseif DsT_IceCaves_rand == 2 if DsT_IceCaves_rand_check != 3 set IceCaves_music to 3 StreamMusic, "IceCaves_3.mp3" elseif DsT_IceCaves_rand_check == 3 set IceCaves_music to 4 StreamMusic, "IceCaves_4.mp3" endif elseif DsT_IceCaves_rand == 3 if DsT_IceCaves_rand_check != 4 set IceCaves_music to 4 StreamMusic, "IceCaves_4.mp3" elseif DsT_IceCaves_rand_check == 4 set IceCaves_music to 1 StreamMusic, "IceCaves_1.mp3" endif endif endif if IceCaves_music != 0 set timer to ( timer + GetSecondsPassed ) endif if IceCaves_music == 1 if ( timer > 403 ) set IceCaves_music to 0 set DsT_IceCaves_rand_check to 1 endif elseif IceCaves_music == 2 if ( timer > 315 ) set IceCaves_music to 0 set DsT_IceCaves_rand_check to 2 endif elseif IceCaves_music == 3 if ( timer > 358 ) set IceCaves_music to 0 set DsT_IceCaves_rand_check to 3 endif elseif IceCaves_music == 4 if ( timer > 389 ) set IceCaves_music to 0 set DsT_IceCaves_rand_check to 4 endif endif if ( DsT_locationType != 24 ) set IceCaves_music to 0 set DsT_IceCaves_rand_check to 0 stopscript DsT_Music_IceCaves endif end Где DsT_reloadIndex - добавленная в журнал запись с индексами 0 и 10. if ( ( getjournalindex "DsT_reloadIndex" ) != 10 ) обнуляет список воспроизведения при перезагрузке игры. Единственный минус - перезагрузка определяется толко полная, с выходом из игры.if ( DsT_locationType != 24 ) set IceCaves_music to 0 set DsT_IceCaves_rand_check to 0 stopscript DsT_Music_IceCaves - Останавливает скрипт при изменении кода локации, выставляемого из глобального скрипта, (например, при выходе из пещеры), если вешать скрипт на активатор, то это писать не надо. В этом случае (если активатор в интерьере) необходимо вписать в начало скрипта:if ( CellChanged == 1 ) set DsT_IceCaves_rand_check to 0 set IceCaves_music to 0 endif Upd: скрипт проапгрейжен, в случае повторного выбора трека рандомайзером проигрывается фиксированный трек, тк рандом в этом случае слишком много времени жрет.Время таймера в секундах необходимо установить на 1 с меньше, чем в плейере (если берется оттуда), т к мною был замечен конфликт - в случае одновременного запуска музыки скриптом и стандартной музыки Морра воспроизводиться будет стандартная. Изменено 29 августа, 2013 пользователем DesT Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 26 августа, 2013 Жалоба Поделиться Опубликовано 26 августа, 2013 Ну да, напрашивается рандомное воспроизведение музыки. Не понял только зачем было через журнал делать не повторение треков, можно было через переменные, но тут хозяин - барин. Ссылка на комментарий Поделиться на другие сайты Поделиться
DesT Опубликовано 26 августа, 2013 Жалоба Поделиться Опубликовано 26 августа, 2013 Ну да, напрашивается рандомное воспроизведение музыки. Не понял только зачем было через журнал делать не повторение треков, можно было через переменные, но тут хозяин - барин.Так перезагрузку игры ты через переменные не отследишь. А без этого возникнет ситуация, когда после загрузки игры таймер еще тикает, а трек-то уже не проигрывается. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти