Mafia-Game Forum

Mafia-Game Forum (https://mafia-game.ru/forum/index.php)
-   Скриптинг (https://mafia-game.ru/forum/forumdisplay.php?f=10)
-   -   Скрипт автомобильного радио (https://mafia-game.ru/forum/showthread.php?t=1047)

KlassenAS 04.10.2020 22:06

Я вот ещё, чё удумал:
В реале, когда слушаешь радио, выходишь из машины, но эфир-то продолжается.
Садишься в машину и продолжаешь слушать, пропустив часть эфира.
И в Мафии 2 эта фича реализована.
Так что я глянул, есть команда для управления громкостью аудиопотока.

Stream_FadeVol ww, xx, yy, zz
изменить громкость стрима
ww - номер стрима
xx - время (мс) (не м.б. флт, недопустим 0)
yy - громкость1 (не м.б. флт)
zz - громкость2 (не м.б. флт)

Можно не ставить на паузу, а убрать громкость, и потом восстанавливать.
Но в описании не указано, используются ли с этой командой значения громкости, или переменные. Так же не указано, в каком диапазоне значений изменяется громкость.
Поэтому я предположил, что вместо переменных там числа и громкость от 0 до 100.
Если тебе интересна такая фича, то можешь попробовать этот экспериментальный вариант, но я хз, будет ли он вообще работать:

Развернуть для просмотра

Dim_Act 2
Dim_Flt 3
GetActivePlayer 0
FindActor 1, "fire"

Let Flt[0]=0
Let Flt[1]=0
Let Flt[2]=0 //Для паузы

Label CHECK
Wait 100
CompareOwnerWithEx 0,1,-,CAR_OUT

If Flt[0]=0,-,CHECK
CityMusic_Off
If Flt[2]=0,-1,ALREADYCREATED
Stream_Create 1, "sounds\music\fireradio.ogg"
Stream_Play 1
Label ALREADYCREATED
Stream_FadeVol 1, 200, 100, 0
Let Flt[0]=1
Wait 2000
GoTo CHECK

Label CAR_OUT
If Flt[0]=1,-,CHECK
Stream_FadeVol 1, 200, 0, 100
Let Flt[2]=1
CityMusic_On
Let Flt[0]=0
Wait 2000
GoTo CHECK
[свернуть]

Или второй вариант, из предположения, что команда использует переменные:

Развернуть для просмотра

Dim_Act 2
Dim_Flt 6
GetActivePlayer 0
FindActor 1, "fire"

Let Flt[0]=0
Let Flt[1]=0
Let Flt[2]=0 //Для паузы
Let Flt[3]=200
Let Flt[4]=0
Let Flt[5]=100

Label CHECK
Wait 100
CompareOwnerWithEx 0,1,-,CAR_OUT

If Flt[0]=0,-,CHECK
CityMusic_Off
If Flt[2]=0,-1,ALREADYCREATED
Stream_Create 1, "sounds\music\fireradio.ogg"
Stream_Play 1
Label ALREADYCREATED
Stream_FadeVol 1, 3, 5, 4
Let Flt[0]=1
Wait 2000
GoTo CHECK

Label CAR_OUT
If Flt[0]=1,-,CHECK
Stream_FadeVol 1, 3, 4, 5
Let Flt[2]=1
CityMusic_On
Let Flt[0]=0
Wait 2000
GoTo CHECK
[свернуть]

Но тут я тоже хз, будет ли работать )
И я хз, надо ли это тебе вообще, просто Остапа понесло )

Kaiser 04.10.2020 22:08

Вообще меня устраивает тот вариант, который есть, так как хочется, чтобы в итоге человек, который играет в мод, прослушал весь часовой эфир. Но тебе все равно огромное спасибо за участие!

Abradox 04.10.2020 23:40

Ребята такой полезный скрипт. Можно ли его финальную версию сделать для любой машины? Может быть потом вытащим из Мафии ДЕ радиостанции и засунем в оригинальную Мафию... Как реализовывается использование аудиофайлов? Игра подхватывает их из какой-то папки? Собственно сам скрип как реализован, в каком файле?

А можно ли отключить обычную музыку скриптом?
Есть идея сделать несколько радиостанций, на одной из которых будет играть обычная мафийная музыка.

KlassenAS 05.10.2020 00:10

Цитата:

Сообщение от Abradox (Сообщение 12229)
Можно ли его финальную версию сделать для любой машины?

Да
Цитата:

Сообщение от Abradox (Сообщение 12229)
Может быть потом вытащим из Мафии ДЕ радиостанции и засунем в оригинальную Мафию

Да
Цитата:

Сообщение от Abradox (Сообщение 12229)
Как реализовывается использование аудиофайлов? Игра подхватывает их из какой-то папки?

Специальная команда проигрывает файл. Этой команде нужно написать относительный путь к файлу и его имя, это можно увидеть в тексте скрипта.
Цитата:

Сообщение от Abradox (Сообщение 12229)
А можно ли отключить обычную музыку скриптом?

Да, и скрипт это делает.
Цитата:

Сообщение от Abradox (Сообщение 12229)
Собственно сам скрип как реализован, в каком файле?

Обычный мафиозный скрипт, воткнутый в миссионную сцену.
Цитата:

Сообщение от Abradox (Сообщение 12229)
Есть идея сделать несколько радиостанций, на одной из которых будет играть обычная мафийная музыка.

Готов к труду и обороне )
Когда приступаем?

Abradox 05.10.2020 01:38

А возможно сделать эти скрипты через asi плагин? Чтобы не модифицировать файлы миссий.

grandshot 05.10.2020 02:17

Цитата:

Сообщение от Abradox (Сообщение 12231)
А возможно сделать эти скрипты через asi плагин? Чтобы не модифицировать файлы миссий.

Можно сделать еще лучше, обращаясь непосредственно к функциям воспроизведения музыки в коде игры. Но для этого нужен толковый программист способный написать подобный хук.

Либо можно использовать старинный способ, добавив скрипт в taxi_pas.dat

Abradox 05.10.2020 02:27

В общем, если реализуете, без необходимости модифицировать файлы миссий, то честь вам и хвала.
Пусть путь ведет в папку Radio

KlassenAS 05.10.2020 08:44

Цитата:

Сообщение от Abradox (Сообщение 12231)
А возможно сделать эти скрипты через asi плагин? Чтобы не модифицировать файлы миссий.

Вот это я не умею, никогда с asi не работал.
Но для того, кто умеет, думаю, не сложно.
Цитата:

Сообщение от grandshot (Сообщение 12234)
Либо можно использовать старинный способ, добавив скрипт в taxi_pas.dat

А что там, с этим taxi_pas.dat?
Ни разу в нём не копался, но, я так понимаю, скрипты там так же устроены, как и в сценах?
Тогда и в нём можно сделать.
Можно мне краткий ликбез по taxi_pas.dat?
В нём, как я понимаю, находятся скрипты, общие для всех сцен?
Чем и как его редактировать?

GOLOD55 05.10.2020 09:58

мафияпатчер имеет файл для внешнего скрипта(опция ThunderboltCheatReplacementScriptPath = script.sc) и также функцию его активирования не только в городских-миссиях(DisableThunderboltCheatScriptMissio nCheck = 1).

KlassenAS 05.10.2020 10:29

Цитата:

Сообщение от GOLOD55 (Сообщение 12239)
мафияпатчер имеет файл для внешнего скрипта(опция ThunderboltCheatReplacementScriptPath = script.sc) и также функцию его активирования не только в городских-миссиях(DisableThunderboltCheatScriptMissio nCheck = 1).

А вот сейчас я мало что понял.
Можно объяснить, чтобы мне, неандертальцу, было понятно, что к чему?
Что за зверь этот патчер, в каком месте к нему прикручиваются скрипты, и как эти скрипты пишутся? То есть, так же, как скрипты в сценах? Или как-то иначе?


Текущее время: 06:59. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot