Форум Trainsim  

Вернуться   Форум Trainsim > Microsoft Train Simulator > MSTS - Маршруты

Ответ
 
Опции темы Опции просмотра
Старый 04.05.2020, 17:47   #511
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

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


Первая циферь в скобках - "разряд", вторая - само значение. Можно запоминать их сколько угодно! Под каждым "разрядом" - своя переменная. В смысле, под (1,Х) - одни переменные, (2,Х) - другие и т.д.

Добавлено через 2 минуты
Цитата:
Сообщение от КЕ Посмотреть сообщение
Идеально сработано! ))
Надо ещё "доработать напильником", чтобы белый не зажигался. Поезд в этот момент за 2 блок-участка и не видит этого, конечно. Но, остальные - видят.

Добавлено через 1 минуту
Цитата:
Сообщение от КЕ Посмотреть сообщение
Но всё остальное горит жёлтым...
Неее...
Там все аспекты работают. Просто на видео он на 2Ж и Ж едет только.
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА

 
Старый 04.05.2020, 17:51   #512
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Олег, из твоего проходного:
direction = this_sig_lvar (1);
- почему здесь одна цифра?
И сами числа - как в аспектах, от 0 до 7, или неважно?
Скрытый текст:
Цитата:
...оставить белый маневровый гореть...
Это только с маневровыми К-Б:
if (enabled && block_state() != BLOCK_JN_OBSTRUCTED ) state = 2; // белый маневровый
else state = 0;

Белый сменяется на красный, когда сервис уходит за узел.
__________________
next_state == 7;

Последний раз редактировалось КЕ; 04.05.2020 в 18:01.
КЕ вне форума   Ответить с цитированием
Старый 04.05.2020, 19:20   #513
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Когда "обращаешься к хранилищу" - вносишь только разряд - одна цифра. А, функция уже достаёт из этого "разряда" переменную - вторую цифру

Добавлено через 1 час 11 минут
Цитата:
Сообщение от КЕ Посмотреть сообщение
Это только с маневровыми К-Б:
if (enabled && block_state() != BLOCK_JN_OBSTRUCTED ) state = 2; // белый маневровый
else state = 0;

Белый сменяется на красный, когда сервис уходит за узел.
Ты в Open Rails это давно пробовал?
ИМХО, работать не будет. В смысле, сигнал перекроется сразу, если он NORMAL
vicente вне форума   Ответить с цитированием
Старый 04.05.2020, 19:25   #514
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Да, это давно было. Я такими маневриками давно не занимался...
Хрена се... перекрывается и гаснет вообще на оба глаза, гад...
А, все, исправил. В конфиге вместо STOP - S.A.P. был.
__________________
next_state == 7;

Последний раз редактировалось КЕ; 04.05.2020 в 19:33.
КЕ вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо КЕ за это полезное сообщение:
Старый 04.05.2020, 20:36   #515
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

По определению, в Open Rails светофор позади сервиса - !enabled , и если он ограждает узлы, функция block_state не проверяется. У такой сигнальной головы она всегда будет возвращать BLOCK_JN_OBSTRUCTED
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 04.05.2020, 23:57   #516
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Вот упрощённый скрипт маневрового.
Скрытый текст:

next_state = next_sig_lr (SIGFN_NORMAL);
interval = opp_sig_id (SIGFN_NORMAL);
main = id_sig_lvar(interval, 1);
shunt = this_sig_lvar (1);

if (!enabled || block_state() !=# BLOCK_CLEAR || !route_set () )
{
state = 0;
if (!enabled && (this_sig_lr (SIGFN_NORMAL) <# 1))
{
store_lvar (1,0);
}
}
else
{
state = next_state;
if (main ==#1)
{
store_lvar (1,1);
}
}
draw_state = def_draw_state (state);
if ((state ==# 1) && (shunt ==# 0))
{
draw_state = 1;
}
else if ((state ==# 2) && (shunt ==# 1))
{
draw_state = 0;
}
else if ((state ==# 0) && (this_sig_lr (SIGFN_NORMAL) ># 0))
{
draw_state = 2;
}

Это одна линкованная сигнальная голова. На все линки - тот же скрипт. Один-в-один.

Надеюсь, это поможет сообществу. Для меня это не окончательный вариант. Я уже говорил о "напильнике". Кроме того, эта разработка для однопутного перегона, оборудованного двусторонней автоблокировкой. На многопутных будет по-другому. Кроме того, со временем в планах - маршрутные и сложные по строению станции... это вообще будет жесть.
(Если честно, я даже боюсь взглянуть на скрипт маршрутного ). Но, сначала - Timetable Mode.
Посему, на том откланиваюсь... пока... и возвращаюсь к сценариям.
До новых встреч!
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 05.05.2020, 00:20   #517
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Но для чего маневровому линки? Прямой или боковой путь - показание одинаковое. Я что-то пропустил??
__________________
next_state == 7;
КЕ вне форума   Ответить с цитированием
Старый 05.05.2020, 00:41   #518
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Показания одинаковые. Скорости - разные

Добавлено через 9 минут
В принципе, на сегодняшний момент в Open Rails есть сигнальные головы SPEED, но, они несовместимы с MSTS. На новых маршрутах их можно расставить. Я не буду перерасставлять сигналы на своём маршруте, длина которого, что-то в районе 800 км только главного хода. Всё, что я делаю -всегда подразумевает то, что маршрут свой я не трогаю. Манёвры можно было и по-другому оформить. И ещё много чего поменять. Но, для меня это - "топтаться на месте".
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 07.05.2020, 04:17   #519
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Прошу прощения. В скрипт проходного закралась ошибка.
Исправленный вариант под спойлером.
Скрытый текст:

next_state = next_sig_lr (SIGFN_NORMAL);

state = SIGASP_CLEAR_2;
direction = this_sig_lvar (1);

if (block_state() ==# BLOCK_OCCUPIED)
{
state = SIGASP_STOP;
}
else if ((next_state ==# SIGASP_STOP) || (next_state ==# SIGASP_STOP_AND_PROCEED) || (next_state ==# SIGASP_RESTRICTING))
{
state = SIGASP_APPROACH_1;
}
draw_state = def_draw_state (state);
if ((block_state() ==# BLOCK_CLEAR) && (next_state ==# SIGASP_APPROACH_2) )
{
draw_state = 4;
}
else if (((block_state() ==# BLOCK_CLEAR) && (next_state ==# SIGASP_APPROACH_3))
|| ((block_state() ==# BLOCK_CLEAR) && (next_state ==# SIGASP_CLEAR_1)) )
{
draw_state = 5;
}
else if ( direction ==# 1)
{
draw_state = 6;
}
if (!enabled && has_number_plate)
{
if (block_state ==# BLOCK_JN_OBSTRUCTED)
{
store_lvar (1,1);
}
else
{
store_lvar (1,0);
}
}

Поправка выделена. Без неё Жм и Зм будут открываться на занятый блок-участок.
Ещё раз, прошу прощения.

Как бы изловчиться и сделать вот так:
Двусторонняя АБ


?

Добавлено через 45 минут
Ещё дубль :o

Последний раз редактировалось vicente; 07.05.2020 в 03:44.
vicente вне форума   Ответить с цитированием
Старый 07.05.2020, 09:28   #520
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

А про Жм и Зм я тоже тогда подумал, но потом забыл спросить...
Первое видео - это МСТС?
Мне бы тоже хотелось, чтобы попутные проходные сзади горели...
__________________
next_state == 7;
КЕ вне форума   Ответить с цитированием
Старый 07.05.2020, 13:30   #521
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Оба видео - ОР.
У в старой версии горят впереди поезда по SNCA, ререкрываемый после проезда поезда горит красным по не свободному блоку, потом он "желтеет" , а уже затем - гаснет. Но, что-то там начало "глючить" и, нет-нет, предвходные горели желтым даже против движения.

Скрытый текст:
Блин, "затягивает" сигналка...
Хотел сценарий в Timetable "продвигать" , а "увяз" здесь.


Я поставил на маршруте новые светофоры, которые разоаботал , пришлось "полетать" в редакторе и добавить на двухпутной односторонней АБ обратно-глядящие головы на проходных , чтобы маневровые работали, потому что я манёвры всегда в сторону перегона на правильный путь строю. Потом подумал про однопутку, да и на двухпутном, в случае , когда сервис по неправильному пути, я так понял, правильное направление надо гасить.

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

Добавлено через 1 час 10 минут
Короче...
Направление запоминать я их "научил" (чуть позже будет ролик). В смысле, остаётся гореть то направление, по которому прошел последний сервис. Но, проблем осталось - вагон и маленькая тележка!
Во-первых, "изначально" , то есть, в начале сцены, пока ни один поезд не прошел, горят оба направления.
Во-вторых, когда происходит смена направления, от открытия выходного и пока сервис не заходит за обратный маневровый, также горят оба направления - тоже не айс.
Но, если эти два пункта ещё можно решить, то с третьим - ума не приложу: что делать. Дело в том, что...
В-третьих, чертов Open Rails учитывает пути сервисов и длину поездов. Таким образом, скажем, при выезде локомотива в маневровом режиме и смене направления его движения между входным и маневровым, симулятор может вполне выпустить встречный сервис до входного. Я тестил этот момент когда SNCA проходных был 4 - скрипт "ловил" направление выезжающей ЧМЭ-ухи и гасил направление и перед встречным горели только 4 светофора. Ночью я "добил" запоминание, в частности, изменив параметр SNCA на "-1" . Что сейчас со встроенным направлением происходит в этом случае, пока не тестил. Возможно, придётся на этот случай разрабатывать блокировку.
Костя, ты работал с функцией dist_multi_sig ()? Знаешь как она точно работает в конце участка проверки? Если я буду проверять весь перегон до маневрового, "повесив" ограничитель на него, проверка будет включать сам маневровый?
vicente вне форума   Ответить с цитированием
Старый 07.05.2020, 13:46   #522
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от vicente Посмотреть сообщение
...Костя, ты работал с функцией dist_multi_sig ()? Знаешь как она точно работает в конце участка проверки? Если я буду проверять весь перегон до маневрового, "повесив" ограничитель на него, проверка будет включать сам маневровый?
Что-то пробовал давно; но сейчас не помню ничего...
А что за ограничитель?
__________________
next_state == 7;

Последний раз редактировалось КЕ; 07.05.2020 в 13:58.
КЕ вне форума   Ответить с цитированием
Старый 07.05.2020, 14:09   #523
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

В эту функцию вводится два параметра SigFn_Type
Классическим вариантом по докумнтаци Kuju MSTS является dist_multi_sig_Xr*(SigFn_NORMAL, SigFn_DISTANCE) . Дословно это работает, как "ищи наиболее/наименее ограничивающий аспект сигнальных голов первого указанного типа , пока не встретится сигнальная голова второго типа". Это и есть ограничитель. Функция возвращает соответствующий аспект на заданном участке пути.
vicente вне форума   Ответить с цитированием
Старый 07.05.2020, 14:15   #524
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Вспоминаю... я так понял, что если, например, я эту проверку сделаю в первом проходном, то она вернет аспект входного светофора (стоящего перед узлом) в конце всей цепочки проходных. Так?
__________________
next_state == 7;
КЕ вне форума   Ответить с цитированием
Старый 07.05.2020, 15:46   #525
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Если проверять _mr и перегон свободен - то да. Но, я запутался. Нельзя так делать. Нельзя вмешиваться в уже готовый маршрут скриптом. Вообще, там бред какой-то происходит. Сигнал должен блокироваться симулятором! Я там в мини сцене своей начудил и свёл сим с ума
Сервис игрока стартует на пути трафика "лоб в лоб". Из-за того, что у игрока - точка разворота за маневровым, сим пытается "разрулить" патовую ситуацию и "протолкнуть" манёвры перед идущим навстречу поездом. А, бред заключается в том, что вместо того, чтобы остановить маневровый на выходном, а поезд на входном на "вечный красный", сим выпускает игрока при любом раскладе. В последних ночных тестах маневровому вообще горел красный 0. Я включал автопилот и ЧМЭ-уха преспокойно этот красный проезжала.

Добавлено через 3 минуты
Мне кажется, что если я поставлю поезду альтернативный path по станции, всё заработает и маневровый будет стоять у заблокированного выходного.

Добавлено через 7 минут
Через пол-часа расчехлю ноут и попробую.

Добавлено через 51 минуту
[IMG][/IMG]
Да, с блокировкой нормально всё. Неправильный старт сервиса. Я уже писал об этом. Правильно стартовав,описанных мной прежде ситуаций можно и нужно избегать.
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипты Вл ~sejo~ TrainZ - Подвижной состав 2 25.09.2010 18:11
Как эта конфигурация ? vita IT, компьютеры, электроника 9 02.06.2009 00:26
Заказы на скрипты TRam_ TrainZ — Об игре 5 03.04.2009 16:25
MSTS-конфигурация компьютера GeneZone MSTS - Об игре 6 03.03.2008 21:03
Trainz 2006 SP1 Конфигурация PC vita TrainZ — Об игре 18 11.02.2008 00:11


Текущее время: 23:36. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?