Показать сообщение отдельно
Старый 11.10.2020, 15:59   #7
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
Цитата:
Сообщение от Firefox3860 Посмотреть сообщение
KlassenAS, Чё, всё таки паузы нужны, как сначала было?
Ага, похоже на то. Но и мютить тоже надо, чтобы запаузенный поток от ESC не заиграл.

UPD:

Ну, что, друзья, вот вам!
По моим ощущениям - багов нет.
Кто найдёт - тот молодец )

Ver. 1.0

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

Код:
//Radio Script Ver. 1.0 11-10-2020 By KlassenAS For Kaiser
//Одна радиостанция с одним треком. 
//Поле окончания трек сбрасывается на начало.
//Этот скрипт хорош, если у Вас файл с длиннющей записью реального либо фейкового радиоэфира.
Dim_Act 1 
Dim_Flt 6
GetActivePlayer 0

//Удалить для использования в scene2.bin
//Оставить для использования с патчем от GOLOD55 
//Начало удаления
Human_GetProperty 0,0,Energy
If Flt[0]=0,-1,dan_on
Act_SetState 100,Off
Label dan_on
//Конец удаления

Let Flt[0]=0  //поток 00
Let Flt[1]=0  //логика
Let Flt[2]=-1 //сиденье/Время с начала игры/текущее время потока/
Let Flt[3]=0  //Прошлое время с начала игры
Let Flt[4]=-1 //разница во времени игры
Let Flt[5]=-1 //прошлое время потока

CommandBlock 1
Stream_Create 0,"radio\radio00.mp3"
Stream_FadeVol 0,1,0,0
CommandBlock 0

Label CHECK
CommandBlock 1
GoTo POSITION
Label CHECK_IN_CAR
CommandBlock 0
Human_GetSeatIdx 0,2
If Flt[2]=-1,CAR_OUT,CAR_IN

Label CAR_IN
If Flt[1]=0,-,CHECK
CityMusic_Off
Wait 500
Stream_Play 0
Stream_FadeVol 0,1,1,1
Let Flt[1]=1
GoTo CHECK

Label CAR_OUT
If Flt[1]=1,-1,CHECK
Stream_FadeVol 0,1,0,0
Stream_Pause 0
CityMusic_On
Let Flt[1]=0
GoTo CHECK

Label POSITION
If Flt[1]=0,CHECK_IN_CAR,-1
GetGameTime 2
Let Flt[4]=Flt[2]-Flt[3]
If Flt[4]<1000,CHECK_IN_CAR,-1
Let Flt[3]=Flt[2]
Stream_GetPos 0,2
If Flt[2]=Flt[5],RADIOEND,-1
Let Flt[5]=Flt[2]
GoTo CHECK_IN_CAR
Label RADIOEND
Let Flt[2]=0
Stream_SetPos 0,2
Let Flt[5]=-1
If Flt[1]=0,CHECK_IN_CAR,-1
Stream_Play 0
GoTo CHECK_IN_CAR
[свернуть]


Ver. 1.1

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

Код:
//Radio Script Ver. 1.1 11-10-2020 By KlassenAS
//Три радиостанции, на каждой один трек.
//Радиостанции переключаются. Также радио можно выключить.
//Поле окончания трек сбрасывается на начало.
//Этот скрипт хорош, если у Вас файл с длиннющей записью реального либо фейкового радиоэфира.
Dim_Act 1 
Dim_Flt 13
GetActivePlayer 0

//Удалить для использования в scene2.bin,
//Оставить для использования с патчем от GOLOD55 
//Начало удаления
Human_GetProperty 0,4,Energy
If Flt[4]=0,-1,dan_on
Act_SetState 100,Off
Label dan_on
//Конец удаления


Let Flt[0]=0 //поток 00
Let Flt[1]=0 //поток 01
Let Flt[2]=0 //поток 02
Let Flt[3]=0 //номер радиостанции 0-2
Let Flt[4]=0 //логика
Let Flt[5]=0 //Нажатие клавиш вперёд1 и назад1
Let Flt[6]=0 //Последний активный поток
Let Flt[7]=0 //сиденье/Время с начала игры/текущее время потока/
Let Flt[8]=0 //Прошлое время с начала игры
Let Flt[9]=0 //разница во времени игры
Let Flt[10]=-1 //прошлое время потока 0
Let Flt[11]=-1 //прошлое время потока 1
Let Flt[12]=-1 //прошлое время потока 2



CommandBlock 1
Stream_Create 0,"radio\radio00.mp3"
Stream_Fadevol 0,1,0,0

Stream_Create 1,"radio\radio01.mp3"
Stream_Fadevol 1,1,0,0

Stream_Create 2,"radio\radio02.mp3"
Stream_Fadevol 2,1,0,0

Let Flt[6]=Flt[0]
CommandBlock 0



Label CHECK
CommandBlock 1
GoTo POSITION
Label CHECK_IN_CAR
CommandBlock 0
Human_GetSeatIdx 0,7
If Flt[7]=-1,CAR_OUT,CAR_IN



Label CAR_IN
	Ctrl_Read 5,UP1
	If Flt[5]=0,-1,RADIO_UP
	Label READ_DOWN
	Ctrl_Read 5,DOWN1
	If Flt[5]=0,-1,RADIO_DOWN
Label CHECKPLAY
If Flt[4]=0,-,CHECK
CityMusic_Off
Let Flt[4]=1
Wait 500
CommandBlock 1
If Flt[3]>-1,-1,RADIO_OFF
Stream_Fadevol 0,1,0,0
Stream_Play 0
Stream_Fadevol 1,1,0,0
Stream_Play 1
Stream_Fadevol 2,1,0,0
Stream_Play 2
Stream_Fadevol 6,1,1,1
Label RADIO_OFF
CommandBlock 0
GoTo CHECK



Label CAR_OUT
If Flt[4]=1,-1,CHECK
Stream_Fadevol 6,1,0,0
Stream_Pause 0
Stream_Pause 1
Stream_Pause 2
Let Flt[4]=0
CityMusic_On
GoTo CHECK



Label RADIO_UP
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGUPTO_1
	If Flt[3]=0,-1,CHNGUPTO_2
	Let Flt[6]=Flt[1]
	GoTo RADIOPLUS
	
	Label CHNGUPTO_2
	If Flt[3]=1,-1,CHNGUPTO_0
	Let Flt[6]=Flt[2]
	GoTo RADIOPLUS	

	Label CHNGUPTO_0
	If Flt[3]=2,-1,RADIOPLUS
	Let Flt[6]=Flt[0]
	
Label RADIOPLUS
Let Flt[3]=Flt[3]+1
If Flt[3]>2,-1,CHANGEDUP
Let Flt[3]=-1
GoTo RADIO_OFF_UP
Label CHANGEDUP
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_UP
CommandBlock 0

Let Flt[7]=0
Label 3333
Ctrl_Read 5,UP1
If Flt[5]=1,-1,READ_DOWN
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,3333,-1
GoTo READ_DOWN



Label RADIO_DOWN
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGDWNTO_2
	If Flt[3]=-1,-1,CHNGDWNTO_1
	Let Flt[6]=Flt[2]
	GoTo RADIOMINUS

	Label CHNGDWNTO_1
	If Flt[3]=2,-1,CHNGDWNTO_0
	Let Flt[6]=Flt[1]
	GoTo RADIOMINUS
	
	Label CHNGDWNTO_0
	If Flt[3]=1,-1,RADIOMINUS
	Let Flt[6]=Flt[0]
	
Label RADIOMINUS
Let Flt[3]=Flt[3]-1
If Flt[3]=-1,RADIO_OFF_DOWN,-1
If Flt[3]<-1,-1,CHANGEDDOWN
Let Flt[3]=2
Label CHANGEDDOWN
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_DOWN
CommandBlock 0

Let Flt[7]=0
Label 2222
Ctrl_Read 5,DOWN1
If Flt[5]=1,-1,CHECKPLAY
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,2222,-1
GoTo CHECKPLAY



Label POSITION
If Flt[4]=0,CHECK_IN_CAR,-1
GetGameTime 7
Let Flt[9]=Flt[7]-Flt[8]
If Flt[9]<1000,CHECK_IN_CAR,-1
Let Flt[8]=Flt[7]

	Label GETPOS0
	Stream_GetPos 0,7
	If Flt[7]=Flt[10],RADIO0END,-1
	Let Flt[10]=Flt[7]
	GoTo GETPOS1
	Label RADIO0END
	Let Flt[7]=0
	Stream_SetPos 0,7
	Stream_Fadevol 0,1,0,0
	Let Flt[10]=-1
	Stream_Play 0
	If Flt[3]=0,-1,GETPOS1
	Stream_Fadevol 0,1,1,1

	Label GETPOS1
	Stream_GetPos 1,7
	If Flt[7]=Flt[11],RADIO1END,-1
	Let Flt[11]=Flt[7]
	GoTo GETPOS2
	Label RADIO1END
	Let Flt[7]=0
	Stream_SetPos 1,7
	Stream_Fadevol 1,1,0,0
	Let Flt[11]=-1
	Stream_Play 1
	If Flt[3]=1,-1,GETPOS2
	Stream_Fadevol 1,1,1,1

	Label GETPOS2
	Stream_GetPos 2,7
	If Flt[7]=Flt[12],RADIO2END,-1
	Let Flt[12]=Flt[7]
	GoTo CHECK_IN_CAR
	Label RADIO2END
	Let Flt[7]=0
	Stream_SetPos 2,7
	Stream_Fadevol 2,1,0,0
	Let Flt[12]=-1
	Stream_Play 2	
	If Flt[3]=2,-1,CHECK_IN_CAR
	Stream_Fadevol 2,1,1,1

GoTo CHECK_IN_CAR
[свернуть]


Ver. 1.2

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

Код:
//Radio Script Ver. 1.2 11-10-2020 By KlassenAS
//Три радиостанции, каждой можно присвоить ссылку на поток реального интернет-радио.
//При старте миссии игра зависнет нанесколько секунд
//Это нормально, т. к. игра лезет в интернет, чтобы загрузить аудиопоток.
//Радиостанции переключаются. Также радио можно выключить.
Dim_Act 1 
Dim_Flt 8
GetActivePlayer 0

//Удалить для использования в scene2.bin,
//Оставить для использования с патчем от GOLOD55
//Начало удаления
Human_GetProperty 0,4,Energy
If Flt[4]=0,-1,dan_on
Act_SetState 100,Off
Label dan_on
//Конец удаления


Let Flt[0]=0 //поток 00
Let Flt[1]=0 //поток 01
Let Flt[2]=0 //поток 02
Let Flt[3]=0 //номер радиостанции 0-2
Let Flt[4]=0 //логика
Let Flt[5]=0 //Нажатие клавиш вперёд1 и назад1
Let Flt[6]=0 //Последний активный поток
Let Flt[7]=0 //сиденье



Stream_Create 0,"http://airtime.joyradio.cc:8000/airtime_192.mp3"
Stream_Fadevol 0,1,0,0

Stream_Create 1,"radio\radio01.mp3"
Stream_Fadevol 1,1,0,0

Stream_Create 2,"radio\radio02.mp3"
Stream_Fadevol 2,1,0,0

Let Flt[6]=Flt[0]



Label CHECK
Human_GetSeatIdx 0,7
If Flt[7]=-1,CAR_OUT,CAR_IN



Label CAR_IN
	Ctrl_Read 5,UP1
	If Flt[5]=0,-1,RADIO_UP
	Label READ_DOWN
	Ctrl_Read 5,DOWN1
	If Flt[5]=0,-1,RADIO_DOWN
Label CHECKPLAY
If Flt[4]=0,-,CHECK
CityMusic_Off
Let Flt[4]=1
Wait 500
CommandBlock 1
If Flt[3]>-1,-1,RADIO_OFF
Stream_Fadevol 0,1,0,0
Stream_Play 0
Stream_Fadevol 1,1,0,0
Stream_Play 1
Stream_Fadevol 2,1,0,0
Stream_Play 2
Stream_Fadevol 6,1,1,1
Label RADIO_OFF
CommandBlock 0
GoTo CHECK



Label CAR_OUT
If Flt[4]=1,-1,CHECK
Stream_Fadevol 6,1,0,0
Stream_Pause 0
Stream_Pause 1
Stream_Pause 2
Let Flt[4]=0
CityMusic_On
GoTo CHECK



Label RADIO_UP
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGUPTO_1
	If Flt[3]=0,-1,CHNGUPTO_2
	Let Flt[6]=Flt[1]
	GoTo RADIOPLUS
	
	Label CHNGUPTO_2
	If Flt[3]=1,-1,CHNGUPTO_0
	Let Flt[6]=Flt[2]
	GoTo RADIOPLUS	

	Label CHNGUPTO_0
	If Flt[3]=2,-1,RADIOPLUS
	Let Flt[6]=Flt[0]
	
Label RADIOPLUS
Let Flt[3]=Flt[3]+1
If Flt[3]>2,-1,CHANGEDUP
Let Flt[3]=-1
GoTo RADIO_OFF_UP
Label CHANGEDUP
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_UP
CommandBlock 0

Let Flt[7]=0
Label 3333
Ctrl_Read 5,UP1
If Flt[5]=1,-1,READ_DOWN
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,3333,-1
GoTo READ_DOWN



Label RADIO_DOWN
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGDWNTO_2
	If Flt[3]=-1,-1,CHNGDWNTO_1
	Let Flt[6]=Flt[2]
	GoTo RADIOMINUS

	Label CHNGDWNTO_1
	If Flt[3]=2,-1,CHNGDWNTO_0
	Let Flt[6]=Flt[1]
	GoTo RADIOMINUS
	
	Label CHNGDWNTO_0
	If Flt[3]=1,-1,RADIOMINUS
	Let Flt[6]=Flt[0]
	
Label RADIOMINUS
Let Flt[3]=Flt[3]-1
If Flt[3]=-1,RADIO_OFF_DOWN,-1
If Flt[3]<-1,-1,CHANGEDDOWN
Let Flt[3]=2
Label CHANGEDDOWN
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_DOWN
CommandBlock 0

Let Flt[7]=0
Label 2222
Ctrl_Read 5,DOWN1
If Flt[5]=1,-1,CHECKPLAY
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,2222,-1
GoTo CHECKPLAY
[свернуть]


Ver. 2.0

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

Код:
//Radio Script Ver. 2.0 11-10-2020 By KlassenAS
//Четыре радиостанции, по 10 треков на каждой
//Радиостанции переключаются. Также радио можно выключить.
//При старте на каждой радиостанции случайным образом
//начинает играть один из 10 треков.
//По окончании трека, следующий выбирается так же, случайным образом.

Dim_Act 1 
Dim_Flt 19
GetActivePlayer 0

//Удалить для использования в scene2.bin,
//Оставить для использования с патчем от GOLOD55
//Начало удаления
Human_GetProperty 0,4,Energy
If Flt[4]=0,-1,dan_on
Act_SetState 100,Off
Label dan_on
//Конец удаления



Let Flt[0]=0 //поток 00
Let Flt[1]=0 //поток 01
Let Flt[2]=0 //поток 02
Let Flt[3]=0 //поток 03
Let Flt[4]=0 //логика
Let Flt[5]=0 //Нажатие клавиш вперёд1 и назад1
Let Flt[6]=0 //Последний активный поток
Let Flt[7]=0 //сиденье/Время с начала игры/текущее время потока/
Let Flt[8]=0 //Прошлое время с начала игры
Let Flt[9]=0 //номер радиостанции 0-3
Let Flt[10]=-1 //рандом для radio/разница во времени игры
Let Flt[11]=-1 //чтоб на radio00 не повторялись дважды
Let Flt[12]=-1 //чтоб на radio01 не повторялись дважды
Let Flt[13]=-1 //чтоб на radio02 не повторялись дважды
Let Flt[14]=-1 //чтоб на radio03 не повторялись дважды
Let Flt[15]=-1 //прошлое время потока 0
Let Flt[16]=-1 //прошлое время потока 1
Let Flt[17]=-1 //прошлое время потока 2
Let Flt[18]=-1 //прошлое время потока 3



CommandBlock 1
Label RADIO00CREATE
Rnd 10,10
If Flt[11]=Flt[10],RADIO00CREATE,-1
Let Flt[11]=Flt[10]

	Label TRCK0000
	If Flt[10]=0,-1,TRCK0001
	Stream_Create 0,"radio\radio 00 - 00.mp3"
	GoTo RADIO00CREATED

	Label TRCK0001
	If Flt[10]=1,-1,TRCK0002
	Stream_Create 0,"radio\radio 00 - 01.mp3"
	GoTo RADIO00CREATED

	Label TRCK0002
	If Flt[10]=2,-1,TRCK0003
	Stream_Create 0,"radio\radio 00 - 02.mp3"
	GoTo RADIO00CREATED	

	Label TRCK0003
	If Flt[10]=3,-1,TRCK0004
	Stream_Create 0,"radio\radio 00 - 03.mp3"
	GoTo RADIO00CREATED

	Label TRCK0004
	If Flt[10]=4,-1,TRCK0005
	Stream_Create 0,"radio\radio 00 - 04.mp3"
	GoTo RADIO00CREATED

	Label TRCK0005
	If Flt[10]=5,-1,TRCK0006
	Stream_Create 0,"radio\radio 00 - 05.mp3"
	GoTo RADIO00CREATED

	Label TRCK0006
	If Flt[10]=6,-1,TRCK0007
	Stream_Create 0,"radio\radio 00 - 06.mp3"
	GoTo RADIO00CREATED

	Label TRCK0007
	If Flt[10]=7,-1,TRCK0008
	Stream_Create 0,"radio\radio 00 - 07.mp3"
	GoTo RADIO00CREATED

	Label TRCK0008
	If Flt[10]=8,-1,TRCK0009
	Stream_Create 0,"radio\radio 00 - 08.mp3"
	GoTo RADIO00CREATED

	Label TRCK0009
	If Flt[10]=9,-1,RADIO00CREATED
	Stream_Create 0,"radio\radio 00 - 09.mp3"
	GoTo RADIO00CREATED

Label RADIO00CREATED
Stream_Fadevol 0,1,0,0
If Flt[15]>0,REPLAY0,-1



Label RADIO01CREATE
Rnd 10,10
If Flt[12]=Flt[10],RADIO01CREATE,-1
Let Flt[12]=Flt[10]

	Label TRCK0100
	If Flt[10]=0,-1,TRCK0101
	Stream_Create 1,"radio\radio 01 - 00.mp3"
	GoTo RADIO01CREATED

	Label TRCK0101
	If Flt[10]=1,-1,TRCK0102
	Stream_Create 1,"radio\radio 01 - 01.mp3"
	GoTo RADIO01CREATED

	Label TRCK0102
	If Flt[10]=2,-1,TRCK0103
	Stream_Create 1,"radio\radio 01 - 02.mp3"
	GoTo RADIO01CREATED	

	Label TRCK0103
	If Flt[10]=3,-1,TRCK0104
	Stream_Create 1,"radio\radio 01 - 03.mp3"
	GoTo RADIO01CREATED

	Label TRCK0104
	If Flt[10]=4,-1,TRCK0105
	Stream_Create 1,"radio\radio 01 - 04.mp3"
	GoTo RADIO01CREATED

	Label TRCK0105
	If Flt[10]=5,-1,TRCK0106
	Stream_Create 1,"radio\radio 01 - 05.mp3"
	GoTo RADIO01CREATED

	Label TRCK0106
	If Flt[10]=6,-1,TRCK0107
	Stream_Create 1,"radio\radio 01 - 06.mp3"
	GoTo RADIO01CREATED

	Label TRCK0107
	If Flt[10]=7,-1,TRCK0108
	Stream_Create 1,"radio\radio 01 - 07.mp3"
	GoTo RADIO01CREATED

	Label TRCK0108
	If Flt[10]=8,-1,TRCK0109
	Stream_Create 1,"radio\radio 01 - 08.mp3"
	GoTo RADIO01CREATED

	Label TRCK0109
	If Flt[10]=9,-1,RADIO01CREATED
	Stream_Create 1,"radio\radio 01 - 09.mp3"
	GoTo RADIO01CREATED

Label RADIO01CREATED
Stream_Fadevol 1,1,0,0
If Flt[16]>0,REPLAY1,-1



Label RADIO02CREATE
Rnd 10,10
If Flt[13]=Flt[10],RADIO02CREATE,-1
Let Flt[13]=Flt[10]

	Label TRCK0200
	If Flt[10]=0,-1,TRCK0201
	Stream_Create 2,"radio\radio 02 - 00.mp3"
	GoTo RADIO02CREATED

	Label TRCK0201
	If Flt[10]=1,-1,TRCK0202
	Stream_Create 2,"radio\radio 02 - 01.mp3"
	GoTo RADIO02CREATED

	Label TRCK0202
	If Flt[10]=2,-1,TRCK0203
	Stream_Create 2,"radio\radio 02 - 02.mp3"
	GoTo RADIO02CREATED

	Label TRCK0203
	If Flt[10]=3,-1,TRCK0204
	Stream_Create 2,"radio\radio 02 - 03.mp3"
	GoTo RADIO02CREATED

	Label TRCK0204
	If Flt[10]=4,-1,TRCK0205
	Stream_Create 2,"radio\radio 02 - 04.mp3"
	GoTo RADIO02CREATED

	Label TRCK0205
	If Flt[10]=5,-1,TRCK0206
	Stream_Create 2,"radio\radio 02 - 05.mp3"
	GoTo RADIO02CREATED

	Label TRCK0206
	If Flt[10]=6,-1,TRCK0207
	Stream_Create 2,"radio\radio 02 - 06.mp3"
	GoTo RADIO02CREATED

	Label TRCK0207
	If Flt[10]=7,-1,TRCK0208
	Stream_Create 2,"radio\radio 02 - 07.mp3"
	GoTo RADIO02CREATED

	Label TRCK0208
	If Flt[10]=8,-1,TRCK0209
	Stream_Create 2,"radio\radio 02 - 08.mp3"
	GoTo RADIO02CREATED

	Label TRCK0209
	If Flt[10]=9,-1,RADIO02CREATED
	Stream_Create 2,"radio\radio 02 - 09.mp3"
	GoTo RADIO02CREATED

Label RADIO02CREATED
Stream_Fadevol 2,1,0,0
If Flt[17]>0,REPLAY2,-1



Label RADIO03CREATE
Rnd 10,10
If Flt[14]=Flt[10],RADIO03CREATE,-1
Let Flt[14]=Flt[10]

	Label TRCK0300
	If Flt[10]=0,-1,TRCK0301
	Stream_Create 3,"radio\radio 03 - 00.mp3"
	GoTo RADIO03CREATED

	Label TRCK0301
	If Flt[10]=1,-1,TRCK0302
	Stream_Create 3,"radio\radio 03 - 01.mp3"
	GoTo RADIO03CREATED

	Label TRCK0302
	If Flt[10]=2,-1,TRCK0303
	Stream_Create 3,"radio\radio 03 - 02.mp3"
	GoTo RADIO03CREATED

	Label TRCK0303
	If Flt[10]=3,-1,TRCK0304
	Stream_Create 3,"radio\radio 03 - 03.mp3"
	GoTo RADIO03CREATED

	Label TRCK0304
	If Flt[10]=4,-1,TRCK0305
	Stream_Create 3,"radio\radio 03 - 04.mp3"
	GoTo RADIO03CREATED

	Label TRCK0305
	If Flt[10]=5,-1,TRCK0306
	Stream_Create 3,"radio\radio 03 - 05.mp3"
	GoTo RADIO03CREATED

	Label TRCK0306
	If Flt[10]=6,-1,TRCK0307
	Stream_Create 3,"radio\radio 03 - 06.mp3"
	GoTo RADIO03CREATED

	Label TRCK0307
	If Flt[10]=7,-1,TRCK0308
	Stream_Create 3,"radio\radio 03 - 07.mp3"
	GoTo RADIO03CREATED

	Label TRCK0308
	If Flt[10]=8,-1,TRCK0309
	Stream_Create 3,"radio\radio 03 - 08.mp3"
	GoTo RADIO03CREATED

	Label TRCK0309
	If Flt[10]=9,-1,RADIO03CREATED
	Stream_Create 3,"radio\radio 03 - 09.mp3"
	GoTo RADIO03CREATED

Label RADIO03CREATED
Stream_Fadevol 3,1,0,0
If Flt[18]>0,REPLAY3,-1

Let Flt[6]=Flt[0]
CommandBlock 0



Label CHECK
CommandBlock 1
GoTo POSITION
Label CHECK_IN_CAR
CommandBlock 0
Human_GetSeatIdx 0,7
If Flt[7]=-1,CAR_OUT,CAR_IN



Label CAR_IN
	Ctrl_Read 5,UP1
	If Flt[5]=0,-1,RADIO_UP
	Label READ_DOWN
	Ctrl_Read 5,DOWN1
	If Flt[5]=0,-1,RADIO_DOWN
Label CHECKPLAY
If Flt[4]=0,-,CHECK
CityMusic_Off
Let Flt[4]=1
Wait 500
CommandBlock 1
If Flt[9]>-1,-1,RADIO_OFF
Stream_FadeVol 0,1,0,0
Stream_Play 0
Stream_FadeVol 1,1,0,0
Stream_Play 1
Stream_FadeVol 2,1,0,0
Stream_Play 2
Stream_FadeVol 3,1,0,0
Stream_Play 3
Stream_FadeVol 6,1,1,1
Label RADIO_OFF
CommandBlock 0

GoTo CHECK



Label CAR_OUT
If Flt[4]=1,-1,CHECK
Stream_Fadevol 6,1,0,0
Stream_Pause 0
Stream_Pause 1
Stream_Pause 2
Stream_Pause 3
Let Flt[4]=0
CityMusic_On
GoTo CHECK



Label RADIO_UP
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGUPTO_1
	If Flt[9]=0,-1,CHNGUPTO_2
	Let Flt[6]=Flt[1]
	GoTo RADIOPLUS
	
	Label CHNGUPTO_2
	If Flt[9]=1,-1,CHNGUPTO_3
	Let Flt[6]=Flt[2]
	GoTo RADIOPLUS	

	Label CHNGUPTO_3
	If Flt[9]=2,-1,CHNGUPTO_0
	Let Flt[6]=Flt[3]
	GoTo RADIOPLUS
	
	Label CHNGUPTO_0
	If Flt[9]=3,-1,RADIOPLUS
	Let Flt[6]=Flt[0]
	
Label RADIOPLUS
Let Flt[9]=Flt[9]+1
If Flt[9]>3,-1,CHANGEDUP
Let Flt[9]=-1
GoTo RADIO_OFF_UP
Label CHANGEDUP
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_UP
CommandBlock 0

Let Flt[7]=0
Label 3333
Ctrl_Read 5,UP1
If Flt[5]=1,-1,READ_DOWN
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,3333,-1
GoTo READ_DOWN



Label RADIO_DOWN
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGDWNTO_3
	If Flt[9]=-1,-1,CHNGDWNTO_2
	Let Flt[6]=Flt[3]
	GoTo RADIOMINUS

	Label CHNGDWNTO_2
	If Flt[9]=3,-1,CHNGDWNTO_1
	Let Flt[6]=Flt[2]
	GoTo RADIOMINUS

	Label CHNGDWNTO_1
	If Flt[9]=2,-1,CHNGDWNTO_0
	Let Flt[6]=Flt[1]
	GoTo RADIOMINUS
	
	Label CHNGDWNTO_0
	If Flt[9]=1,-1,RADIOMINUS
	Let Flt[6]=Flt[0]
	
Label RADIOMINUS
Let Flt[9]=Flt[9]-1
If Flt[9]=-1,RADIO_OFF_DOWN,-1
If Flt[9]<-1,-1,CHANGEDDOWN
Let Flt[9]=3
Label CHANGEDDOWN
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_DOWN
CommandBlock 0

Let Flt[7]=0
Label 2222
Ctrl_Read 5,DOWN1
If Flt[5]=1,-1,CHECKPLAY
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,2222,-1
GoTo CHECKPLAY



Label POSITION
If Flt[4]=0,CHECK_IN_CAR,-1
GetGameTime 7
Let Flt[10]=Flt[7]-Flt[8]
If Flt[10]<1000,CHECK_IN_CAR,-1
Let Flt[8]=Flt[7]

	Label GETPOS0
	Stream_GetPos 0,7
	If Flt[7]=Flt[15],RADIO0END,-1
	Let Flt[15]=Flt[7]
	GoTo GETPOS1
	Label RADIO0END
	Stream_Fadevol 0,1,0,0
	Stream_Pause 0
	Stream_Destroy 0
	GoTo RADIO00CREATE
	Label REPLAY0
	Stream_Play 0
	Let Flt[15]=-1
	If Flt[9]=0,-1,GETPOS1
	Let Flt[6]=Flt[0]
	Stream_Fadevol 0,1,1,1

	Label GETPOS1
	Stream_GetPos 1,7
	If Flt[7]=Flt[16],RADIO1END,-1
	Let Flt[16]=Flt[7]
	GoTo GETPOS2
	Label RADIO1END
	Stream_Fadevol 1,1,0,0
	Stream_Pause 1
	Stream_Destroy 1
	GoTo RADIO01CREATE
	Label REPLAY1
	Stream_Play 1
	Let Flt[16]=-1
	If Flt[9]=1,-1,GETPOS2
	Let Flt[6]=Flt[1]
	Stream_Fadevol 1,1,1,1

	Label GETPOS2
	Stream_GetPos 2,7
	If Flt[7]=Flt[17],RADIO2END,-1
	Let Flt[17]=Flt[7]
	GoTo GETPOS3
	Label RADIO2END
	Stream_Fadevol 2,1,0,0
	Stream_Pause 2
	Stream_Destroy 2
	GoTo RADIO02CREATE
	Label REPLAY2
	Stream_Play 2
	Let Flt[17]=-1
	If Flt[9]=2,-1,GETPOS3
	Let Flt[6]=Flt[2]
	Stream_Fadevol 2,1,1,1

	Label GETPOS3
	Stream_GetPos 3,7
	If Flt[7]=Flt[18],RADIO3END,-1
	Let Flt[18]=Flt[7]
	GoTo CHECK_IN_CAR
	Label RADIO3END
	Stream_Fadevol 3,1,0,0
	Stream_Pause 3
	Stream_Destroy 3
	GoTo RADIO03CREATE
	Label REPLAY3
	Stream_Play 3
	Let Flt[18]=-1
	If Flt[9]=3,-1,CHECK_IN_CAR
	Let Flt[6]=Flt[3]
	Stream_Fadevol 3,1,1,1

GoTo CHECK_IN_CAR
[свернуть]


Единственное, что меня сейчас смущает: при выходе из машины, когда треки ставятся на паузу, не всегда срабатывает команда CityMusic_On.
Причём, чаще не срабатывает.
Хз, почему. В логике скрипта ошибки нет. Все потоки ставятся на паузу.
Капризничает )
Если кто знает, как с этим быть, расскажите, пожалуйста.

Осталось дело за малым.
Ту версию, что рассчитана на 4 станции по 10 треков, адаптировать для реализации идеи, которую предложил Abradox.

Да, кстати, Firefox3860, я нашёл прямые ссылки на mp3 десяти радиостанций, транслирующих джаз и блюз.
Самое то для "Мафии".
Но все они намертво вешают игру.
В игре нормально аботает только та ссылка на джойрадио, которую ты мне скинул.
Не знаешь, почему?

Последний раз редактировалось KlassenAS; 11.10.2020 в 17:40.
цитата
Поблагодарили: 4
Abradox (11.10.2020), EmptyBowl (12.10.2020), Firefox3860 (11.10.2020), Kaiser (11.10.2020)