Регистрация Главная Форум Файлы

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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.11.2020, 20:49   #11
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
Цитата:
Сообщение от 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.
цитата
 


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

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

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

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

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

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

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