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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.10.2020, 10:37   #1
Kaiser вне форума Kaiser
Аватар для Kaiser
Mafia Modding Crew
Сообщений: 229
Репутация: 242
Kaiser has a spectacular aura about Kaiser has a spectacular aura about Kaiser has a spectacular aura about
Judge
Информация о репутации (Kaiser)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
Detective
0
Gangster
55
Thug
100
Kaiser / 242
Judge
159
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
Ребята! Коллеги! Друзья!

Помогите разобраться со скриптом пожалуйста.

Намедни мне Фаерфокс прислал один скрипт, который к сожалению, нормально отказался работать. И мы не можем понять почему.

На деле происходит следующее:

1. Я сажусь в авто, городская музыка выключается и включается радио.
2. Я выхожу из авто, радио продолжает играть, хотя должно выключаться.
3. Я снова сажусь в авто и радио начинает играть сначала.

Фактически, радио должно включаться при посадке в авто и выключаться при выходе из него.

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


dim_act 2
dim_frm 1
dim_flt 5
findactor 0, "Tommy"
findactor 1, "fire"

let flt[0]=0

label 1
wait 100
compareownerwithex 0, 1, 101, 102

label 101
if flt[0]=1,-,1
citymusic_off
stream_create 0, "sounds\music\fireradio.ogg"
stream_play 0
wait 2000
let flt[0]=0
goto 1

label 102
if flt[0]=0,-,1
stream_stop 0
citymusic_on
wait 2000
let flt[0]=1
goto 1
[свернуть]
__________________
Моя моддинговая страничка: https://vk.com/kaiser_edition
цитата
Старый 04.10.2020, 11:53   #2
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
Цитата:
Сообщение от Kaiser Посмотреть сообщение
Ребята! Коллеги! Друзья!
Помогите разобраться со скриптом пожалуйста.
У тебя проблема с присвоением значения переменой flt[0]
Проследи логику:
Переменная равна 0
Далее проверяем наличие Тома в машине.
И смотрим значение переменной.
1 Томми в машине:
Если переменная 0 - музыка не играет, включить и присвоить ей 1
если переменная 1 - музыка уже играет, ничего делать не нужно

2 Томми не в машине
Если переменная 0 - музыка не играет, ничего делать не нужно
Если переменная 1 - выключить музыку и присвоить переменной 0

И вот в этом присвоении переменных, вроде, путаница затесалась.

Во-первых, если я не ошибаюсь, номер аудиопотока может быть одновременно и переменной.
Тогда stream_create 0 и stream_play 0 обращаются к переменной flt[0], используемой для логики включения/выключения. Возникает конфликт, ведь значение переменной меняется и ты пытаешься остановить не тот аудиопоток, который запустил.

Попробуй использовать вторую переменную:
let flt[1]=0

И через неё упралять аудиопотоком:
stream_create 1
stream_play 1
stream_stop 1

Должно помочь, вроде.

Также стоит проверить сравнение условий включения/выключения

Под лабелом 101 сделай
if flt[0]=0,-,1
let flt[0]=1

Под лабелом 102 сделай
if flt[0]=1,-,1
let flt[0]=0

Так больше будет соответствовать логике скрипта.

Вместо findactor nn, "Tommy" лучше использовать getactiveplayer nn, эта команда универсальна и не привязана к используемой модели персонажа.

И ещё я не понял, что это за актор "fire"?
У тебя радио будет включатся только если Томми садится в одну конкретную машину?
Почему бы, в принципе, не проверить его нахождение в любой машине?
Используешь ещё одну переменную.
Присваиваешь ей вначале скрипта let flt[2]=-1
И запрашиваешь у игры номер сиденья в машине, на котором сидит Томми:
Human_GetSeatidx 0,2 (актор чела, переменная с номером сиденья)
И дальше проверяешь значение переменной:
If Flt[2]=-1,102,101
Если переменная осталась равна -1, чел не в машине, идём на метку 102
Если переменная изменилась, чел в машине, идём на метку 101.
Ладно, я тебе щас по-своему скрипт напишу, и всё )
И фреймы в скрипте не используются, их можно не объявлять

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



Dim_Act 2 //Два актора
Dim_Flt 3 //Три переменных
GetActivePlayer 0 //Получаем актора игрока

Let Flt[0]=0 //Переменная для логики вкл/выкл
Let Flt[1]=0 //Переменная для аудиопотока
Let Flt[2]=-1 //Переменная для сидения в машине

Label CHECK
Wait 100
Human_GetSeatIdx 0,2 //Запрашиваем номер сиденья
If Flt[2]=-1,CAR_OUT,-1 //Если получили, идём дальше, если не получили, идём к метке CAR_OUT

If Flt[0]=0,-,CHECK //Если музыка не играет, идём дальше, иначе возвращаемся к проверке
CityMusic_Off
Stream_Create 1, "sounds\music\fireradio.ogg"
Stream_Play 1
Let Flt[0]=1 //Запоминаем, что музыка играет
Wait 2000 //Ждём
GoTo CHECK //Возвращаемся к проверке

Label CAR_OUT //Если не в машине
If Flt[0]=1,-,CHECK //Если музыка играет, идём дальше, иначе возвращаемся к проверке
Stream_Stop 1
CityMusic_On
Let Flt[0]=0 //Запоминаем, что музыка не играет
Wait 2000 //Ждём
GoTo CHECK //Возвращаемся к проверке

[свернуть]


Вроде, всё верно, проверяй )

А ещё можно расширить скрипт и рандомно воспроизводить одну из нескольких аудиозаписей. Хоть сто песен можно в скрипт воткнуть. Только затрахаешься строки кода копипастить и имена файлов прописывать )

Последний раз редактировалось KlassenAS; 04.10.2020 в 14:02.
цитата
Поблагодарили: 2
Firefox3860 (04.10.2020), Kaiser (04.10.2020)
Старый 04.10.2020, 15:17   #3
Firefox3860 вне форума Firefox3860
Аватар для Firefox3860
Mafia Modding Crew
Сообщений: 687
Репутация: 771
Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold
Priest
Информация о репутации (Firefox3860)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
Detective
0
Gangster
55
Thug
100
Judge
159
Enforcer
260
Firefox3860 / 771
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
KlassenAS, Спасибо за хороший разбор логики. Видимо, основная проблема была в конфликте переменной потока с логической переменной. Я этого не заметил.

Ещё круто, что ты показал команду Human_GetSeatidx. Наверное, это лучший способ отслеживания сидения чела в любой машине

Последний раз редактировалось Firefox3860; 04.10.2020 в 15:19.
цитата
Поблагодарили: 2
Kaiser (04.10.2020), KlassenAS (04.10.2020)
Старый 04.10.2020, 15:21   #4
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
Цитата:
Сообщение от Firefox3860 Посмотреть сообщение
Ещё круто, что ты покакзал команду Human_GetSeatidx. Наверное, это лучший способ отслеживания сидения чела в любой машине
Я этот способ использовал, когда писал систему скриптов для Sity Bars +, чтобы тачка, припаркованная возле загружаемой локации, типа отеля или порта, при возвращении была на месте.

А подсказал мне этот способ GOLOD55, за что ему огромное спасибо! )

Последний раз редактировалось KlassenAS; 04.10.2020 в 15:33.
цитата
Поблагодарил:
Kaiser (04.10.2020)
Старый 10.10.2020, 22:02   #5
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
Так.
Кажется, я встал на путь истинный
До этого я все потоки только мютил.
А сейчас стал ставить на паузу.
Удивительно, но больше у меня баг с воспроизведением после загрузки не появляется.
Хотя, может быть, я плохо старался?
У меня сложилось впечатление, что игра сохраняет и восстанавливает при загрузки только те потоки, которые были активны на момент сохранения.
А те, что были на паузе - игнорирует.
Но на самом деле я знаю, что я ничего не знаю.
Слишком часто за время разработки этих скриптов у меня складывалось ложное впечатление.
в любом случае, баг не даёт о себе знать.
Так что на подходе 4 версии скрипта )

И ещё, если кто знает хорошие интернет-радиостанции, ориентированные на классику, джаз, блюз, рок-н-ролл или рок, скиньте мне ссылки на их аудиопоток, типа того, что Firefox3860 скидывал:"http://airtime.joyradio.cc:8000/airtime_192.mp3"
Я их вставлю в один из скриптов )
цитата
Поблагодарил:
Firefox3860 (10.10.2020)
Старый 10.10.2020, 22:22   #6
Firefox3860 вне форума Firefox3860
Аватар для Firefox3860
Mafia Modding Crew
Сообщений: 687
Репутация: 771
Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold
Priest
Информация о репутации (Firefox3860)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
Detective
0
Gangster
55
Thug
100
Judge
159
Enforcer
260
Firefox3860 / 771
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
KlassenAS, Чё, всё таки паузы нужны, как сначала было?
цитата
Старый 11.10.2020, 15:59   #7
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
Цитата:
Сообщение от Firefox3860 Посмотреть сообщение
KlassenAS, Чё, всё таки паузы нужны, как сначала было?
Ага, похоже на то. Но и мютить тоже надо, чтобы запаузенный поток от ESC не заиграл.

UPD:

Ну, что, друзья, вот вам!
По моим ощущениям - багов нет.
Кто найдёт - тот молодец )

Ver. 1.0

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

Код:
//Radio Script Ver. 1.0 11-10-2020 By KlassenAS For Kaiser
//Одна радиостанция с одним треком. 
//Поле окончания трек сбрасывается на начало.
//Этот скрипт хорош, если у Вас файл с длиннющей записью реального либо фейкового радиоэфира.
Dim_Act 1 
Dim_Flt 6
GetActivePlayer 0

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

Let Flt[0]=0  //поток 00
Let Flt[1]=0  //логика
Let Flt[2]=-1 //сиденье/Время с начала игры/текущее время потока/
Let Flt[3]=0  //Прошлое время с начала игры
Let Flt[4]=-1 //разница во времени игры
Let Flt[5]=-1 //прошлое время потока

CommandBlock 1
Stream_Create 0,"radio\radio00.mp3"
Stream_FadeVol 0,1,0,0
CommandBlock 0

Label CHECK
CommandBlock 1
GoTo POSITION
Label CHECK_IN_CAR
CommandBlock 0
Human_GetSeatIdx 0,2
If Flt[2]=-1,CAR_OUT,CAR_IN

Label CAR_IN
If Flt[1]=0,-,CHECK
CityMusic_Off
Wait 500
Stream_Play 0
Stream_FadeVol 0,1,1,1
Let Flt[1]=1
GoTo CHECK

Label CAR_OUT
If Flt[1]=1,-1,CHECK
Stream_FadeVol 0,1,0,0
Stream_Pause 0
CityMusic_On
Let Flt[1]=0
GoTo CHECK

Label POSITION
If Flt[1]=0,CHECK_IN_CAR,-1
GetGameTime 2
Let Flt[4]=Flt[2]-Flt[3]
If Flt[4]<1000,CHECK_IN_CAR,-1
Let Flt[3]=Flt[2]
Stream_GetPos 0,2
If Flt[2]=Flt[5],RADIOEND,-1
Let Flt[5]=Flt[2]
GoTo CHECK_IN_CAR
Label RADIOEND
Let Flt[2]=0
Stream_SetPos 0,2
Let Flt[5]=-1
If Flt[1]=0,CHECK_IN_CAR,-1
Stream_Play 0
GoTo CHECK_IN_CAR
[свернуть]


Ver. 1.1

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

Код:
//Radio Script Ver. 1.1 11-10-2020 By KlassenAS
//Три радиостанции, на каждой один трек.
//Радиостанции переключаются. Также радио можно выключить.
//Поле окончания трек сбрасывается на начало.
//Этот скрипт хорош, если у Вас файл с длиннющей записью реального либо фейкового радиоэфира.
Dim_Act 1 
Dim_Flt 13
GetActivePlayer 0

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


Let Flt[0]=0 //поток 00
Let Flt[1]=0 //поток 01
Let Flt[2]=0 //поток 02
Let Flt[3]=0 //номер радиостанции 0-2
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]=0 //разница во времени игры
Let Flt[10]=-1 //прошлое время потока 0
Let Flt[11]=-1 //прошлое время потока 1
Let Flt[12]=-1 //прошлое время потока 2



CommandBlock 1
Stream_Create 0,"radio\radio00.mp3"
Stream_Fadevol 0,1,0,0

Stream_Create 1,"radio\radio01.mp3"
Stream_Fadevol 1,1,0,0

Stream_Create 2,"radio\radio02.mp3"
Stream_Fadevol 2,1,0,0

Let Flt[6]=Flt[0]
CommandBlock 0



Label CHECK
CommandBlock 1
GoTo POSITION
Label CHECK_IN_CAR
CommandBlock 0
Human_GetSeatIdx 0,7
If Flt[7]=-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
If Flt[4]=0,-,CHECK
CityMusic_Off
Let Flt[4]=1
Wait 500
CommandBlock 1
If Flt[3]>-1,-1,RADIO_OFF
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 6,1,1,1
Label RADIO_OFF
CommandBlock 0
GoTo CHECK



Label CAR_OUT
If Flt[4]=1,-1,CHECK
Stream_Fadevol 6,1,0,0
Stream_Pause 0
Stream_Pause 1
Stream_Pause 2
Let Flt[4]=0
CityMusic_On
GoTo CHECK



Label RADIO_UP
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGUPTO_1
	If Flt[3]=0,-1,CHNGUPTO_2
	Let Flt[6]=Flt[1]
	GoTo RADIOPLUS
	
	Label CHNGUPTO_2
	If Flt[3]=1,-1,CHNGUPTO_0
	Let Flt[6]=Flt[2]
	GoTo RADIOPLUS	

	Label CHNGUPTO_0
	If Flt[3]=2,-1,RADIOPLUS
	Let Flt[6]=Flt[0]
	
Label RADIOPLUS
Let Flt[3]=Flt[3]+1
If Flt[3]>2,-1,CHANGEDUP
Let Flt[3]=-1
GoTo RADIO_OFF_UP
Label CHANGEDUP
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_UP
CommandBlock 0

Let Flt[7]=0
Label 3333
Ctrl_Read 5,UP1
If Flt[5]=1,-1,READ_DOWN
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,3333,-1
GoTo READ_DOWN



Label RADIO_DOWN
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGDWNTO_2
	If Flt[3]=-1,-1,CHNGDWNTO_1
	Let Flt[6]=Flt[2]
	GoTo RADIOMINUS

	Label CHNGDWNTO_1
	If Flt[3]=2,-1,CHNGDWNTO_0
	Let Flt[6]=Flt[1]
	GoTo RADIOMINUS
	
	Label CHNGDWNTO_0
	If Flt[3]=1,-1,RADIOMINUS
	Let Flt[6]=Flt[0]
	
Label RADIOMINUS
Let Flt[3]=Flt[3]-1
If Flt[3]=-1,RADIO_OFF_DOWN,-1
If Flt[3]<-1,-1,CHANGEDDOWN
Let Flt[3]=2
Label CHANGEDDOWN
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_DOWN
CommandBlock 0

Let Flt[7]=0
Label 2222
Ctrl_Read 5,DOWN1
If Flt[5]=1,-1,CHECKPLAY
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,2222,-1
GoTo CHECKPLAY



Label POSITION
If Flt[4]=0,CHECK_IN_CAR,-1
GetGameTime 7
Let Flt[9]=Flt[7]-Flt[8]
If Flt[9]<1000,CHECK_IN_CAR,-1
Let Flt[8]=Flt[7]

	Label GETPOS0
	Stream_GetPos 0,7
	If Flt[7]=Flt[10],RADIO0END,-1
	Let Flt[10]=Flt[7]
	GoTo GETPOS1
	Label RADIO0END
	Let Flt[7]=0
	Stream_SetPos 0,7
	Stream_Fadevol 0,1,0,0
	Let Flt[10]=-1
	Stream_Play 0
	If Flt[3]=0,-1,GETPOS1
	Stream_Fadevol 0,1,1,1

	Label GETPOS1
	Stream_GetPos 1,7
	If Flt[7]=Flt[11],RADIO1END,-1
	Let Flt[11]=Flt[7]
	GoTo GETPOS2
	Label RADIO1END
	Let Flt[7]=0
	Stream_SetPos 1,7
	Stream_Fadevol 1,1,0,0
	Let Flt[11]=-1
	Stream_Play 1
	If Flt[3]=1,-1,GETPOS2
	Stream_Fadevol 1,1,1,1

	Label GETPOS2
	Stream_GetPos 2,7
	If Flt[7]=Flt[12],RADIO2END,-1
	Let Flt[12]=Flt[7]
	GoTo CHECK_IN_CAR
	Label RADIO2END
	Let Flt[7]=0
	Stream_SetPos 2,7
	Stream_Fadevol 2,1,0,0
	Let Flt[12]=-1
	Stream_Play 2	
	If Flt[3]=2,-1,CHECK_IN_CAR
	Stream_Fadevol 2,1,1,1

GoTo CHECK_IN_CAR
[свернуть]


Ver. 1.2

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

Код:
//Radio Script Ver. 1.2 11-10-2020 By KlassenAS
//Три радиостанции, каждой можно присвоить ссылку на поток реального интернет-радио.
//При старте миссии игра зависнет нанесколько секунд
//Это нормально, т. к. игра лезет в интернет, чтобы загрузить аудиопоток.
//Радиостанции переключаются. Также радио можно выключить.
Dim_Act 1 
Dim_Flt 8
GetActivePlayer 0

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


Let Flt[0]=0 //поток 00
Let Flt[1]=0 //поток 01
Let Flt[2]=0 //поток 02
Let Flt[3]=0 //номер радиостанции 0-2
Let Flt[4]=0 //логика
Let Flt[5]=0 //Нажатие клавиш вперёд1 и назад1
Let Flt[6]=0 //Последний активный поток
Let Flt[7]=0 //сиденье



Stream_Create 0,"http://airtime.joyradio.cc:8000/airtime_192.mp3"
Stream_Fadevol 0,1,0,0

Stream_Create 1,"radio\radio01.mp3"
Stream_Fadevol 1,1,0,0

Stream_Create 2,"radio\radio02.mp3"
Stream_Fadevol 2,1,0,0

Let Flt[6]=Flt[0]



Label CHECK
Human_GetSeatIdx 0,7
If Flt[7]=-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
If Flt[4]=0,-,CHECK
CityMusic_Off
Let Flt[4]=1
Wait 500
CommandBlock 1
If Flt[3]>-1,-1,RADIO_OFF
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 6,1,1,1
Label RADIO_OFF
CommandBlock 0
GoTo CHECK



Label CAR_OUT
If Flt[4]=1,-1,CHECK
Stream_Fadevol 6,1,0,0
Stream_Pause 0
Stream_Pause 1
Stream_Pause 2
Let Flt[4]=0
CityMusic_On
GoTo CHECK



Label RADIO_UP
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGUPTO_1
	If Flt[3]=0,-1,CHNGUPTO_2
	Let Flt[6]=Flt[1]
	GoTo RADIOPLUS
	
	Label CHNGUPTO_2
	If Flt[3]=1,-1,CHNGUPTO_0
	Let Flt[6]=Flt[2]
	GoTo RADIOPLUS	

	Label CHNGUPTO_0
	If Flt[3]=2,-1,RADIOPLUS
	Let Flt[6]=Flt[0]
	
Label RADIOPLUS
Let Flt[3]=Flt[3]+1
If Flt[3]>2,-1,CHANGEDUP
Let Flt[3]=-1
GoTo RADIO_OFF_UP
Label CHANGEDUP
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_UP
CommandBlock 0

Let Flt[7]=0
Label 3333
Ctrl_Read 5,UP1
If Flt[5]=1,-1,READ_DOWN
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,3333,-1
GoTo READ_DOWN



Label RADIO_DOWN
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGDWNTO_2
	If Flt[3]=-1,-1,CHNGDWNTO_1
	Let Flt[6]=Flt[2]
	GoTo RADIOMINUS

	Label CHNGDWNTO_1
	If Flt[3]=2,-1,CHNGDWNTO_0
	Let Flt[6]=Flt[1]
	GoTo RADIOMINUS
	
	Label CHNGDWNTO_0
	If Flt[3]=1,-1,RADIOMINUS
	Let Flt[6]=Flt[0]
	
Label RADIOMINUS
Let Flt[3]=Flt[3]-1
If Flt[3]=-1,RADIO_OFF_DOWN,-1
If Flt[3]<-1,-1,CHANGEDDOWN
Let Flt[3]=2
Label CHANGEDDOWN
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_DOWN
CommandBlock 0

Let Flt[7]=0
Label 2222
Ctrl_Read 5,DOWN1
If Flt[5]=1,-1,CHECKPLAY
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,2222,-1
GoTo CHECKPLAY
[свернуть]


Ver. 2.0

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

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

Dim_Act 1 
Dim_Flt 19
GetActivePlayer 0

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



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]=0 //номер радиостанции 0-3
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]=-1 //прошлое время потока 0
Let Flt[16]=-1 //прошлое время потока 1
Let Flt[17]=-1 //прошлое время потока 2
Let Flt[18]=-1 //прошлое время потока 3



CommandBlock 1
Label RADIO00CREATE
Rnd 10,10
If Flt[11]=Flt[10],RADIO00CREATE,-1
Let Flt[11]=Flt[10]

	Label TRCK0000
	If Flt[10]=0,-1,TRCK0001
	Stream_Create 0,"radio\radio 00 - 00.mp3"
	GoTo RADIO00CREATED

	Label TRCK0001
	If Flt[10]=1,-1,TRCK0002
	Stream_Create 0,"radio\radio 00 - 01.mp3"
	GoTo RADIO00CREATED

	Label TRCK0002
	If Flt[10]=2,-1,TRCK0003
	Stream_Create 0,"radio\radio 00 - 02.mp3"
	GoTo RADIO00CREATED	

	Label TRCK0003
	If Flt[10]=3,-1,TRCK0004
	Stream_Create 0,"radio\radio 00 - 03.mp3"
	GoTo RADIO00CREATED

	Label TRCK0004
	If Flt[10]=4,-1,TRCK0005
	Stream_Create 0,"radio\radio 00 - 04.mp3"
	GoTo RADIO00CREATED

	Label TRCK0005
	If Flt[10]=5,-1,TRCK0006
	Stream_Create 0,"radio\radio 00 - 05.mp3"
	GoTo RADIO00CREATED

	Label TRCK0006
	If Flt[10]=6,-1,TRCK0007
	Stream_Create 0,"radio\radio 00 - 06.mp3"
	GoTo RADIO00CREATED

	Label TRCK0007
	If Flt[10]=7,-1,TRCK0008
	Stream_Create 0,"radio\radio 00 - 07.mp3"
	GoTo RADIO00CREATED

	Label TRCK0008
	If Flt[10]=8,-1,TRCK0009
	Stream_Create 0,"radio\radio 00 - 08.mp3"
	GoTo RADIO00CREATED

	Label TRCK0009
	If Flt[10]=9,-1,RADIO00CREATED
	Stream_Create 0,"radio\radio 00 - 09.mp3"
	GoTo RADIO00CREATED

Label RADIO00CREATED
Stream_Fadevol 0,1,0,0
If Flt[15]>0,REPLAY0,-1



Label RADIO01CREATE
Rnd 10,10
If Flt[12]=Flt[10],RADIO01CREATE,-1
Let Flt[12]=Flt[10]

	Label TRCK0100
	If Flt[10]=0,-1,TRCK0101
	Stream_Create 1,"radio\radio 01 - 00.mp3"
	GoTo RADIO01CREATED

	Label TRCK0101
	If Flt[10]=1,-1,TRCK0102
	Stream_Create 1,"radio\radio 01 - 01.mp3"
	GoTo RADIO01CREATED

	Label TRCK0102
	If Flt[10]=2,-1,TRCK0103
	Stream_Create 1,"radio\radio 01 - 02.mp3"
	GoTo RADIO01CREATED	

	Label TRCK0103
	If Flt[10]=3,-1,TRCK0104
	Stream_Create 1,"radio\radio 01 - 03.mp3"
	GoTo RADIO01CREATED

	Label TRCK0104
	If Flt[10]=4,-1,TRCK0105
	Stream_Create 1,"radio\radio 01 - 04.mp3"
	GoTo RADIO01CREATED

	Label TRCK0105
	If Flt[10]=5,-1,TRCK0106
	Stream_Create 1,"radio\radio 01 - 05.mp3"
	GoTo RADIO01CREATED

	Label TRCK0106
	If Flt[10]=6,-1,TRCK0107
	Stream_Create 1,"radio\radio 01 - 06.mp3"
	GoTo RADIO01CREATED

	Label TRCK0107
	If Flt[10]=7,-1,TRCK0108
	Stream_Create 1,"radio\radio 01 - 07.mp3"
	GoTo RADIO01CREATED

	Label TRCK0108
	If Flt[10]=8,-1,TRCK0109
	Stream_Create 1,"radio\radio 01 - 08.mp3"
	GoTo RADIO01CREATED

	Label TRCK0109
	If Flt[10]=9,-1,RADIO01CREATED
	Stream_Create 1,"radio\radio 01 - 09.mp3"
	GoTo RADIO01CREATED

Label RADIO01CREATED
Stream_Fadevol 1,1,0,0
If Flt[16]>0,REPLAY1,-1



Label RADIO02CREATE
Rnd 10,10
If Flt[13]=Flt[10],RADIO02CREATE,-1
Let Flt[13]=Flt[10]

	Label TRCK0200
	If Flt[10]=0,-1,TRCK0201
	Stream_Create 2,"radio\radio 02 - 00.mp3"
	GoTo RADIO02CREATED

	Label TRCK0201
	If Flt[10]=1,-1,TRCK0202
	Stream_Create 2,"radio\radio 02 - 01.mp3"
	GoTo RADIO02CREATED

	Label TRCK0202
	If Flt[10]=2,-1,TRCK0203
	Stream_Create 2,"radio\radio 02 - 02.mp3"
	GoTo RADIO02CREATED

	Label TRCK0203
	If Flt[10]=3,-1,TRCK0204
	Stream_Create 2,"radio\radio 02 - 03.mp3"
	GoTo RADIO02CREATED

	Label TRCK0204
	If Flt[10]=4,-1,TRCK0205
	Stream_Create 2,"radio\radio 02 - 04.mp3"
	GoTo RADIO02CREATED

	Label TRCK0205
	If Flt[10]=5,-1,TRCK0206
	Stream_Create 2,"radio\radio 02 - 05.mp3"
	GoTo RADIO02CREATED

	Label TRCK0206
	If Flt[10]=6,-1,TRCK0207
	Stream_Create 2,"radio\radio 02 - 06.mp3"
	GoTo RADIO02CREATED

	Label TRCK0207
	If Flt[10]=7,-1,TRCK0208
	Stream_Create 2,"radio\radio 02 - 07.mp3"
	GoTo RADIO02CREATED

	Label TRCK0208
	If Flt[10]=8,-1,TRCK0209
	Stream_Create 2,"radio\radio 02 - 08.mp3"
	GoTo RADIO02CREATED

	Label TRCK0209
	If Flt[10]=9,-1,RADIO02CREATED
	Stream_Create 2,"radio\radio 02 - 09.mp3"
	GoTo RADIO02CREATED

Label RADIO02CREATED
Stream_Fadevol 2,1,0,0
If Flt[17]>0,REPLAY2,-1



Label RADIO03CREATE
Rnd 10,10
If Flt[14]=Flt[10],RADIO03CREATE,-1
Let Flt[14]=Flt[10]

	Label TRCK0300
	If Flt[10]=0,-1,TRCK0301
	Stream_Create 3,"radio\radio 03 - 00.mp3"
	GoTo RADIO03CREATED

	Label TRCK0301
	If Flt[10]=1,-1,TRCK0302
	Stream_Create 3,"radio\radio 03 - 01.mp3"
	GoTo RADIO03CREATED

	Label TRCK0302
	If Flt[10]=2,-1,TRCK0303
	Stream_Create 3,"radio\radio 03 - 02.mp3"
	GoTo RADIO03CREATED

	Label TRCK0303
	If Flt[10]=3,-1,TRCK0304
	Stream_Create 3,"radio\radio 03 - 03.mp3"
	GoTo RADIO03CREATED

	Label TRCK0304
	If Flt[10]=4,-1,TRCK0305
	Stream_Create 3,"radio\radio 03 - 04.mp3"
	GoTo RADIO03CREATED

	Label TRCK0305
	If Flt[10]=5,-1,TRCK0306
	Stream_Create 3,"radio\radio 03 - 05.mp3"
	GoTo RADIO03CREATED

	Label TRCK0306
	If Flt[10]=6,-1,TRCK0307
	Stream_Create 3,"radio\radio 03 - 06.mp3"
	GoTo RADIO03CREATED

	Label TRCK0307
	If Flt[10]=7,-1,TRCK0308
	Stream_Create 3,"radio\radio 03 - 07.mp3"
	GoTo RADIO03CREATED

	Label TRCK0308
	If Flt[10]=8,-1,TRCK0309
	Stream_Create 3,"radio\radio 03 - 08.mp3"
	GoTo RADIO03CREATED

	Label TRCK0309
	If Flt[10]=9,-1,RADIO03CREATED
	Stream_Create 3,"radio\radio 03 - 09.mp3"
	GoTo RADIO03CREATED

Label RADIO03CREATED
Stream_Fadevol 3,1,0,0
If Flt[18]>0,REPLAY3,-1

Let Flt[6]=Flt[0]
CommandBlock 0



Label CHECK
CommandBlock 1
GoTo POSITION
Label CHECK_IN_CAR
CommandBlock 0
Human_GetSeatIdx 0,7
If Flt[7]=-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
If Flt[4]=0,-,CHECK
CityMusic_Off
Let Flt[4]=1
Wait 500
CommandBlock 1
If Flt[9]>-1,-1,RADIO_OFF
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
Stream_FadeVol 6,1,1,1
Label RADIO_OFF
CommandBlock 0

GoTo CHECK



Label CAR_OUT
If Flt[4]=1,-1,CHECK
Stream_Fadevol 6,1,0,0
Stream_Pause 0
Stream_Pause 1
Stream_Pause 2
Stream_Pause 3
Let Flt[4]=0
CityMusic_On
GoTo CHECK



Label RADIO_UP
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGUPTO_1
	If Flt[9]=0,-1,CHNGUPTO_2
	Let Flt[6]=Flt[1]
	GoTo RADIOPLUS
	
	Label CHNGUPTO_2
	If Flt[9]=1,-1,CHNGUPTO_3
	Let Flt[6]=Flt[2]
	GoTo RADIOPLUS	

	Label CHNGUPTO_3
	If Flt[9]=2,-1,CHNGUPTO_0
	Let Flt[6]=Flt[3]
	GoTo RADIOPLUS
	
	Label CHNGUPTO_0
	If Flt[9]=3,-1,RADIOPLUS
	Let Flt[6]=Flt[0]
	
Label RADIOPLUS
Let Flt[9]=Flt[9]+1
If Flt[9]>3,-1,CHANGEDUP
Let Flt[9]=-1
GoTo RADIO_OFF_UP
Label CHANGEDUP
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_UP
CommandBlock 0

Let Flt[7]=0
Label 3333
Ctrl_Read 5,UP1
If Flt[5]=1,-1,READ_DOWN
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,3333,-1
GoTo READ_DOWN



Label RADIO_DOWN
CommandBlock 1
Stream_Fadevol 6,1,0,0

	Label CHNGDWNTO_3
	If Flt[9]=-1,-1,CHNGDWNTO_2
	Let Flt[6]=Flt[3]
	GoTo RADIOMINUS

	Label CHNGDWNTO_2
	If Flt[9]=3,-1,CHNGDWNTO_1
	Let Flt[6]=Flt[2]
	GoTo RADIOMINUS

	Label CHNGDWNTO_1
	If Flt[9]=2,-1,CHNGDWNTO_0
	Let Flt[6]=Flt[1]
	GoTo RADIOMINUS
	
	Label CHNGDWNTO_0
	If Flt[9]=1,-1,RADIOMINUS
	Let Flt[6]=Flt[0]
	
Label RADIOMINUS
Let Flt[9]=Flt[9]-1
If Flt[9]=-1,RADIO_OFF_DOWN,-1
If Flt[9]<-1,-1,CHANGEDDOWN
Let Flt[9]=3
Label CHANGEDDOWN
Stream_Fadevol 6,1,1,1
Label RADIO_OFF_DOWN
CommandBlock 0

Let Flt[7]=0
Label 2222
Ctrl_Read 5,DOWN1
If Flt[5]=1,-1,CHECKPLAY
Wait 200
Let Flt[7]=Flt[7]+1
If Flt[7]<10,2222,-1
GoTo CHECKPLAY



Label POSITION
If Flt[4]=0,CHECK_IN_CAR,-1
GetGameTime 7
Let Flt[10]=Flt[7]-Flt[8]
If Flt[10]<1000,CHECK_IN_CAR,-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
	GoTo RADIO00CREATE
	Label REPLAY0
	Stream_Play 0
	Let Flt[15]=-1
	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
	GoTo RADIO01CREATE
	Label REPLAY1
	Stream_Play 1
	Let Flt[16]=-1
	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
	GoTo RADIO02CREATE
	Label REPLAY2
	Stream_Play 2
	Let Flt[17]=-1
	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 CHECK_IN_CAR
	Label RADIO3END
	Stream_Fadevol 3,1,0,0
	Stream_Pause 3
	Stream_Destroy 3
	GoTo RADIO03CREATE
	Label REPLAY3
	Stream_Play 3
	Let Flt[18]=-1
	If Flt[9]=3,-1,CHECK_IN_CAR
	Let Flt[6]=Flt[3]
	Stream_Fadevol 3,1,1,1

GoTo CHECK_IN_CAR
[свернуть]


Единственное, что меня сейчас смущает: при выходе из машины, когда треки ставятся на паузу, не всегда срабатывает команда CityMusic_On.
Причём, чаще не срабатывает.
Хз, почему. В логике скрипта ошибки нет. Все потоки ставятся на паузу.
Капризничает )
Если кто знает, как с этим быть, расскажите, пожалуйста.

Осталось дело за малым.
Ту версию, что рассчитана на 4 станции по 10 треков, адаптировать для реализации идеи, которую предложил Abradox.

Да, кстати, Firefox3860, я нашёл прямые ссылки на mp3 десяти радиостанций, транслирующих джаз и блюз.
Самое то для "Мафии".
Но все они намертво вешают игру.
В игре нормально аботает только та ссылка на джойрадио, которую ты мне скинул.
Не знаешь, почему?

Последний раз редактировалось KlassenAS; 11.10.2020 в 17:40.
цитата
Поблагодарили: 4
Abradox (11.10.2020), EmptyBowl (12.10.2020), Firefox3860 (11.10.2020), Kaiser (11.10.2020)
Старый 11.10.2020, 18:30   #8
Firefox3860 вне форума Firefox3860
Аватар для Firefox3860
Mafia Modding Crew
Сообщений: 687
Репутация: 771
Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold Firefox3860 is a splendid one to behold
Priest
Информация о репутации (Firefox3860)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
Detective
0
Gangster
55
Thug
100
Judge
159
Enforcer
260
Firefox3860 / 771
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
KlassenAS, Круто ты постарался, далеко не каждый смог бы такое на mafiascript'е сделать

Цитата:
Сообщение от KlassenAS Посмотреть сообщение
Единственное, что меня сейчас смущает: при выходе из машины, когда треки ставятся на паузу, не всегда срабатывает команда CityMusic_On.
Причём, чаще не срабатывает.
Я так думаю, что она срабатывает, но музыка не включается сразу потому, что в этот момент игрок находится за пределами области города, в которой включается определённая citymusic. Такое бывает, надо поперемещаться по городу, и тогда она должна заиграть.

Цитата:
Сообщение от KlassenAS Посмотреть сообщение
Да, кстати, Firefox3860, я нашёл прямые ссылки на mp3 десяти радиостанций, транслирующих джаз и блюз.
Самое то для "Мафии".
Но все они намертво вешают игру.
В игре нормально аботает только та ссылка на джойрадио, которую ты мне скинул.
Не знаешь, почему?
Все сразу или по отдельности? Та ссылка, что я кинул, тоже вешает, но не надолго. Я думал, что в это время игра пытается подключиться к сайту через интернет и начать прогрузку. Возможно, в случаях с другими ссылками она не может сделать подключение или действительно с форматом у них что-то не то.
цитата
Поблагодарили: 2
Kaiser (11.10.2020), KlassenAS (11.10.2020)
Старый 11.10.2020, 20:14   #9
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
Ядрёна вошь! Опять этот баг после сохранения появился!
Почему до этого весь день не было?!
Вообще не понимаю, что происходит.
Реально, что-ли, при каждом выходе из машины все потоки уничтожать надо?
И что это будет?
Каждый раз, как садишься в машину, всё заново?

Цитата:
Сообщение от Firefox3860 Посмотреть сообщение
Я так думаю, что она срабатывает, но музыка не включается сразу потому, что в этот момент игрок находится за пределами области города, в которой включается определённая citymusic. Такое бывает, надо поперемещаться по городу, и тогда она должна заиграть.
Ну так я-то не за пределами города, я возде бара Сальери.

Цитата:
Сообщение от Firefox3860 Посмотреть сообщение
Все сразу или по отдельности?
По отдельности. Достаточно одной.

Abradox, родную мафиозную музыку я в скрипт вписал. Первая радиостанция будет.
Какие планы у нас дальше?

UPD: Поздравьте меня, друзья, я идиот!
Я же сам использовал команды Stream_GetPos и Stream_SetPos для определения окончания трека и для его перезапуска, если нужно.
Я же могу, при выходе из машины, запоминать позицию каждого потока, уничтожать потоки, а при возвращении в машину всё восстанавливать!
Похоже, мне предстоит снова хорошенько перелопатить все версии скрипта...

Последний раз редактировалось KlassenAS; 11.10.2020 в 23:16.
цитата
Поблагодарили: 4
Abradox (12.10.2020), Firefox3860 (12.10.2020), GOLOD55 (11.10.2020), Knight Rider (13.10.2020)
Старый 12.10.2020, 12:38   #10
Abradox вне форума Abradox
Аватар для Abradox
Modding Crew
Сообщений: 2,760
Репутация: 1311
Abradox has much to be proud of Abradox has much to be proud of Abradox has much to be proud of Abradox has much to be proud of Abradox has much to be proud of Abradox has much to be proud of Abradox has much to be proud of Abradox has much to be proud of Abradox has much to be proud of Abradox has much to be proud of
Councilor
Информация о репутации (Abradox)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
Detective
0
Gangster
55
Thug
100
Judge
159
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Abradox / 1311
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
Цитата:
Сообщение от KlassenAS Посмотреть сообщение
Abradox, родную мафиозную музыку я в скрипт вписал. Первая радиостанция будет.
Какие планы у нас дальше?
Я думаю, что нужно добавить радиостанции с музыкой из ремейка Мафии.
цитата
Ответ

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

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

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

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

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

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

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

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

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