|
|||||||||||||||||
|
|||||||||||||||||
|
08.10.2020, 18:58 | #71 | ||
Mafia Modding Crew Сообщений: 672
Репутация: 739
Priest
|
|||
цитата |
Поблагодарил: |
KlassenAS (08.10.2020)
|
08.10.2020, 22:48 | #72 | ||
Mafia Modding Crew Сообщений: 229
Репутация: 241
Judge
|
2 KlassenAS
Я обнаружил баг в радио. В общем, скрипт работает идеально, как я писал выше, но когда ты сохраняешь игру, выходишь в Главное меню и после загружаешь сохранение, то когда спавнишься в игре, радио играет вокруг тебя, в окружающем мире.
__________________
Моя моддинговая страничка: https://vk.com/kaiser_edition |
||
цитата |
08.10.2020, 22:58 | #73 | |||
Senior Member Сообщений: 341
Репутация: 285
Enforcer
|
Цитата:
Так происходит, когда поток зациклен командой Stream_SetLoop. Я уже сообразил, как реализовать повтор обходным путём. Завтра скину исправленный скрипт. |
|||
цитата |
Поблагодарил: |
Kaiser (08.10.2020)
|
09.10.2020, 10:04 | #74 | ||
Mafia Modding Crew Сообщений: 672
Репутация: 739
Priest
|
Вот и распаковка музыки подоспела → https://mafia-game.ru/forum/showpost...&postcount=169
Файл с музыкой радио: \Mafia Definitive Edition\edit\audio\packages\radio_global.pck |
||
цитата |
Поблагодарил: |
KlassenAS (09.10.2020)
|
09.10.2020, 13:34 | #75 | ||
Senior Member Сообщений: 341
Репутация: 285
Enforcer
|
Ох, народ, чувствую себя японским городовым )
Итак. Я примерно понял, как работает баг с клавишей ESC При вызове меню все игровые звуки должны ставиться на паузу, а после возврата в игру, те, что не были на паузе и до того, должны снова воспроизводиться. Но код-то чешский ) Из-за этого игра некорректно отслеживает состояния потоков в скриптах. Поэтому она эти потоки то ставит на паузу, то нет. И возобновляет, когда не надо. Далее, почему после загрузки играет музон. А фишка в том, что игра помнит все работающие аудио-потоки, и из каких файлов они созданы. Поэтому, при загрузке из сохранения, игра вспоминает, что был поток, из такого-то файла сделанный, и восстанавливает. Теперь способ, как эти мафиозные выкрутасы побороть: Игра помнит не только сам поток, но и состояние всех переменных на момент сохранения. И в этих переменных лежат идентификаторы аудиопотоков. Следовательно, чтобы багов с непрошенным воспроизведением не возникало, надо в самом начале скрипта, ещё до объявления переменных, эти потоки отдестроить. CommandBlock 1 Stream_Destroy 0 Stream_Destroy 1 Stream_Destroy 2 Stream_Destroy 3 CommandBlock 0 А уже потом пускать весь основной скрипт. Если мы используем в скрипте "шапочку" от GOLOD55, чтобы внешний скрипт не работал в меню, то этот дестрой можно и до, и после "шапочки" продублировать. На всякий случай. Ещё полезно отслеживать состояние здоровья персонажа и дестроить потоки, если Томми склеил ласты. И вот при таком способе "зачистки" потоков я пока багов не заметил. Но это не точно. Может, потом ещё найдутся. P.S. Предлагаю, сообщения из этой темы, начиная с №26 перенести в отдельную тему и назвать её "Скрипт авто-радио" или как-то иначе, на усмотрение администрации. UPD: Написанному не верить. Более тщательная проверка показала, что ни шиша из этого не работает, как ожидалось. Последний раз редактировалось KlassenAS; 09.10.2020 в 18:42. |
||
цитата |
Поблагодарил: |
EmptyBowl (09.10.2020)
|
09.10.2020, 14:03 | #76 | ||
Modding Crew Сообщений: 2,699
Репутация: 1268
Councilor
|
Список музыки оригинальной Мафии.
папка Mafia/sounds/music (В стимовской и гоговской версиях эти треки отсутствуют.) city_music_01.ogg city_music_02.ogg city_music_03.ogg city_music_04.ogg city_music_05.ogg city_music_06.ogg city_music_07.ogg city_music_08.ogg city_music_09.ogg city_music_10.ogg city_music_11.ogg city_music_12.ogg city_music_13.ogg city_music_14.ogg city_music_15.ogg 12_scene music.ogg mise02-ulicka.ogg папка Mafia/sounds (В стимовской и гоговской версиях эти треки "убиты" в них записана тишина вместо муызки). 03_music.wav 10_music.wav 10_musicin.wav 12_radio.wav 13b_music.wav 14_Coucou.wav 18_radio.wav s_music1.wav s_music2.wav s_music3.wav s_music5.wav Последний раз редактировалось Abradox; 09.10.2020 в 14:05. |
||
цитата |
09.10.2020, 14:03 | #77 | |||||
Mafia Modding Crew Сообщений: 672
Репутация: 739
Priest
|
Цитата:
Цитата:
Цитата:
Эти — "неполноценные", лучше не использовать И wav, наверное, не пойдёт в стрим. Этой не существует Последний раз редактировалось Firefox3860; 09.10.2020 в 14:08. |
|||||
цитата |
09.10.2020, 14:10 | #78 | ||
Senior Member Сообщений: 341
Репутация: 285
Enforcer
|
Прикол в том, что в сохранении прописаны значения каждой переменной в каждом скрипте.
Поэтому после загрузки сохранения все эти значения восстанавливаются. И если в скрипте с именем "1" на момент сохранения в переменной 7 было значение 648, то после загрузки сохранения это значение восстановится. Соответственно, если в переменной 5 был идентификатор потока, то он там и будет. Эту фичу можно использовать для отслеживания того, начал ли игрок новую игру или загрузил сейв. Так что я сейчас ещё добавлю к дестрою дополнительную проверку, была ли загрузка из сейва. Ну да. А то опять начнут играть, когда их не просят ) Если частота дискретизации не больше 22kHz, воспроизводятся, как миленькие ) Странно, у меня существует ) Последний раз редактировалось KlassenAS; 09.10.2020 в 14:18. |
||
цитата |
Поблагодарил: |
Firefox3860 (09.10.2020)
|
09.10.2020, 14:23 | #79 | ||
Mafia Modding Crew Сообщений: 672
Репутация: 739
Priest
|
|||
цитата |
09.10.2020, 14:26 | #80 | |||
Senior Member Сообщений: 341
Репутация: 285
Enforcer
|
Цитата:
Ха! Ни фига. Я ошибся. Значение переменных не сохраняется. Но фишка с уничтожением потоков, почему-то работает. Хз, возможно, команда Stream_Destroy, в принципе, если видит некорректный идентификатор, докапывается до потоков, ранее созданных этом скрипте. Хз почему, но работает как надо. UPD: Я вообще теперь ничего не понимаю. Снова была ошибка с непрошеным воспроизведением. Хотя теперь, вроде, происходит реже. Я уже ничего не понимаю. Кто-нибудь знает способ определить в скрипте, что игрок собирается загрузиться с сохранения или выйти из миссии, чтобы перед этим отдестроить аудиопотоки? Последний раз редактировалось KlassenAS; 09.10.2020 в 15:11. |
|||
цитата |