|
Цитата:
Сообщение от 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.
|