|
||||||||||||||||
|
|
||||||||||||||||
|
|
||||||||||||||||
|
|
#11 | |||||||
|
Senior Member Сообщений: 341
Репутация: 287
Enforcer
|
Цитата:
Я вообще сейчас 500 сделал. Хотя, можно поставить задержку не в цикле считывания, а в процедуре обработки нажатия. Тогда срабатывать будет сразу, и циклическое переключение при удержании будет работать. Спасибо, на правильную мысль навёл меня ) Цитата:
Цитата:
Цитата:
Хорошо хоть, не на ассемблере ![]() Как выделение цветом замутить? Цитата:
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. |
|||||||
| цитата |
| Поблагодарили: 3 |