Главная Форум Файлы
Справка Сообщество Календарь Сообщения за день Поиск

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.11.2020, 20:49   #231
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 Посмотреть сообщение
Случайный выбор станции в машине и вправду добавляет реализма.
Кстати, о реализьме.

Я подумал: при старте скрипта все треки на радио начинают играть с начала.
Это неправильно. Ведь радио не начинает эфир тогда, когда мы его включаем.
Надо при первом включении радио позиции треков рандомизировать.
Но рандомизировать-то надо по уму!
Надо чтобы случайное значение укладывалось в длительность трека.
А как узнать длительность трека?
Ведь такой скриптовой функции нет.

Гипотеза: если указать потоку с помощью команды Stream_SetPos некорректное значение, заведомо выходящее за пределы длительности трека, например 4 000 000, то потоку присвоится максимально возможное значение, соответствующее окончанию трека, и считав его с помощью команды Stream_GetPos мы узнаем длину трека.

Проверил гипотезу экспериментом.
Let Flt[15]=4000000
Stream_SetPos 0,15
Stream_GetPos 0,15
FreeRide_ScoreSet Flt[15]

И получил неожиданный результат: После попытки присвоения потоку некорректного значения позиции, команда Stream_GetPos показывает погоду на Марсе!
Т. е. возвращает рандомное значение.
Правда, чаще всего в диапазоне от 3 000 до 15 000 миллисекунд, и нам это не вполне подходит.

Таким образом, мы можем, при первом включении радио, смело назначать трекам рандомные позиции в диапазоне от 0 до 5 минут, а если рандомное значение выйдет за пределы реальной длительности трека, то ничего плохого не будет, значение будет рандомизировано по новой.

А реализовать эту фичу - пара пустяков.
Четыре строки в начале скрипта.
Что я уже и сделал.
Для версий 2.1 и 2.0 архивы по ссылкам обновлены.

Последний раз редактировалось KlassenAS; 09.11.2020 в 21:05.
цитата
Старый 09.11.2020, 23:20   #232
Abradox вне форума Abradox
Аватар для Abradox
Modding Crew
Сообщений: 2,771
Репутация: 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 Посмотреть сообщение
Я подумал: при старте скрипта все треки на радио начинают играть с начала.
Это неправильно. Ведь радио не начинает эфир тогда, когда мы его включаем.
Если так рассуждать, то радио должно играть даже тогда, когда Том выходит из машины, а не ставиться на паузу.

Как обстоит дело с выключением сюжетной музыки при выходе из машины в аэропорту в миссии Сливки общества (Creme de la Creme)?

P.S. пока разработка идет, и до релиза ещё не дошло, давай лучше ссылку на файл script.sc, чтобы не перекачивать каждый раз архив в 236 мнгабайт, ведь по трекам изменений уже не будет.

Последний раз редактировалось Abradox; 09.11.2020 в 23:24.
цитата
Старый 10.11.2020, 04:34   #233
CurtisTea вне форума CurtisTea
Аватар для CurtisTea
Member
Сообщений: 49
Репутация: 40
CurtisTea is on a distinguished road
Detective
Информация о репутации (CurtisTea)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
CurtisTea / 40
Detective
0
Gangster
55
Thug
100
Judge
159
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
Кста не знаю вспоминал ли кто-то уже тут, но команда stream_create отлично воспринимает ссылки на онлайн радио (вот прям так, в формате stream_create x,"http://87.230.103.107:80/top100station.mp3" - это мой старый пример, ссылка дохлая уже давно походу). Правда сам поток как я понял должен быть строго в .mp3 закодирован, иначе игра тупо виснет. И ещё года четыре назад, когда я это выкупил именно такое онлайн радио уже было практически не найти... Я не сильно компетентен в кодировке потокового музла, может можно какой-то костыль придумать и себе во фрирайд пускать какую-то oldies радиостанцию и сейчас, я хз)

цитата
Старый 10.11.2020, 06:48   #234
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
Цитата:
Сообщение от Abradox Посмотреть сообщение
Если так рассуждать, то радио должно играть даже тогда, когда Том выходит из машины, а не ставиться на паузу
Так-то да, но глюки из-за сохранения потоков и отсутствие функции для определения длительности трека ставят на этом крест.
Если бы можно было определять длительность трека, я бы засекал, сколько времени радио было выключено, и при включении перематывал трек и/или переключал на следующий и ещё перематывал на нужное время, чтобы имитировать продолжение эфира, пока радио выключено.
А если бы не было глюка из-за сохранения потоков, то этого вопроса вообще бы не было и скрипт был вдвое проще и всё работало бы по фен-шую.
А так довольствуемся тем, что есть.

Цитата:
Сообщение от Abradox Посмотреть сообщение
Как обстоит дело с выключением сюжетной музыки при выходе из машины в аэропорту в миссии Сливки общества (Creme de la Creme)?
Я ещё 3 ноября это исправил и обновил архивы. Посмотри сообщение №229 оно отредактировано.

Цитата:
Сообщение от Abradox Посмотреть сообщение
P.S. пока разработка идет, и до релиза ещё не дошло, давай лучше ссылку на файл script.sc, чтобы не перекачивать каждый раз архив в 236 мнгабайт, ведь по трекам изменений уже не будет.
Чуть позже, как с работы вернусь.

Цитата:
Сообщение от CurtisTea Посмотреть сообщение
Кста не знаю вспоминал ли кто-то уже тут, но команда stream_create отлично воспринимает ссылки на онлайн радио (вот прям так, в формате stream_create x,"http://87.230.103.107:80/top100station.mp3" - это мой старый пример, ссылка дохлая уже давно походу). Правда сам поток как я понял должен быть строго в .mp3 закодирован, иначе игра тупо виснет. И ещё года четыре назад, когда я это выкупил именно такое онлайн радио уже было практически не найти... Я не сильно компетентен в кодировке потокового музла, может можно какой-то костыль придумать и себе во фрирайд пускать какую-то oldies радиостанцию и сейчас, я хз)
Не просто вспоминали, но ещё и сетовали на то, что кроме джойрадио не удаётся найти ни одной ссылки на радиовещание, которая не вешала бы игру намертво.
И даже есть отдельная версия скрипта - 1.2, ориентированная именно на реальное радио.

Блин, если бы я умел правильно писать dll и знал, как из собственного кода обратиться к функциям движка, чтобы получить доступ к акторам и их свойствам, я бы этот скрипт сделал в виде asi плагина, и плеер у меня работал бы из самой dll, и никаких проблем бы не было. А плейлист бы считывался из ini-файла. И работало бы и любое радио, и любые аудио форматы. Так-то я в Delphi программы писать умею, можно и плагин замутить. Только я не знаю, как реализовать обмен данными с игровым движком.


UPD:
Вот сами скрипты в виде сферических коней в вакууме:

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

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

Последний раз редактировалось KlassenAS; 10.11.2020 в 11:47.
цитата
Поблагодарили: 2
Abradox (10.11.2020), Firefox3860 (10.11.2020)
Старый 10.11.2020, 12:59   #235
Haku вне форума Haku
Аватар для Haku
Senior Member
Сообщений: 159
Репутация: 228
Haku has a spectacular aura about Haku has a spectacular aura about Haku has a spectacular aura about
Judge
Информация о репутации (Haku)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
Detective
0
Gangster
55
Thug
100
Haku / 228
Judge
159
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
KlassenAS, если рассмотреть на этом примере? Подойдет ли он для Мафии?

оффтоп

цитата
Старый 10.11.2020, 13:14   #236
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
Цитата:
Сообщение от Haku Посмотреть сообщение
KlassenAS, если рассмотреть на этом примере? Подойдет ли он для Мафии?
Подойдёт, но лишь потому, что это общая информация о dll и их подключении к основному игровому процессу.
Здесь нет информации о том, как из dll обращаться к функциям движка и обмениваться с ним данными.
Тупо присосались к процессу и вывели окошко с текстом и кнопкой ОК.
Я такой плагин хоть щас могу сделать. Толку будет, как от козла молока.
Вопрос ведь в том, как к акторам доступ получить. В идеале, к некоторым функциям, вызываемым командами из скриптов.
В частности, это необходимо для определения нахождения Томми в машине и для сравнения машин.

Последний раз редактировалось KlassenAS; 10.11.2020 в 14:12.
цитата
Старый 10.11.2020, 17:51   #237
Abradox вне форума Abradox
Аватар для Abradox
Modding Crew
Сообщений: 2,771
Репутация: 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 Посмотреть сообщение
Я ещё 3 ноября это исправил и обновил архивы. Посмотри сообщение №229 оно отредактировано.
Отлично, спасибо.
цитата
Старый 11.11.2020, 00:23   #238
CurtisTea вне форума CurtisTea
Аватар для CurtisTea
Member
Сообщений: 49
Репутация: 40
CurtisTea is on a distinguished road
Detective
Информация о репутации (CurtisTea)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
CurtisTea / 40
Detective
0
Gangster
55
Thug
100
Judge
159
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
Цитата:
Сообщение от KlassenAS Посмотреть сообщение
И даже есть отдельная версия скрипта - 1.2, ориентированная именно на реальное радио.
Я просто к чему эту тему вспомнил, зачем эти манипуляции с аудио-файлами (что не есть "настоящее" радио)? Можно было бы залаунчить что-то типа mafia community radio с таким аудио-кодеком, который прочитала бы наша старушка и пускай бы оно себе работало в фоновом режиме.

Мож если не лень будет даже погуглю как оно работает вообще)
цитата
Старый 11.11.2020, 00:48   #239
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
Цитата:
Сообщение от CurtisTea Посмотреть сообщение
Можно было бы залаунчить что-то типа mafia community radio с таким аудио-кодеком, который прочитала бы наша старушка и пускай бы оно себе работало в фоновом режиме.
Предлагаешь сделать специально для игры мафиозное онлайн-радио?
Плохая идея. Вся музыка лицензированная, без официальной покупки прав такую интернет-радиостанцию забанят нафиг.
Другое дело, если написать программу, которая локально, на компе будет имитировать радиоэфир, крутить треки, притворяясь сервером, к которому игра сможет обращаться по ссылке. Т.к. "вещание" и игра будут работать на одном компе, это освободит от потребности в интернет-подключении и избавит от подвисаний при загрузке. Кроме того, по моим наблюдениям, игра игнорирует интернет-поток при сохранении, и глюков с непрошенным воспроизведением после этого не происходит.
Так же можно было бы имитировать любое количество радиостанций.
Но я хз, как такое реализовать.
Хотя такую программу тоже можно под asi плагин оформить, это был бы большой плюс.

Последний раз редактировалось KlassenAS; 11.11.2020 в 00:53.
цитата
Старый 11.11.2020, 02:02   #240
Abradox вне форума Abradox
Аватар для Abradox
Modding Crew
Сообщений: 2,771
Репутация: 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
Как отделить городскую музыку от миссионной?
Нужно чтобы при выходе из машины городская музыка не играла, а миссионная в миссиях играла.
цитата
Ответ


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

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

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

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

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

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

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