Показать сообщение отдельно
Старый 25.10.2020, 22:16   #221
KlassenAS вне форума KlassenAS
Аватар для KlassenAS
Senior Member
Сообщений: 341
Репутация: 285
KlassenAS is a jewel in the rough KlassenAS is a jewel in the rough KlassenAS is a jewel in the rough
Enforcer
Информация о репутации (KlassenAS)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
Detective
0
Gangster
55
Thug
100
Judge
159
KlassenAS / 285
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
Написал процедуру, чтобы скрипт помнил последние девять тачек, в которых побывал Томми и радиостанции в них.
Также, теперь в каждой тачке, которая не первая, радиостанция или выкл задаются рандомно.

Перезалил архивы, обновил ссылки для 2.0 и 2.1.
Сам скрипт, если кому интересно подобное чтение:

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

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

Dim_Act 13
Dim_Flt 31
GetActivePlayer 0
FindActor 1
FindActor 2
FindActor 3
FindActor 4
FindActor 5
FindActor 6
FindActor 7
FindActor 8
FindActor 9
FindActor 10
FindActor 11
FindActor 12
//Акторы 1-9 - для запоминания машин
//Актор 10 - для текущей машины
//Актор 11 - для прошлой машины
//Актор 12 - данный скрипт

//Удалить для использования в scene2.bin,
//Оставить для использования с патчем от GOLOD55
//Начало удаления
Human_GetProperty 0,4,Energy
If Flt[4]=0,-1,dan_on
Act_SetState 100,Off
Label dan_on
//Конец удаления

CityMusic_Off

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]=-1
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 //Для перехода на следующий трек
Let Flt[20]=0 //Для перехода к меткам треков
//Номера радиостанций в запомненных тачках 1-9:
Let Flt[21]=-1
Let Flt[22]=-1
Let Flt[23]=-1
Let Flt[24]=-1
Let Flt[25]=-1
Let Flt[26]=-1
Let Flt[27]=-1
Let Flt[28]=-1
Let Flt[29]=-1
//Логика запоминания тачек:
Let Flt[30]=0

Rnd 11,23
Rnd 12,24
Rnd 13,24
Rnd 14,27

GoTo CHECK



Label RADIOCREATE

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
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
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
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
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
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
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
CommandBlock 0
If Flt[9]=3,-1,ISREPLAY3
Let Flt[6]=Flt[3]
Label ISREPLAY3
If Flt[19]=1,REPLAY3,-1

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
//CityMusic_Off
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
GoSub RADIO_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
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
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
	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,24
	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,24
	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 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
	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,POSITION_END
	Let Flt[6]=Flt[3]
	Stream_Fadevol 3,1,1,1

Label POSITION_END
Return



Label RADIO_READ
CommandBlock 1
Let Flt[30]=0
FindNearActor 0,10,Car

CompareActors 11,12,7
If Flt[7]=0,-1,FIRSTCAR
CompareActors 11,10,7
If Flt[7]=0,-1,FIRSTCAR
Rnd 9,5
Let Flt[9]=Flt[9]-1
Label FIRSTCAR

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[30]=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[30]=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[30]=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[30]=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[30]=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[30]=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[30]=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[30]=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[30]=1
	GoTo COMPARE_ENT0

Label COMPARE_ENT0
If Flt[30]=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
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]
Return
[свернуть]
цитата
Поблагодарил:
Kaiser (31.10.2020)