Главная Форум Файлы

Вернуться   Mafia-Game Forum > Mafia: The City Of Lost Heaven > Скриптинг
Расширенный поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.10.2020, 00:07   #11
KlassenAS вне форума KlassenAS
Аватар для KlassenAS
Senior Member
Сообщений: 341
Репутация: 287
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 / 287
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
Цитата:
Сообщение от GOLOD55 Посмотреть сообщение
1. а есть необходимость определять акторы 1-11 актором скрипта?
оно сработает только один раз(при старте скрипта), а при этом данный стек все равно пустой.
Присвоение всех акторов, пожалуй, действительно лишнее. Но 10 и 11 я сравниваю между собой и с 12 актором, чтобы определить, первый ли раз, после старта миссии Томми сел в машину. Чтобы радио было выкл. Хотя я ещё подумаю. Может, эту часть тоже можно оптимизировать.

Цитата:
Сообщение от GOLOD55 Посмотреть сообщение
2. фильтр перед Label dan_on-овский не мешает в сценах2 и его не требуется удалять. он просто инактивирует скрипт в миссиях без плеер_актора.
а вот флт4 обнулить не мешает ниже, ога
Знаю, что не мешает, это, скорее, для оптимизации. Хотя, мне ли говорить об оптимизации, с таким размером скрипта )

Цитата:
Сообщение от GOLOD55 Посмотреть сообщение
3. аналогично актор_стеку, стек флт-х также при старте скрипта пустой. другими словами говоря, изначально все значения переменных равны 0 и нет необходимости в командах типа Let Flt[]=0 (кроме флт4).
А присвоение значение "-1" компактнее сделать через вектор.

Итого кусочек скрипта наверное может выглядеть так:
Human_GetProperty 0,4,Energy
If Flt[4]=0,-1,dan_on
Act_SetState 100,Off
Label dan_on

CityMusic_Off

Let Flt[4]=0
vect_set 9,-1,-1,-1
vect_set 12,-1,-1,-1
vect_set 21,-1,-1,-1
vect_set 24,-1,-1,-1
vect_set 27,-1,-1,-1
А с вектором ты хитро придумал, одной командой три переменные присваивать )
Умён!
Я не был уверен, что переменные создаются с нулём и страховался от возможных рандомных значений.
Кроме того, мне нужно было расписать значение каждой переменной и комментарий к ней, чтобы не запутаться.
Всё-таки удержать в голове значения и назначение тридцати переменных - задача нетривиальная.

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


UPD:
Поработал над оптимизацией версий 2.0 и 2.1
В архив с версией 2.1 положил папку sounds с шестью wav-файлами. чтобы гарантированно воспроизводились у всех.
Ждём день. если новых замечаний и идей для улучшения не найдётся, тогда, наконец-то, оформим релиз.

Ver. 2.1
https://drive.google.com/file/d/1jQK...ew?usp=sharing

Ver. 2.0
https://drive.google.com/file/d/1bJV...ew?usp=sharing

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

Код:
//Radio Script Ver. 2.1 27-10-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

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
CommandBlock 0
If Flt[9]=0,-1,CREATED00
Let Flt[6]=Flt[0]
Label CREATED00
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
CommandBlock 0
If Flt[9]=1,-1,CREATED01
Let Flt[6]=Flt[1]
Label CREATED01
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
CommandBlock 0
If Flt[9]=2,-1,CREATED02
Let Flt[6]=Flt[2]
Label CREATED02
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
CommandBlock 0
If Flt[9]=3,-1,CREATED03
Let Flt[6]=Flt[3]
Label CREATED03
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
	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

CompareActors 10,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

FindNearActor 0,10,Car
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
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
[свернуть]




UPD:
Прошло даже два дня.
Новых косяков не обнаружилось. Идей для улучшения и большего усложнения скрипта пока нет.
Все работает, как задумано.
Думаю, можно оформить релиз.

Вопрос: А как будем оформлять?

Последний раз редактировалось KlassenAS; 29.10.2020 в 17:50.
цитата
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Регистрация
×
Чтобы оставлять на форуме Mafia-Game Forum сообщения, необходимо сначала зарегистрироваться.
Пожалуйста, укажите ваше имя пользователя, адрес электронной почты и прочую обязательную информацию о себе в форме ниже.
Имя:
Пароль / Адрес электронной почты
Пароль:
Подтвердите пароль:
Адрес электронной почты:
Подтвердите адрес:
Реферер
Если вы пришли на этот форум по совету одного из участников, то, пожалуйста, введите его имя пользователя.
Реферер:
Время на форуме может быть выставлено в соответствии с тем, где вы находитесь. Выберите свой часовой пояс из списка ниже.
Учитывать переход на летнее или зимнее время (DST).
Получать электронные письма
Время от времени администрация может посылать вам сообщения по электронной почте.

Если вы не хотите получать эти сообщения, отключите эту опцию.
Разрешить другим участникам писать вам по электронной почте.
Правила форума

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

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