Показать сообщение отдельно
Старый 04.10.2020, 22:06   #21
KlassenAS вне форума KlassenAS
Аватар для KlassenAS
Senior Member
Сообщений: 341
Репутация: 285
KlassenAS is a jewel in the rough KlassenAS is a jewel in the rough KlassenAS is a jewel in the rough
Enforcer
Информация о репутации (KlassenAS)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
Detective
0
Gangster
55
Thug
100
Judge
159
KlassenAS / 285
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
Я вот ещё, чё удумал:
В реале, когда слушаешь радио, выходишь из машины, но эфир-то продолжается.
Садишься в машину и продолжаешь слушать, пропустив часть эфира.
И в Мафии 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
[свернуть]

Но тут я тоже хз, будет ли работать )
И я хз, надо ли это тебе вообще, просто Остапа понесло )
цитата
Поблагодарили: 2
Firefox3860 (04.10.2020), Kaiser (04.10.2020)