|
||||||||||||||||
|
||||||||||||||||
|
11.11.2020, 06:35 | #241 | ||
Member Сообщений: 49
Репутация: 40
Detective
|
Есть же команда citymusic_on/off. Или я неправильно понял вопрос?
А что именно у тебя не выходит сохранить? И можно было бы все треки в один свести и запоминать/восстанавливать его позицию (хотя раньше кто-то писал вроде что оно в память трек целиком выгружает, извините, я очень быстро тред пролистывал). Та и на самом деле зачем тебе функция определения длительности трека если ты эти длительности изначально и так знаешь (ну если пользователь свои личные не закинул конечно)? |
||
цитата |
11.11.2020, 11:12 | #242 | |||||
Senior Member Сообщений: 341
Репутация: 287
Enforcer
|
Цитата:
А миссионная создаётся в игровых скриптах потоками, как и наше радио. Ты что, ещё какой-то конфликт нашёл? Скорее наоборот, проблема в том, что сохраняется то, что нам сохранять нафиг не нужно. Если во время сохранения играет поток, то игра его сохраняет. А после загрузки из сохранения, если нажать ESC, начинает их воспроизводить. Баг такой в игре, при нажатии на ESC. Четыре "радиостанции" - четыре сохранённых потока, и все могут начать играть одновременно, когда это нафиг не надо. Такая вот засада из-за особенностей сохранения и игровых багов. Из-за этого я при выключении радио вынужден запоминать позиции треков, уничтожать все потоки, и потом создавать их заново и восстанавливать позиции. Это вносит в скрипт дополнительную сложность. Ты сам скрипт почитай, тебе понравится ) Развернуть для просмотраКод:
//Radio Script Ver. 2.1 09-11-2020 By KlassenAS For Abradox Dim_Act 13 Dim_Flt 30 GetActivePlayer 0 FindActor 10 FindActor 11 FindActor 12 //Акторы 1-9 - для запоминания машин //Актор 10 - для текущей машины //Актор 11 - для прошлой машины //Актор 12 - данный скрипт Human_GetProperty 0,4,Energy If Flt[4]=0,-1,dan_on Act_SetState 100,Off Label dan_on CityMusic_Off //ПЕРЕМЕННЫЕ: //0-3 - идентификаторы потоков //4 - Логика //5 - Нажатие клавиш вперёд1 и назад1 //6 - Последний активный поток //7 - Сиденье/Время с начала игры/текущее время потока/ //8 - Прошлое время с начала игры //Номер радиостанции //9 - Номер играющей радиостанции //10 - Рандом для radio/разница во времени игры //11-14 - Номера треков на радиостанциях 0 - 3 //15-18 - для позиций потоков 0-3 //19 - Логика запоминания тачек //20 - Для перехода к меткам треков //21-29 - Номера радиостанций в запомненных тачках 1-9 Let Flt[4]=0 Vect_Set 9,-1,-1,-1 Vect_Set 21,-1,-1,-1 Vect_Set 24,-1,-1,-1 Vect_Set 27,-1,-1,-1 Rnd 11,23 Rnd 12,24 Rnd 13,24 Rnd 14,27 Rnd 15,300000 Rnd 16,300000 Rnd 17,300000 Rnd 18,300000 GoTo CHECK Label RADIOCREATE GoSub RADIO00CREATE GoSub RADIO01CREATE GoSub RADIO02CREATE GoSub RADIO03CREATE Return Label RADIO00CREATE CommandBlock 1 Let Flt[20]=Flt[11]+100000 GoTo Flt[20] Label 100000 Stream_Create 0,"sounds\03_music.wav" GoTo RADIO00CREATED Label 100001 Stream_Create 0,"sounds\13b_music.wav" GoTo RADIO00CREATED Label 100002 Stream_Create 0,"sounds\14_Coucou.wav" GoTo RADIO00CREATED Label 100003 Stream_Create 0,"sounds\18_radio.wav" GoTo RADIO00CREATED Label 100004 Stream_Create 0,"sounds\s_music1.wav" GoTo RADIO00CREATED Label 100005 Stream_Create 0,"sounds\s_music3.wav" GoTo RADIO00CREATED Label 100006 Stream_Create 0,"sounds\s_music5.wav" GoTo RADIO00CREATED Label 100007 Stream_Create 0,"sounds\music\city_music_01.ogg" GoTo RADIO00CREATED Label 100008 Stream_Create 0,"sounds\music\city_music_02.ogg" GoTo RADIO00CREATED Label 100009 Stream_Create 0,"sounds\music\city_music_03.ogg" GoTo RADIO00CREATED Label 100010 Stream_Create 0,"sounds\music\city_music_04.ogg" GoTo RADIO00CREATED Label 100011 Stream_Create 0,"sounds\music\city_music_05.ogg" GoTo RADIO00CREATED Label 100012 Stream_Create 0,"sounds\music\city_music_06.ogg" GoTo RADIO00CREATED Label 100013 Stream_Create 0,"sounds\music\city_music_07.ogg" GoTo RADIO00CREATED Label 100014 Stream_Create 0,"sounds\music\city_music_08.ogg" GoTo RADIO00CREATED Label 100015 Stream_Create 0,"sounds\music\city_music_09.ogg" GoTo RADIO00CREATED Label 100016 Stream_Create 0,"sounds\music\city_music_10.ogg" GoTo RADIO00CREATED Label 100017 Stream_Create 0,"sounds\music\city_music_11.ogg" GoTo RADIO00CREATED Label 100018 Stream_Create 0,"sounds\music\city_music_12.ogg" GoTo RADIO00CREATED Label 100019 Stream_Create 0,"sounds\music\city_music_13.ogg" GoTo RADIO00CREATED Label 100020 Stream_Create 0,"sounds\music\city_music_15.ogg" GoTo RADIO00CREATED Label 100021 Stream_Create 0,"sounds\music\12_scene music.ogg" GoTo RADIO00CREATED Label 100022 Stream_Create 0,"sounds\music\mise02-ulicka.ogg" GoTo RADIO00CREATED Label RADIO00CREATED Stream_SetPos 0,15 If Flt[9]=0,-1,CREATED00 Let Flt[6]=Flt[0] Label CREATED00 CommandBlock 0 Return Label RADIO01CREATE CommandBlock 1 Let Flt[20]=Flt[12]+100100 GoTo Flt[20] Label 100100 Stream_Create 1,"radio\radio01-00.ogg" GoTo RADIO01CREATED Label 100101 Stream_Create 1,"radio\radio01-01.ogg" GoTo RADIO01CREATED Label 100102 Stream_Create 1,"radio\radio01-02.ogg" GoTo RADIO01CREATED Label 100103 Stream_Create 1,"radio\radio01-03.ogg" GoTo RADIO01CREATED Label 100104 Stream_Create 1,"radio\radio01-04.ogg" GoTo RADIO01CREATED Label 100105 Stream_Create 1,"radio\radio01-05.ogg" GoTo RADIO01CREATED Label 100106 Stream_Create 1,"radio\radio01-06.ogg" GoTo RADIO01CREATED Label 100107 Stream_Create 1,"radio\radio01-07.ogg" GoTo RADIO01CREATED Label 100108 Stream_Create 1,"radio\radio01-08.ogg" GoTo RADIO01CREATED Label 100109 Stream_Create 1,"radio\radio01-09.ogg" GoTo RADIO01CREATED Label 100110 Stream_Create 1,"radio\radio01-10.ogg" GoTo RADIO01CREATED Label 100111 Stream_Create 1,"radio\radio01-11.ogg" GoTo RADIO01CREATED Label 100112 Stream_Create 1,"radio\radio01-12.ogg" GoTo RADIO01CREATED Label 100113 Stream_Create 1,"radio\radio01-13.ogg" GoTo RADIO01CREATED Label 100114 Stream_Create 1,"radio\radio01-14.ogg" GoTo RADIO01CREATED Label 100115 Stream_Create 1,"radio\radio01-15.ogg" GoTo RADIO01CREATED Label 100116 Stream_Create 1,"radio\radio01-16.ogg" GoTo RADIO01CREATED Label 100117 Stream_Create 1,"radio\radio01-17.ogg" GoTo RADIO01CREATED Label 100118 Stream_Create 1,"radio\radio01-18.ogg" GoTo RADIO01CREATED Label 100119 Stream_Create 1,"radio\radio01-19.ogg" GoTo RADIO01CREATED Label 100120 Stream_Create 1,"radio\radio01-20.ogg" GoTo RADIO01CREATED Label 100121 Stream_Create 1,"radio\radio01-21.ogg" GoTo RADIO01CREATED Label 100122 Stream_Create 1,"radio\radio01-22.ogg" GoTo RADIO01CREATED Label 100123 Stream_Create 1,"radio\radio01-23.ogg" GoTo RADIO01CREATED Label RADIO01CREATED Stream_SetPos 1,16 If Flt[9]=1,-1,CREATED01 Let Flt[6]=Flt[1] Label CREATED01 CommandBlock 0 Return Label RADIO02CREATE CommandBlock 1 Let Flt[20]=Flt[13]+100200 GoTo Flt[20] Label 100200 Stream_Create 2,"radio\radio02-00.ogg" GoTo RADIO02CREATED Label 100201 Stream_Create 2,"radio\radio02-01.ogg" GoTo RADIO02CREATED Label 100202 Stream_Create 2,"radio\radio02-02.ogg" GoTo RADIO02CREATED Label 100203 Stream_Create 2,"radio\radio02-03.ogg" GoTo RADIO02CREATED Label 100204 Stream_Create 2,"radio\radio02-04.ogg" GoTo RADIO02CREATED Label 100205 Stream_Create 2,"radio\radio02-05.ogg" GoTo RADIO02CREATED Label 100206 Stream_Create 2,"radio\radio02-06.ogg" GoTo RADIO02CREATED Label 100207 Stream_Create 2,"radio\radio02-07.ogg" GoTo RADIO02CREATED Label 100208 Stream_Create 2,"radio\radio02-08.ogg" GoTo RADIO02CREATED Label 100209 Stream_Create 2,"radio\radio02-09.ogg" GoTo RADIO02CREATED Label 100210 Stream_Create 2,"radio\radio02-10.ogg" GoTo RADIO02CREATED Label 100211 Stream_Create 2,"radio\radio02-11.ogg" GoTo RADIO02CREATED Label 100212 Stream_Create 2,"radio\radio02-12.ogg" GoTo RADIO02CREATED Label 100213 Stream_Create 2,"radio\radio02-13.ogg" GoTo RADIO02CREATED Label 100214 Stream_Create 2,"radio\radio02-14.ogg" GoTo RADIO02CREATED Label 100215 Stream_Create 2,"radio\radio02-15.ogg" GoTo RADIO02CREATED Label 100216 Stream_Create 2,"radio\radio02-16.ogg" GoTo RADIO02CREATED Label 100217 Stream_Create 2,"radio\radio02-17.ogg" GoTo RADIO02CREATED Label 100218 Stream_Create 2,"radio\radio02-18.ogg" GoTo RADIO02CREATED Label 100219 Stream_Create 2,"radio\radio02-19.ogg" GoTo RADIO02CREATED Label 100220 Stream_Create 2,"radio\radio02-20.ogg" GoTo RADIO02CREATED Label 100221 Stream_Create 2,"radio\radio02-21.ogg" GoTo RADIO02CREATED Label 100222 Stream_Create 2,"radio\radio02-22.ogg" GoTo RADIO02CREATED Label 100223 Stream_Create 2,"radio\radio02-23.ogg" GoTo RADIO02CREATED Label RADIO02CREATED Stream_SetPos 2,17 If Flt[9]=2,-1,CREATED02 Let Flt[6]=Flt[2] Label CREATED02 CommandBlock 0 Return Label RADIO03CREATE CommandBlock 1 Let Flt[20]=Flt[14]+100300 GoTo Flt[20] Label 100300 Stream_Create 3,"radio\radio03-00.mp3" GoTo RADIO03CREATED Label 100301 Stream_Create 3,"radio\radio03-01.mp3" GoTo RADIO03CREATED Label 100302 Stream_Create 3,"radio\radio03-02.mp3" GoTo RADIO03CREATED Label 100303 Stream_Create 3,"radio\radio03-03.mp3" GoTo RADIO03CREATED Label 100304 Stream_Create 3,"radio\radio03-04.mp3" GoTo RADIO03CREATED Label 100305 Stream_Create 3,"radio\radio03-05.mp3" GoTo RADIO03CREATED Label 100306 Stream_Create 3,"radio\radio03-06.mp3" GoTo RADIO03CREATED Label 100307 Stream_Create 3,"radio\radio03-07.mp3" GoTo RADIO03CREATED Label 100308 Stream_Create 3,"radio\radio03-08.mp3" GoTo RADIO03CREATED Label 100309 Stream_Create 3,"radio\radio03-09.mp3" GoTo RADIO03CREATED Label 100310 Stream_Create 3,"radio\radio03-10.mp3" GoTo RADIO03CREATED Label 100311 Stream_Create 3,"radio\radio03-11.mp3" GoTo RADIO03CREATED Label 100312 Stream_Create 3,"radio\radio03-12.mp3" GoTo RADIO03CREATED Label 100313 Stream_Create 3,"radio\radio03-13.mp3" GoTo RADIO03CREATED Label 100314 Stream_Create 3,"radio\radio03-14.mp3" GoTo RADIO03CREATED Label 100315 Stream_Create 3,"radio\radio03-15.mp3" GoTo RADIO03CREATED Label 100316 Stream_Create 3,"radio\radio03-16.mp3" GoTo RADIO03CREATED Label 100317 Stream_Create 3,"radio\radio03-17.mp3" GoTo RADIO03CREATED Label 100318 Stream_Create 3,"radio\radio03-18.mp3" GoTo RADIO03CREATED Label 100319 Stream_Create 3,"radio\radio03-19.mp3" GoTo RADIO03CREATED Label 100320 Stream_Create 3,"radio\radio03-20.mp3" GoTo RADIO03CREATED Label 100321 Stream_Create 3,"radio\radio03-21.mp3" GoTo RADIO03CREATED Label 100322 Stream_Create 3,"radio\radio03-22.mp3" GoTo RADIO03CREATED Label 100323 Stream_Create 3,"radio\radio03-23.mp3" GoTo RADIO03CREATED Label 100324 Stream_Create 3,"radio\radio03-24.mp3" GoTo RADIO03CREATED Label 100325 Stream_Create 3,"radio\radio03-25.mp3" GoTo RADIO03CREATED Label 100326 Stream_Create 3,"radio\radio03-26.mp3" GoTo RADIO03CREATED Label RADIO03CREATED Stream_SetPos 3,18 If Flt[9]=3,-1,CREATED03 Let Flt[6]=Flt[3] Label CREATED03 CommandBlock 0 Return Label CHECK CommandBlock 1 GoSub POSITION CommandBlock 0 Human_GetSeatIdx 0,7 If Flt[7]=-1,CAR_OUT,CAR_IN Label CAR_IN Ctrl_Read 5,JUMP1 If Flt[5]=0,-1,RADIO_UP Label READ_DOWN Ctrl_Read 5,CROUCH1 If Flt[5]=0,-1,RADIO_DOWN Label CHECKPLAY If Flt[4]=0,-,CHECK Wait 500 GoSub RADIO_READ If Flt[9]>-1,-1,RADIO_OFF GoSub RADIOCREATE GoSub RADIO_PLAY Let Flt[20]=Flt[9]+2000 GoSub Flt[20] Label RADIO_OFF If Flt[9]=-1,-1,ADIRDA Console_AddText 90000000 Label ADIRDA Let Flt[4]=1 GoTo CHECK Label CAR_OUT If Flt[4]=1,-1,CHECK CommandBlock 1 If Flt[9]>-1,-1,NO_DESTROY GoSub RADIO_DESTROY Label NO_DESTROY Let Flt[4]=0 GoSub RADIO_SAVE CommandBlock 0 GoTo CHECK Label RADIO_UP CommandBlock 1 If Flt[9]=-1,-1,CHANGEUP GoSub RADIOCREATE GoSub RADIO_PLAY Label CHANGEUP Stream_Fadevol 6,1,0,0 Let Flt[9]=Flt[9]+1 If Flt[9]>3,-1,CHANGEDUP Let Flt[9]=-1 Label CHANGEDUP Let Flt[20]=Flt[9]+2000 GoSub Flt[20] CommandBlock 0 Let Flt[7]=0 Label 3333 Ctrl_Read 5,JUMP1 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 If Flt[9]=-1,-1,CHANGEDOWN GoSub RADIOCREATE GoSub RADIO_PLAY Label CHANGEDOWN Stream_Fadevol 6,1,0,0 Let Flt[9]=Flt[9]-1 If Flt[9]<-1,-1,CHANGEDDOWN Let Flt[9]=3 Label CHANGEDDOWN Let Flt[20]=Flt[9]+2000 GoSub Flt[20] CommandBlock 0 Let Flt[7]=0 Label 2222 Ctrl_Read 5,CROUCH1 If Flt[5]=1,-1,CHECKPLAY Wait 200 Let Flt[7]=Flt[7]+1 If Flt[7]<5,2222,-1 GoTo CHECKPLAY Label 1999 GoSub RADIO_DESTROY Console_AddText 90000000 Return Label 2000 Let Flt[6]=Flt[0] Stream_Fadevol 6,1,1,1 Console_AddText 90000001 Return Label 2001 Let Flt[6]=Flt[1] Stream_Fadevol 6,1,1,1 Console_AddText 90000002 Return Label 2002 Let Flt[6]=Flt[2] Stream_Fadevol 6,1,1,1 Console_AddText 90000003 Return Label 2003 Let Flt[6]=Flt[3] Stream_Fadevol 6,1,1,1 Console_AddText 90000004 Return Label RADIO_PLAY 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 CommandBlock 0 Return Label RADIO_DESTROY 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 CommandBlock 0 Return Label POSITION If Flt[4]=0,POSITION_END,-1 If Flt[9]=-1,POSITION_END,-1 GetGameTime 7 Let Flt[10]=Flt[7]-Flt[8] If Flt[10]<500,POSITION_END,-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,23 If Flt[11]=Flt[10],RAND0,-1 Let Flt[11]=Flt[10] Let Flt[19]=1 Let Flt[15]=0 GoSub RADIO00CREATE 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,24 If Flt[12]=Flt[10],RAND1,-1 Let Flt[12]=Flt[10] Let Flt[19]=1 Let Flt[16]=0 GoSub RADIO01CREATE 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,24 If Flt[13]=Flt[10],RAND2,-1 Let Flt[13]=Flt[10] Let Flt[19]=1 Let Flt[17]=0 GoSub RADIO02CREATE 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 POSITION_END Label RADIO3END Stream_Fadevol 3,1,0,0 Stream_Pause 3 Stream_Destroy 3 Label RAND3 Rnd 10,27 If Flt[14]=Flt[10],RAND3,-1 Let Flt[14]=Flt[10] Let Flt[19]=1 Let Flt[18]=0 GoSub RADIO03CREATE CommandBlock 1 Stream_Fadevol 3,1,0,0 Stream_Play 3 Let Flt[19]=0 CommandBlock 0 If Flt[9]=3,-1,POSITION_END Let Flt[6]=Flt[3] Stream_Fadevol 3,1,1,1 Label POSITION_END Return Label RADIO_READ CommandBlock 1 Let Flt[19]=0 FindNearActor 0,10,Car CompareActors 11,12,7 If Flt[7]=0,-1,NORANDOMRADIO CompareActors 10,11,7 If Flt[7]=0,-1,NORANDOMRADIO Rnd 9,5 Let Flt[9]=Flt[9]-1 Label NORANDOMRADIO CompareActors 10,11,7 Set_Remote_Actor 10,12,11 If Flt[7]=0,-1,RADIO_READED Label COMPARE_ENT1 CompareActors 10,1,7 If Flt[7]=1,-1,COMPARE_ENT2 Let Flt[9]=Flt[21] Let Flt[19]=1 GoTo COMPARE_ENT0 Label COMPARE_ENT2 CompareActors 10,2,7 If Flt[7]=1,-1,COMPARE_ENT3 Let Flt[9]=Flt[22] Let Flt[19]=1 GoTo COMPARE_ENT0 Label COMPARE_ENT3 CompareActors 10,3,7 If Flt[7]=1,-1,COMPARE_ENT4 Let Flt[9]=Flt[23] Let Flt[19]=1 GoTo COMPARE_ENT0 Label COMPARE_ENT4 CompareActors 10,4,7 If Flt[7]=1,-1,COMPARE_ENT5 Let Flt[9]=Flt[24] Let Flt[19]=1 GoTo COMPARE_ENT0 Label COMPARE_ENT5 CompareActors 10,5,7 If Flt[7]=1,-1,COMPARE_ENT6 Let Flt[9]=Flt[25] Let Flt[19]=1 GoTo COMPARE_ENT0 Label COMPARE_ENT6 CompareActors 10,6,7 If Flt[7]=1,-1,COMPARE_ENT7 Let Flt[9]=Flt[26] Let Flt[19]=1 GoTo COMPARE_ENT0 Label COMPARE_ENT7 CompareActors 10,7,7 If Flt[7]=1,-1,COMPARE_ENT8 Let Flt[9]=Flt[27] Let Flt[19]=1 GoTo COMPARE_ENT0 Label COMPARE_ENT8 CompareActors 10,8,7 If Flt[7]=1,-1,COMPARE_ENT9 Let Flt[9]=Flt[28] Let Flt[19]=1 GoTo COMPARE_ENT0 Label COMPARE_ENT9 CompareActors 10,9,7 If Flt[7]=1,-1,COMPARE_ENT0 Let Flt[9]=Flt[29] Let Flt[19]=1 GoTo COMPARE_ENT0 Label COMPARE_ENT0 If Flt[19]=1,RADIO_READED,-1 GoSub RADIO_WRITE Label RADIO_READED CommandBlock 0 Return Label RADIO_SAVE CommandBlock 1 Label COMPARE_EXIT1 CompareActors 10,1,7 If Flt[7]=1,-1,COMPARE_EXIT2 Let Flt[21]=Flt[9] GoTo COMPARE_EXIT0 Label COMPARE_EXIT2 CompareActors 10,2,7 If Flt[7]=1,-1,COMPARE_EXIT3 Let Flt[22]=Flt[9] GoTo COMPARE_EXIT0 Label COMPARE_EXIT3 CompareActors 10,3,7 If Flt[7]=1,-1,COMPARE_EXIT4 Let Flt[23]=Flt[9] GoTo COMPARE_EXIT0 Label COMPARE_EXIT4 CompareActors 10,4,7 If Flt[7]=1,-1,COMPARE_EXIT5 Let Flt[24]=Flt[9] GoTo COMPARE_EXIT0 Label COMPARE_EXIT5 CompareActors 10,5,7 If Flt[7]=1,-1,COMPARE_EXIT6 Let Flt[25]=Flt[9] GoTo COMPARE_EXIT0 Label COMPARE_EXIT6 CompareActors 10,6,7 If Flt[7]=1,-1,COMPARE_EXIT7 Let Flt[26]=Flt[9] GoTo COMPARE_EXIT0 Label COMPARE_EXIT7 CompareActors 10,7,7 If Flt[7]=1,-1,COMPARE_EXIT8 Let Flt[27]=Flt[9] GoTo COMPARE_EXIT0 Label COMPARE_EXIT8 CompareActors 10,8,7 If Flt[7]=1,-1,COMPARE_EXIT9 Let Flt[28]=Flt[9] GoTo COMPARE_EXIT0 Label COMPARE_EXIT9 CompareActors 10,9,7 If Flt[7]=1,-1,COMPARE_EXIT0 Let Flt[29]=Flt[9] GoTo COMPARE_EXIT0 Label COMPARE_EXIT0 CommandBlock 0 Return Label RADIO_WRITE CommandBlock 1 Set_Remote_Actor 8,12,9 Let Flt[29]=Flt[28] Set_Remote_Actor 7,12,8 Let Flt[28]=Flt[27] Set_Remote_Actor 6,12,7 Let Flt[27]=Flt[26] Set_Remote_Actor 5,12,6 Let Flt[26]=Flt[25] Set_Remote_Actor 4,12,5 Let Flt[25]=Flt[24] Set_Remote_Actor 3,12,4 Let Flt[24]=Flt[23] Set_Remote_Actor 2,12,3 Let Flt[23]=Flt[22] Set_Remote_Actor 1,12,2 Let Flt[22]=Flt[21] Set_Remote_Actor 10,12,1 Let Flt[21]=Flt[9] CommandBlock 0 Return [свернуть] Цитата:
У нас и так со сборкой модов движок большой объём памяти использует, а тут ещё четыре двухчасовых аудиозаписи в памяти. Оно нам надо? Лучше отдельными треками. А ещё FreeRide Extended тоже память жрёт как бегемот) Цитата:
Плюс, порядок воспроизведения треков рандомизирован. Последний раз редактировалось KlassenAS; 11.11.2020 в 12:30. |
|||||
цитата |
11.11.2020, 14:20 | #243 | ||
Modding Crew Сообщений: 2,759
Репутация: 1311
Councilor
|
|||
цитата |
14.11.2020, 01:54 | #244 | ||
VIP Сообщений: 100
Репутация: 152
Thug
|
...переложить радиво со скрипта в asi?
Теоретичски, гутт, ибо может убрать опр. сложности и ограничения, ога. Но, сдается мине, енто непросто. компилить скрипт в ассемблер_код - архисложно и малоосмысленно, но вот если логику писать свою в длл и на, напр, с++, то может быть все намного проще: тада всю кухню с потоками можно иметь свою(а также хнопичное управление ею в игре), а от игры требуется совсем немного - лишь несколько фильтров а-ля "is Tommy in car"(с подобным я могу помочь). |
||
цитата |
14.11.2020, 12:02 | #245 | |||
Senior Member Сообщений: 341
Репутация: 287
Enforcer
|
Цитата:
Правда, я только в Delphi умею. Для меня основная загвоздка именно в том, что я не имею ни малейшего понятия о том, как из своей dll к акторам доступ получить. Чтобы, например, последние несколько машин запоминать, как я это в скрипте сделал, и проверять нахождение Томми в машине. CityMusic_Off, опять же. А так-то всё, что связано с воспроизведением музыки сделать легче лёгкого. Дефолтных функций Delphi хватит за глаза. UPD: погуглил, на C++ тоже вроде не сложно ) Последний раз редактировалось KlassenAS; 14.11.2020 в 12:42. |
|||
цитата |
14.11.2020, 14:46 | #246 | ||
Mafia Modding Crew Сообщений: 687
Репутация: 771
Priest
|
Если скрипт пока не будет меняться, хочу опубликовать мод 2.1 на одном популярном англоязычном ресурсе (описание переведу сам). И, может быть, на mafiascene потом. Ты не против?
mp3-проигрыватель на с++ это интересно, хотел бы посмотреть |
||
цитата |
14.11.2020, 15:59 | #247 | |||
Senior Member Сообщений: 341
Репутация: 287
Enforcer
|
Цитата:
Валяй, публикуй, только благодарен буду! Да хоть на С++, хоть на Delphi, есть дефолтные виндовские библиотеки и функции, к которым можно обратиться, чтобы это реализовать. Последний раз редактировалось KlassenAS; 14.11.2020 в 16:09. |
|||
цитата |
14.11.2020, 16:53 | #248 | ||
Mafia Modding Crew Сообщений: 687
Репутация: 771
Priest
|
Не, (кто такой етот ваш нексус?) в дискорде сервер MafiaHub, мож кто знает, там многим зайдёт, думаю.
Ну да. А ведь сама Мафия это и есть mp3-проигрыватель на с++ |
||
цитата |
15.11.2020, 13:39 | #249 | ||
Senior Member Сообщений: 341
Репутация: 287
Enforcer
|
Товарищи, нужен совет!
Начал писать asi плагин для нашего радио. Писать начал на своём родном Delphi, т. к. его я знаю лучше, чем С++ Оказался перед выбором ) Вариант 1, более простой - использовать для воспроизведения музыки стандартный компонент Delphi. Но тогда можно будет использовать только MP3. Вариант 2 - использовать библиотеку bass.dll, можно будет играть любой формат, и не сказать, чтобы это слишком сложно. Но тогда вместе с asi придётся ещё bass.dll использовать. Писать dll, чтобы из неё обращаться к другой dll это довольно забавно ) Так с обработкой нажатий клавиш уже разобрался, сейчас мой несчастный asi включает/выключает музыку по нажатию клавиши. Ну и да, как-то нужно определять, находится ли Томми в тачке, и как-то вырубать CityMusic. Без этого создание плагина лишено смысла. Задумки по этому плагину у меня монументальные, но для начала надо, чтобы он, в принципе, работал. Последний раз редактировалось KlassenAS; 15.11.2020 в 13:53. |
||
цитата |
Поблагодарили: 3 |
15.11.2020, 14:16 | #250 | ||
Modding Crew Сообщений: 2,759
Репутация: 1311
Councilor
|
Вариант 2 предпочтительнее конечно, но если не получится значит будет только mp3
|
||
цитата |