Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

Аватара пользователя
Света
 
Сообщения: 880
Зарегистрирован: 18.06.2016, 19:38
Играю в: Train Simulator 2018
Роль: Разработчик
Имя: Пандора
Блог: Просмотр блога (21)
Архивы
- Сентябрь 2020
+ Май 2020
+ Декабрь 2019
+ Ноябрь 2019
+ Октябрь 2019
+ Сентябрь 2019
+ Август 2019
+ Октябрь 2018
+ Август 2018
+ Май 2018
+ Март 2018
+ Август 2017
+ Июль 2017
Поиск в блогах

1 из 52 из 53 из 54 из 55 из 5

Светофорная сигнализация С65 (DSB240319). Часть 1. Опять "ТАВ"?

Постоянная ссылка Света 24.08.2019, 14:40

Да. Без запроса - никак.

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

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

Почему нельзя, чтобы светофор был закрыт, как в реальности, но открывался автоматически? Попытаюсь объяснить. В отличие от реальности, в игре предусмотреть, куда желает поехать игрок или бот - нельзя. Когда загружается сценарий, а состав игрока стоит возле, например, платформы, определить, куда он начнет двигаться - проблематично. Открыть же оба светофора, расположенные по обе стороны от состава - минус реализм, так в реальности не делается. Как определить, какой из этих двух светофоров должен открыться? Или снабдить эти светофоры искусственным интеллектом, чтобы они смогли проанализировать около сотни разных параметров и, на их основании, попытаться спрогнозировать (с вероятной ошибкой) направление, куда поедет (и поедет ли вообще) состав. Или же дать игроку возможность открыть нужный ему светофор, да и все. Я считаю, что второй вариант оптимальнее. Я могу привести ещё ситуации, когда однозначно определить, надо открываться, или нет, светофору или сложно, или невозможно, но не хочу превращать заметку в простынь.

Из-за всего этого, без "ТАВ" - никак. Тем не менее, нам удалось свести потребность в них к минимуму. Большинство сценариев (причем, достаточно сложных) можно разрулить с помощью маркеров так, чтобы за весь сценарий было достаточно или раз сделать такой запрос, или вообще обойтись без запросов. В свободном сценарии, благодаря системе формирования маршрута, зачастую будет достаточно одного запроса, чтобы открыть "зеленую улицу" на многие километры вперед. То же относится и к сценарию квик-драйва.

На данный момент светофоры принимают такие запросы:
- Одно нажатие кнопки "ТАВ": запрос на открывание светофора в поездном режиме. Если светофор может открыться (т.е., блок-участок за ним свободен и собран маршрут), он откроется. Также откроются все светофоры за ним, которые не заблокированы. Исключение - светофоры, за которыми маршрут собран на разделенную платформу или неправильный путь (об этом будет в следующих частях). Эту команду могут принять и обработать входные, выходные, маршрутно-разделительные (в режиме разделения) и заградительные светофоры.
- Два нажатия кнопки "ТАВ" с интервалом менее 3 секунд: запрос на открывание светофора в маневровом режиме. Если путь за светофором не ведет на разобранную автоматическую стрелку, он откроется белым огнем (входной - пригласительным). Эту команду могут принять и обработать маневровые, маршрутно-разделительные (в маневровом режиме), входные и выходные (если они не открыты в поездном режиме и оборудованы бело-лунной линзой) светофоры. Команда действует ограниченное время - через 2 минуты после запроса светофор закроется независимо от того, проехал состав, или нет.
- Три нажатия кнопки "ТАВ" с интервалом менее 3 секунд: запрос на открывание всех светофоров на маршруте в маневровом режиме. Все аналогично двойному запросу, отличие лишь в том, что откроются все закрытые светофоры на линии пределах станции, оборудованные бело-лунной линзой и маршрут за которыми позволяет проезд состава.

Никогда не опускай руки, ведь впереди тебя ждет еще так много поводов опустить руки, а ты уже опустил руки.
0 комментариев 45587 просмотров

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot]