|
Цитата:
Сообщение от Firefox3860
KlassenAS, А зачем в 32 строке задержка 350 мс? Можно ведь её вообще не делать, и тогда не надо будет долго держать кнопку переключения.
|
Тогда есть риск двойного срабатывания, а при удержании радиостанции переключаются слишком быстро.
Я вообще сейчас 500 сделал.
Хотя, можно поставить задержку не в цикле считывания, а в процедуре обработки нажатия. Тогда срабатывать будет сразу, и циклическое переключение при удержании будет работать.
Спасибо, на правильную мысль навёл меня )
Цитата:
Сообщение от Firefox3860
KlassenAS, Mp3 читает все, вплоть до 320 кб/с, так что можно сразу на них переписать.
|
Уже.
Цитата:
Сообщение от Firefox3860
KlassenAS, Один раз включились сразу все потоки после esc. Но чаще всего не включаются. Непонятно, от чего зависит. Может, при использовании mut'а такого не будет.
|
Уже сделал, с мютом такого нет, т. е., непрошеное воспроизведение включается, но его всё равно не слышно )
Цитата:
Сообщение от Firefox3860
KlassenAS, Ты, кстати, в чём со скриптом работаешь? У меня вот есть такая поддержка синтаксиса для Notepad++
|
В нём и работаю. Но с подсветкой синтаксиса не пробовал. Кодим по хардкору )
Хорошо хоть, не на ассемблере 
Как выделение цветом замутить?
Цитата:
Сообщение от Firefox3860
KlassenAS, А чего вам crouch1 и jump1 не нравятся?? На w и s некоторые ездят, так что они как раз используются в машине.
|
Да это, в принципе, дело вкуса. Так-то на любую функцию можно любую клавишу назначить, и тогда что угодно пересечётся )
UPD:
Внёс необходимые изменения с задержками и замютиванием потоков:
Развернуть для просмотра
Код:
Dim_Act 1
Dim_Flt 10
GetActivePlayer 0
Human_GetProperty 0,0,Energy
If Flt[0]=0,-1,dan_on
Act_SetState 100,Off
Label dan_on
Let Flt[0]=0 //логика
Let Flt[1]=0 //поток 00
Let Flt[2]=-1 //сиденье
Let Flt[3]=0 //прошлая длительность потока
Let Flt[4]=0 // текущая длительность потока
Let Flt[5]=0 //Нажатие клавиши вперёд 1
Let Flt[6]=0 //Запоминаем последний поток
Let Flt[7]=0 //Запоминаем первый поток
Let Flt[8]=0 //ещё пригодится )
Let Flt[9]=0 //номер радиостанции 0-3
CommandBlock 1
Stream_Create 1,"radio\radio00.mp3"
Stream_Fadevol 1,1,0,0
Let Flt[7]=Flt[1]
Stream_Create 1,"radio\radio01.mp3"
Stream_Fadevol 1,1,0,0
Stream_Create 1,"radio\radio02.mp3"
Stream_Fadevol 1,1,0,0
Stream_Create 1,"radio\radio03.mp3"
Stream_Fadevol 1,1,0,0
Let Flt[6]=Flt[1]
Let Flt[1]=Flt[1]-3
CommandBlock 0
Label CHECK
CommandBlock 0
Human_GetSeatIdx 0,2
If Flt[2]=-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
CommandBlock 1
If Flt[0]=0,-,CHECK
CityMusic_Off
Stream_Play 1
Stream_Fadevol 1,1,1,1
Let Flt[0]=1
CommandBlock 0
GoTo CHECK
Label CAR_OUT
CommandBlock 1
If Flt[0]=1,-,CHECK
Stream_Pause 1
Stream_Fadevol 1,1,0,0
CityMusic_On
Let Flt[0]=0
CommandBlock 0
GoTo CHECK
Label RADIO_UP
CommandBlock 1
Let Flt[5]=0
Stream_Pause 1
Stream_Fadevol 1,1,0,0
Let Flt[1]=Flt[1]+1
If Flt[1]>Flt[6],-1,CHANGEDUP
Let Flt[1]=Flt[1]-4
Label CHANGEDUP
Stream_Play 1
Stream_Fadevol 1,1,1,1
CommandBlock 0
Wait 1000
GoTo READ_DOWN
Label RADIO_DOWN
CommandBlock 1
Let Flt[5]=0
Stream_Pause 1
Stream_Fadevol 1,1,0,0
Let Flt[1]=Flt[1]-1
If Flt[1]<Flt[7],-1,CHANGEDDOWN
Let Flt[1]=Flt[1]+4
Label CHANGEDDOWN
Stream_Play 1
Stream_Fadevol 1,1,1,1
CommandBlock 0
Wait 1000
GoTo CHECKPLAY
[свернуть]
Теперь надо сделать на каждую радиостанцию несколько треков с рандомизированным порядком воспроизведения.
Но этим я завтра займусь, хватит с меня на сегодня программирования )
Последний раз редактировалось KlassenAS; 06.10.2020 в 22:29.
|