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)

Firefox3860 13.10.2020 13:15

Цитата:

Сообщение от Abradox (Сообщение 12487)
Сколько радиостанций в M1DE? Делай их столько же сколько их там.

Не знаю, все записи свалены в одну кучу. Там много записей с разговорами, если их убрать, то музыки на 2 станции должно хватить. Тогда как раз одна свободная останется.
Цитата:

Сообщение от Abradox (Сообщение 12498)
Есть возможность кинуть в папку свою музыку и ничего никуда не прописывать вручную?

Да, но имена у файлов придётся изменить под заданные скриптом.

Abradox 13.10.2020 13:35

это проще, чем прописывать в скрипте названия музыки.

KlassenAS 13.10.2020 14:29

Итак, товарищи радиолюбители!
Принимайте обновлённые версии скриптов:

Ver. 1.1 Аналог скрипта для Kaiser но с тремя радиостанциями.

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

Код:

//Radio Script Ver. 1.1 13-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]=0 //время потока 0
Let Flt[11]=0 //время потока 1
Let Flt[12]=0 //время потока 2



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
Wait 500
CommandBlock 1

        Label RADIO00CREATE
        Stream_Create 0,"radio\radio00.mp3"
        Stream_SetLoop 0,1
        Stream_Fadevol 0,1,0,0
        Stream_SetPos 0,10
        Stream_Play 0
        If Flt[3]=0,-1,RADIO00CREATED
        Let Flt[6]=Flt[0]
        Label RADIO00CREATED

        Label RADIO01CREATE
        Stream_Create 1,"radio\radio01.mp3"
        Stream_SetLoop 1,1
        Stream_Fadevol 1,1,0,0
        Stream_SetPos 1,11
        Stream_Play 1
        If Flt[3]=1,-1,RADIO01CREATED
        Let Flt[6]=Flt[1]
        Label RADIO01CREATED

        Label RADIO02CREATE
        Stream_Create 2,"radio\radio02.mp3"
        Stream_SetLoop 2,1
        Stream_Fadevol 2,1,0,0
        Stream_SetPos 2,12
        Stream_Play 2
        If Flt[3]=2,-1,RADIO02CREATED
        Let Flt[6]=Flt[2]
        Label RADIO02CREATED
       
If Flt[3]>-1,-1,RADIO_OFF
Stream_Fadevol 6,1,1,1
Label RADIO_OFF
Let Flt[4]=1
CommandBlock 0
GoTo CHECK



Label CAR_OUT
If Flt[4]=1,-1,CHECK
CommandBlock 1

Stream_GetPos 0,10
Stream_Fadevol 0,1,0,0
Stream_Pause 0
Stream_Destroy 0

Stream_GetPos 1,11
Stream_Fadevol 1,1,0,0
Stream_Pause 1
Stream_Destroy 1

Stream_GetPos 2,12
Stream_Fadevol 2,1,0,0
Stream_Pause 2
Stream_Destroy 2

Let Flt[4]=0
CityMusic_On
CommandBlock 0
GoTo CHECK



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

        Label CHNGUPTO_0
        If Flt[3]=-1,-1,CHNGUPTO_1
        Let Flt[6]=Flt[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,RADIOPLUS
        Let Flt[6]=Flt[2]

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. 1.2 Для реальных радиостанций.
Здесь лишь исправил ошибку с переключением.

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

Код:

//Radio Script Ver. 1.2 13-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_0
        If Flt[3]=-1,-1,CHNGUPTO_1
        Let Flt[6]=Flt[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,RADIOPLUS
        Let Flt[6]=Flt[2]
       
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
Она же 4х10.
Пришлось хорошенько перелопатить, чтобы запоминание/восстановление позиций потоков и номеров треков не конфликтовало с отслеживанием окончания трека и рандомизацией воспроизведения.

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

Код:

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

Dim_Act 1
Dim_Flt 20
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]=0 //прошлое время потока 0
Let Flt[16]=0 //прошлое время потока 1
Let Flt[17]=0 //прошлое время потока 2
Let Flt[18]=0 //прошлое время потока 3
Let Flt[19]=0 //для перехода на следующий трек

Rnd 11,10
Rnd 12,10
Rnd 13,10
Rnd 14,10

GoTo CHECK



Label RADIOCREATE

Label RADIO00CREATE
CommandBlock 1

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

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

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

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

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

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

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

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

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

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

Label RADIO00CREATED
Stream_SetPos 0,15
CommandBlock 0
If Flt[9]=0,-1,ISREPLAY0
Let Flt[6]=Flt[0]
Label ISREPLAY0
If Flt[19]=1,REPLAY0,-1


Label RADIO01CREATE
CommandBlock 1

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

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

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

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

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

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

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

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

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

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

Label RADIO01CREATED
Stream_SetPos 1,16
CommandBlock 0
If Flt[9]=1,-1,ISREPLAY1
Let Flt[6]=Flt[1]
Label ISREPLAY1
If Flt[19]=1,REPLAY1,-1


Label RADIO02CREATE
CommandBlock 1

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

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

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

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

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

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

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

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

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

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

Label RADIO02CREATED
Stream_SetPos 2,17
CommandBlock 0
If Flt[9]=2,-1,ISREPLAY2
Let Flt[6]=Flt[2]
Label ISREPLAY2
If Flt[19]=1,REPLAY2,-1


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

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

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

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

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

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

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

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

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

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

Label RADIO03CREATED
Stream_SetPos 3,18
CommandBlock 0
If Flt[9]=3,-1,ISREPLAY3
Let Flt[6]=Flt[3]
Label ISREPLAY3
If Flt[19]=1,REPLAY3,-1

GoTo RADIOCREATED



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
Wait 500
GoTo RADIOCREATE
Label RADIOCREATED
CommandBlock 1
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
If Flt[9]>-1,-1,RADIO_OFF
Stream_FadeVol 6,1,1,1
Label RADIO_OFF
Let Flt[4]=1
CommandBlock 0
GoTo CHECK



Label CAR_OUT
If Flt[4]=1,-1,CHECK
CommandBlock 1

Stream_GetPos 0,15
Stream_Fadevol 0,1,0,0
Stream_Pause 0
Stream_Destroy 0

Stream_GetPos 1,16
Stream_Fadevol 1,1,0,0
Stream_Pause 1
Stream_Destroy 1

Stream_GetPos 2,17
Stream_Fadevol 2,1,0,0
Stream_Pause 2
Stream_Destroy 2

Stream_GetPos 3,18
Stream_Fadevol 3,1,0,0
Stream_Pause 3
Stream_Destroy 3

Let Flt[4]=0
CityMusic_On
CommandBlock 0
GoTo CHECK



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

        Label CHNGUPTO_0
        If Flt[9]=-1,-1,CHNGUPTO_1
        Let Flt[6]=Flt[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,RADIOPLUS
        Let Flt[6]=Flt[3]

       
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]<5,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]<5,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]<500,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
        Label RAND0
        Rnd 10,10
        If Flt[11]=Flt[10],RAND0,-1
        Let Flt[11]=Flt[10]
        Let Flt[19]=1
        Let Flt[15]=0
        GoTo RADIO00CREATE
        Label REPLAY0
        CommandBlock 1
        Stream_Fadevol 0,1,0,0
        Stream_Play 0
        Let Flt[19]=0
        CommandBlock 0
        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
        Label RAND1
        Rnd 10,10
        If Flt[12]=Flt[10],RAND1,-1
        Let Flt[12]=Flt[10]
        Let Flt[19]=1
        Let Flt[16]=0
        GoTo RADIO01CREATE
        Label REPLAY1
        CommandBlock 1
        Stream_Fadevol 1,1,0,0
        Stream_Play 1
        Let Flt[19]=0
        CommandBlock 0
        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
        Label RAND2
        Rnd 10,10
        If Flt[13]=Flt[10],RAND2,-1
        Let Flt[13]=Flt[10]
        Let Flt[19]=1
        Let Flt[17]=0
        GoTo RADIO02CREATE
        Label REPLAY2
        CommandBlock 1
        Stream_Fadevol 2,1,0,0
        Stream_Play 2
        Let Flt[19]=0
        CommandBlock 0
        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
        Label RAND3
        Rnd 10,10
        If Flt[14]=Flt[10],RAND3,-1
        Let Flt[14]=Flt[10]
        Let Flt[19]=1
        Let Flt[18]=0
        GoTo RADIO03CREATE
        Label REPLAY3
        CommandBlock 1
        Stream_Fadevol 3,1,0,0
        Stream_Play 3
        Let Flt[19]=0
        CommandBlock 0
        If Flt[9]=3,-1,CHECK_IN_CAR
        Let Flt[6]=Flt[3]
        Stream_Fadevol 3,1,1,1

GoTo CHECK_IN_CAR

[свернуть]


Цитата:

Сообщение от Abradox (Сообщение 12498)
Мне хотелось бы так: музыка из Мафии, радиостанции из M1DE, папка куда можно кидать свои свою музыку.
Есть возможность кинуть в папку свою музыку и ничего никуда не прописывать вручную?

Тут неудобство в том, что в скриптах нет функций, с помощью которых можно было бы просканировать папку и получить список имён лежащих в ней файлов.
Так что все имена файлов и их количество записываются в самом скрипте.
Цитата:

Сообщение от Abradox (Сообщение 12504)
это проще, чем прописывать в скрипте названия музыки.

Как по мне, какая разница, открыв скрипт в блокноте, копипастить названия из скрипта в файлы или из файлов в скрипт?
То на то и выходит, в итоге )

KlassenAS 13.10.2020 14:31

Вложений: 1
Да простят меня админы за два сообщения подряд!
Но в одно сообщение всё не поместилось!
В качестве доказательства прикрепляю скриншот.

Ver. 2.1 для Abradox, в разработке:

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

Код:

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

Dim_Act 1
Dim_Flt 20
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]=0 //прошлое время потока 0
Let Flt[16]=0 //прошлое время потока 1
Let Flt[17]=0 //прошлое время потока 2
Let Flt[18]=0 //прошлое время потока 3
Let Flt[19]=0 //для перехода на следующий трек

Rnd 11,27
Rnd 12,10
Rnd 13,10
Rnd 14,10

GoTo CHECK



Label RADIOCREATE

Label RADIO00CREATE
CommandBlock 1

        Label TRCK0000
        If Flt[11]=0,-1,TRCK0001
        Stream_Create 0,"sounds\03_music.wav"
        GoTo RADIO00CREATED

        Label TRCK0001
        If Flt[11]=1,-1,TRCK0002
        Stream_Create 0,"sounds\10_music.wav"
        GoTo RADIO00CREATED

        Label TRCK0002
        If Flt[11]=2,-1,TRCK0003
        Stream_Create 0,"sounds\10_musicin.wav"
        GoTo RADIO00CREATED       

        Label TRCK0003
        If Flt[11]=3,-1,TRCK0004
        Stream_Create 0,"sounds\12_radio.wav"
        GoTo RADIO00CREATED

        Label TRCK0004
        If Flt[11]=4,-1,TRCK0005
        Stream_Create 0,"sounds\13b_music.wav"
        GoTo RADIO00CREATED

        Label TRCK0005
        If Flt[11]=5,-1,TRCK0006
        Stream_Create 0,"sounds\14_Coucou.wav"
        GoTo RADIO00CREATED

        Label TRCK0006
        If Flt[11]=6,-1,TRCK0007
        Stream_Create 0,"sounds\18_radio.wav"
        GoTo RADIO00CREATED

        Label TRCK0007
        If Flt[11]=7,-1,TRCK0008
        Stream_Create 0,"sounds\s_music1.wav"
        GoTo RADIO00CREATED

        Label TRCK0008
        If Flt[11]=8,-1,TRCK0009
        Stream_Create 0,"sounds\s_music2.wav"
        GoTo RADIO00CREATED

        Label TRCK0009
        If Flt[11]=9,-1,TRCK0010
        Stream_Create 0,"sounds\s_music3.wav"
        GoTo RADIO00CREATED

        Label TRCK0010
        If Flt[11]=10,-1,TRCK0011
        Stream_Create 0,"sounds\s_music5.wav"
        GoTo RADIO00CREATED

        Label TRCK0011
        If Flt[11]=11,-1,TRCK0012
        Stream_Create 0,"sounds\music\city_music_01.ogg"
        GoTo RADIO00CREATED

        Label TRCK0012
        If Flt[11]=12,-1,TRCK0013
        Stream_Create 0,"sounds\music\city_music_02.ogg"
        GoTo RADIO00CREATED

        Label TRCK0013
        If Flt[11]=13,-1,TRCK0014
        Stream_Create 0,"sounds\music\city_music_03.ogg"
        GoTo RADIO00CREATED

        Label TRCK0014
        If Flt[11]=14,-1,TRCK0015
        Stream_Create 0,"sounds\music\city_music_04.ogg"
        GoTo RADIO00CREATED

        Label TRCK0015
        If Flt[11]=15,-1,TRCK0016
        Stream_Create 0,"sounds\music\city_music_05.ogg"
        GoTo RADIO00CREATED

        Label TRCK0016
        If Flt[11]=16,-1,TRCK0017
        Stream_Create 0,"sounds\music\city_music_06.ogg"
        GoTo RADIO00CREATED

        Label TRCK0017
        If Flt[11]=17,-1,TRCK0018
        Stream_Create 0,"sounds\music\city_music_07.ogg"
        GoTo RADIO00CREATED

        Label TRCK0018
        If Flt[11]=18,-1,TRCK0019
        Stream_Create 0,"sounds\music\city_music_08.ogg"
        GoTo RADIO00CREATED

        Label TRCK0019
        If Flt[11]=19,-1,TRCK0020
        Stream_Create 0,"sounds\music\city_music_09.ogg"
        GoTo RADIO00CREATED

        Label TRCK0020
        If Flt[11]=20,-1,TRCK0021
        Stream_Create 0,"sounds\music\city_music_10.ogg"
        GoTo RADIO00CREATED

        Label TRCK0021
        If Flt[11]=21,-1,TRCK0022
        Stream_Create 0,"sounds\music\city_music_11.ogg"
        GoTo RADIO00CREATED

        Label TRCK0022
        If Flt[11]=22,-1,TRCK0023
        Stream_Create 0,"sounds\music\city_music_12.ogg"
        GoTo RADIO00CREATED

        Label TRCK0023
        If Flt[11]=23,-1,TRCK0024
        Stream_Create 0,"sounds\music\city_music_13.ogg"
        GoTo RADIO00CREATED

        Label TRCK0024
        If Flt[11]=24,-1,TRCK0025
        Stream_Create 0,"sounds\music\city_music_15.ogg"
        GoTo RADIO00CREATED

        Label TRCK0025
        If Flt[11]=25,-1,TRCK0026
        Stream_Create 0,"sounds\music\12_scene music.ogg"
        GoTo RADIO00CREATED

        Label TRCK0026
        If Flt[11]=26,-1,RADIO00CREATED
        Stream_Create 0,"sounds\music\mise02-ulicka.ogg"
        GoTo RADIO00CREATED

Label RADIO00CREATED
Stream_SetPos 0,15
CommandBlock 0
If Flt[9]=0,-1,ISREPLAY0
Let Flt[6]=Flt[0]
Label ISREPLAY0
If Flt[19]=1,REPLAY0,-1


Label RADIO01CREATE
CommandBlock 1

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

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

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

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

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

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

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

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

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

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

Label RADIO01CREATED
Stream_SetPos 1,16
CommandBlock 0
If Flt[9]=1,-1,ISREPLAY1
Let Flt[6]=Flt[1]
Label ISREPLAY1
If Flt[19]=1,REPLAY1,-1


Label RADIO02CREATE
CommandBlock 1

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

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

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

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

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

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

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

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

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

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

Label RADIO02CREATED
Stream_SetPos 2,17
CommandBlock 0
If Flt[9]=2,-1,ISREPLAY2
Let Flt[6]=Flt[2]
Label ISREPLAY2
If Flt[19]=1,REPLAY2,-1


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

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

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

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

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

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

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

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

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

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

Label RADIO03CREATED
Stream_SetPos 3,18
CommandBlock 0
If Flt[9]=3,-1,ISREPLAY3
Let Flt[6]=Flt[3]
Label ISREPLAY3
If Flt[19]=1,REPLAY3,-1

GoTo RADIOCREATED



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
Wait 500
GoTo RADIOCREATE
Label RADIOCREATED
CommandBlock 1
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
If Flt[9]>-1,-1,RADIO_OFF
Stream_FadeVol 6,1,1,1
Label RADIO_OFF
Let Flt[4]=1
CommandBlock 0
GoTo CHECK



Label CAR_OUT
If Flt[4]=1,-1,CHECK
CommandBlock 1

Stream_GetPos 0,15
Stream_Fadevol 0,1,0,0
Stream_Pause 0
Stream_Destroy 0

Stream_GetPos 1,16
Stream_Fadevol 1,1,0,0
Stream_Pause 1
Stream_Destroy 1

Stream_GetPos 2,17
Stream_Fadevol 2,1,0,0
Stream_Pause 2
Stream_Destroy 2

Stream_GetPos 3,18
Stream_Fadevol 3,1,0,0
Stream_Pause 3
Stream_Destroy 3

Let Flt[4]=0
CityMusic_On
CommandBlock 0
GoTo CHECK



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

        Label CHNGUPTO_0
        If Flt[9]=-1,-1,CHNGUPTO_1
        Let Flt[6]=Flt[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,RADIOPLUS
        Let Flt[6]=Flt[3]

       
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]<5,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]<5,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]<500,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
        Label RAND0
        Rnd 10,27
        If Flt[11]=Flt[10],RAND0,-1
        Let Flt[11]=Flt[10]
        Let Flt[19]=1
        Let Flt[15]=0
        GoTo RADIO00CREATE
        Label REPLAY0
        CommandBlock 1
        Stream_Fadevol 0,1,0,0
        Stream_Play 0
        Let Flt[19]=0
        CommandBlock 0
        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
        Label RAND1
        Rnd 10,10
        If Flt[12]=Flt[10],RAND1,-1
        Let Flt[12]=Flt[10]
        Let Flt[19]=1
        Let Flt[16]=0
        GoTo RADIO01CREATE
        Label REPLAY1
        CommandBlock 1
        Stream_Fadevol 1,1,0,0
        Stream_Play 1
        Let Flt[19]=0
        CommandBlock 0
        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
        Label RAND2
        Rnd 10,10
        If Flt[13]=Flt[10],RAND2,-1
        Let Flt[13]=Flt[10]
        Let Flt[19]=1
        Let Flt[17]=0
        GoTo RADIO02CREATE
        Label REPLAY2
        CommandBlock 1
        Stream_Fadevol 2,1,0,0
        Stream_Play 2
        Let Flt[19]=0
        CommandBlock 0
        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
        Label RAND3
        Rnd 10,10
        If Flt[14]=Flt[10],RAND3,-1
        Let Flt[14]=Flt[10]
        Let Flt[19]=1
        Let Flt[18]=0
        GoTo RADIO03CREATE
        Label REPLAY3
        CommandBlock 1
        Stream_Fadevol 3,1,0,0
        Stream_Play 3
        Let Flt[19]=0
        CommandBlock 0
        If Flt[9]=3,-1,CHECK_IN_CAR
        Let Flt[6]=Flt[3]
        Stream_Fadevol 3,1,1,1

GoTo CHECK_IN_CAR

[свернуть]

Abradox 14.10.2020 02:22

Сначала всё было нормально и скрипт работал правильно, потом я стал загружать разные миссии и муызка стала глючить.
Примерно пол секунды муызка играет, следующие пол секунды - тишина, и так постоянно чередуется, как-будто лагает.
Странный глюк, проверял скрипт 2.1

KlassenAS 14.10.2020 09:10

Цитата:

Сообщение от Abradox (Сообщение 12535)
Примерно пол секунды муызка играет, следующие пол секунды - тишина, и так постоянно чередуется, как-будто лагает

Интересно.
А после тишины трек как играл? Как после паузы? Или сначала? Или как будто во время тишины продолжал играть, но не слышно?
Какие миссии ты при этом загружал?

Я так понимаю, что нормально скрипт работал во фрирайде?

Прошёл " невозможно отказаться", "бегущий человек" и "вечеринка с коктейлями".
Подобных проблем не было.
Что было: во время погони радио играло одновременно с драматичной музыкой, которая звучит во время погони. Радио, конечно, можно отключить.
После погони, во время катсцены, когда Сэм дал Тому деньги, радио продолжало играть. Естественно, ведь Том в машине. Радио можно было выключить.
Во время миссий "бегущий человек" и "вечеринка с коктейлями" во время сохранений Том находится в машине. Радио играет, потоки сохраняются, если запороть миссию и загрузиться с сохранения, то эти потоки начинают играть.
Это проблемы естественные и предсказуемые.
А вот такого, как ты описал, не было.
Единственная мысль: а ты для второй, третьей и четвёртой радиостанции файлы в папку положил?
Если нет, то скрипт безуспешно пытался создавать потоки из несуществующих файлов, это и могло привести к подлагиванию.
В скрипте как раз с интервалом в половину секунды идёт проверка, не закончился ли трек, и если он не играет, то поток пересоздаётся.

Abradox 14.10.2020 12:16

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

Музыка как мне кажется во время тишины не играла.

Firefox3860 14.10.2020 18:01

Покатался я, значит, с музыкой из m1de, и это прекрасно :) Она очень здорово освежает атмосферу, некоторые композиции как будто там и были! :)

Обобщаю. Из 144 аудиозаписей только 48 оказались музыкой. Остальное — разговоры, новостные выпуски и т.д. Их я выкинул. Те 48 композиций я распределил по 2-м станциям (сортировал по своим ощущениям) по 24 на каждую.
Оказалось, что записи там тоже в формате ogg, в mp3 лучше не переделывать — так весят в 2 раза больше. То есть в скрипте надо будет имена им (расширения) подправить. Да и пробелы из имён лучше убрать, чтобы путаницы не было.
Количество композиций в скрипте тоже, соответственно, расширить до 24 на 2 и 3 станциях.

https://mega.nz/file/wz4XjKSa#mp8jMF...AsKjqVAuXO4wv8
100 мб.

Теперь ещё немного по скрипту.
Всё таки настаиваю на использовании для переключения станций кнопок CROUCH1 и JUMP1 вместо UP1 и DOWN1. Я часто езжу на стрелках и wasd попеременно, из-за чего часто ненамеренно переключал радио. И потом — машина так попросту тормозит и разгоняется когда не надо.

На станции citymisic есть создание потоков из wav-файлов. Они почему-то ни разу не запустились. Их выбор отключен сейчас? Всё же считаю, что их вообще надо убрать из скрипта — они для этого не предназначены (за исключением Coucou, непонятно, почему они её как wav сделали).

Ещё предлагаю реализовать задумку с отображением текста при переключении станций, потому что сейчас плохо заметен сам момент переключения. Команда console_addtext. Строки:
252 - "Music"
18970051 - "Turn off the radio"

KlassenAS, я бы всё это сам проделал, но в таком замысловатом скрипте я уже не разберусь :D Так что прошу учесть, когда будешь его ещё допиливать... Это всё, разумеется, про версию 2.1

А ещё, у тебя в notepad'е синтаксис работает, когда ты пишешь вот так, с большими буквами? Просто у меня шаблон настроен только на нижний регистр.

KlassenAS 14.10.2020 18:20

Цитата:

Сообщение от Firefox3860 (Сообщение 12551)
Из 144 аудиозаписей только 48 оказались музыкой. Остальное — разговоры, новостные выпуски и т.д. Их я выкинул. Те 48 композиций я распределил по 2-м станциям (сортировал по своим ощущениям) по 24 на каждую.
Оказалось, что записи там тоже в формате ogg, в mp3 лучше не переделывать — так весят в 2 раза больше. То есть в скрипте надо будет имена им (расширения) подправить. Да и пробелы из имён лучше убрать, чтобы путаницы не было.
Количество композиций в скрипте тоже, соответственно, расширить до 24 на 2 и 3 станциях.

https://mega.nz/file/wz4XjKSa#mp8jMF...AsKjqVAuXO4wv8
100 мб.

Спасибо! Сейчас займусь всем этим делом )

Цитата:

Сообщение от Firefox3860 (Сообщение 12551)
Теперь ещё немного по скрипту.
Всё таки настаиваю на использовании для переключения станций кнопок CROUCH1 и JUMP1 вместо UP1 и DOWN1. Я часто езжу на стрелках и wasd попеременно, из-за чего часто ненамеренно переключал радио. И потом — машина так попросту тормозит и разгоняется когда не надо.

Ладно, уговорил, сделаю на альтернативный присед и прыжок )

Цитата:

Сообщение от Firefox3860 (Сообщение 12551)
На станции citymisic есть создание потоков из wav-файлов. Они почему-то ни разу не запустились. Их выбор отключен сейчас? Всё же считаю, что их вообще надо убрать из скрипта — они для этого не предназначены (за исключением Coucou, непонятно, почему они её как wav сделали).

Странно. У меня, вроде, запускаются. Я проверю, там просто надо рандом изменить с 27 на 12, и тогда будут запускаться только они. Сразу станет понятно, играют они, или нет. А другие номера выпадать не будут.

Цитата:

Сообщение от Firefox3860 (Сообщение 12551)


Ещё предлагаю реализовать задумку с отображением текста при переключении станций, потому что сейчас плохо заметен сам момент переключения. Команда console_addtext. Строки:
252 - "Music"
18970051 - "Turn off the radio"

Спасибо. Прикрутим )
Жаль, конечно, что нет команды для вывода произвольного текста. Это было бы очень кстати.

Цитата:

Сообщение от Firefox3860 (Сообщение 12551)
А ещё, у тебя в notepad'е синтаксис работает, когда ты пишешь вот так, с большими буквами? Просто у меня шаблон настроен только на нижний регистр.

А я залез в настройки синтаксиса и поставил галочку, чтобы работало с любым регистром )

UPD: Проверил, все wav воспроизводятся без проблем. При поощи FreeRide_ScoreSet отслеживал номера треков.
Вопросы возникли к номерам 1, 2, 3 и 8. Там хромает либо качество самой записи, либо громкость, либо и то, и другое.
Это 10_music.wav, 10_musicin.wav, 12_radio.wav и s_music2.wav
Вот их, я думаю, стоило бы из списка удалить, если никто не против.
А остальные, на мой вкус, вполне себе норм.

Kaiser 14.10.2020 21:07

2 KlassenAS

Я проверил твой обновленный скрипт, все отлично работает. Сварганю теперь мини ДЛС к Angel Pine Mod. Спасибо тебе!


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

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