Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   OpenRails - Об игре (http://www.trainsim.ru/forum/forumdisplay.php?f=63)
-   -   Сигнализация (http://www.trainsim.ru/forum/showthread.php?t=18813)

vicente 18.10.2021 23:37

Внимательно смотри. Всё там появляется. При проезде входного ж, АЛСН сменяется на кж+б, когда Чех проезжает выходной с пути приема в другую сторону, кж+б сменяется на кж - аспект выходного. По расстановке сигналов, все маневровые повторяют обратно-смотрящую голову на этом входном а она на следующий STOP даёт STOP_AND_PROCEED. Сам выходной, естественно, STOP. Я на АЛСН текстуру перекроил соответственно.

[size="1"][color="Silver"]Добавлено через 1 час 37 минут[/color][/size]
Если ты так хочешь делать - у меня оно уже много лет так. Кажется с тех пор, когда изменили принцип движения ездючин и сигналку посде 137× какой-то версии. Эта "вывернутая" башка, в оригинале, предназначалась немного для другого: держать маневровые в STOP , потому что на block_state () = BLOCK_OCCUPIED у меня маневровый давал RESTRICTING и "ловил" это состояние блока пока хвост ехал от сигнала к стрелке. Входной на следующий RESTRICTING даёт у меня STOP , но это не мешает симулятору прокладывать маршрут через этот закрытый STOP и через RESTRICTING и стрелка тупо не переводилась. А заодно и коды "теряются". По скриптам, если что, спрашивай. Как говорится, чем смогу. На боковые у меня STOP_AND_PROCEED, как и на главные. Но, наверное, на бок нужно давать RESTRICTING с синим, а на главные - STOP_AND_PROCEED , а кж прописать на обв этих аспекта: 0 и 1. Тогда, может, будет немного лучше.

vicente 21.10.2021 12:12

В общем, докладываю:
С помощью интуиции, логики, документации в интернете и такой-то матери, написал внешний скрипт для АЛСН. Сначала пытался [S]стать Лордом[/S] написать всё и сразу, но после взаимного обмена матами с программой, решил [S]не выпендриваться[/S] и сделать для начала, чтобы работало "как в MSTS ". Единственное отличие - аспектоы сразу сделал группой: на 0, 1 и 2 - кж, на 3 и 4 - ж и на 6 и 7 - з. Работает. Но, при попытке привязать всё это дело к головам DISTANCE, для чего, собссно я это всё затеял, пока терплю жесточайший fail ! АЛСН тупо упирается в нулевой аспект, вернее, в первую текстуру в раскладке - они там раскладываются, почему-то, "наоборот": два ряда по 4 сектора в alsn.ace при заявлении enum от нуля до 7, почему-то сначала идёт 7. И, по умолчанию - тоже 7. Два дня интенсивно сношался с кодом и с симом, пока вкурил это дело. Примечательно, что старые сэйвы с пропатчеными локами не идут. Не работает ни та, ни другая логики. Но, если начать играть с отскриптованым локомотивом сначала - с сэйва работает на новом коде без проблем.

КЕ 21.10.2021 12:46

DISTANCE? А как привязать - ведь сервисы не учитывают его.

КЕ 21.10.2021 15:51

[quote]... почему-то сначала идёт 7. И, по умолчанию - тоже 7. [/quote] Вот теперь понятно, почему у меня в тестах (в сообщении 37) при отсутствии сигнала на Мониторе пути - локомотивный зеленый.

vicente 21.10.2021 18:26

Не думаю, что это связано. Я говорю о совсем другом способе "снятия" аспектов. Это код, который через функции другого кода вытаскивает из программы нужные данные. Функционал ограничен теми функциями, которые разрабы посчитали нужными для взаимодействия поезда игрока с трэком на современных системах сигнализаций. Далеко не всё можно вытащить, да и точность, судя по отзывам - не 100%. Но, расширить функционал через это дело - можно (см.пост выше). Красный, ЭПК, КЛУБы-шмубя всякие и т.п.

[size="1"][color="Silver"]Добавлено через 1 минуту[/color][/size]
А то, что "наоборот", так может, я в заяве их не с 0 до 7, а с 7 до 0 впишу? Но, это уже на следующей неделе. Сын на уик-энд приехал и я отдал ему комп во всевластие

[size="1"][color="Silver"]Добавлено через 5 минут[/color][/size]
DISTANCE не останавливает поезда, конечно. Он идёт вместе с NORMAL . Более того, на существующих маршрутах можно было просто эти DISTANCE-ы напихать перед маркерами светофоров на кодируемых путях и - вуаля - всё фурфчит для игрока. А, трафики их игнорят.
Кстати, этот способ позволяет как останавливать игрока на DISTANCE, так и не останавливать его на NORMAL STOP

[size="1"][color="Silver"]Добавлено через 2 минуты[/color][/size]
На своём "бешеном" ВЛ80к я пока экстренное не поставил, так что, гоняю через красные. Кстати, после проезда красного коды не ловятся и на АЛСН- зелёный. Это грустно. Не знаю: можно ли его будет победить

КЕ 21.10.2021 21:29

[QUOTE=vicente;603025]Не думаю, что это связано. Я говорю о совсем другом способе "снятия" аспектов. Это код, который через функции другого кода вытаскивает из программы нужные данные. Функционал ограничен теми функциями, которые разрабы посчитали нужными для взаимодействия поезда игрока с трэком на современных системах сигнализаций. Далеко не всё можно вытащить, да и точность, судя по отзывам - не 100%[/QUOTE]
Олег, а можно пример такого кода?

vicente 22.10.2021 00:37

[URL="https://github.com/YoRyan/openrails-traincontrol/blob/master/YoRyan_AMTK_ATC_ACSES/YoRyan_AMTK_ATC_ACSES.cs"]Пожалуйста[/URL].

[size="1"][color="Silver"]Добавлено через 1 час 44 минуты[/color][/size]
С DISTANCE я ещё не закончил. Насколько я понимаю, данные о сигналах TSC script получает из *.tdb маршрута. Причём ищет он этот самый DISTANCE в "сигнальной точке". Я гонял свою ездючину по своему маршруту, где DISTANCE - одноголовые предупредительные светофоры. Но, DISTANCE в том же АЕ не видны на треках. Может быть, если "впаять" этот DISTANCE к NORMAL , результат будет иной. Но, и без этого можно выкрутить вполне удовлетворительный результат. Возможно, будет немного геморройнее. Например, алгоритмом "если следующий светофор имеет голову DISTANCE - дать отличный от NORMAL аспект на локомотивный" даёт нам возможность, поставив этот DISTANCE на некодируемые пути или на ПАБ получать белый АЛСН [B]без потери работоспособности[/B]
сигнализации.
Смекаешь? ;)

vicente 23.10.2021 02:58

[S]Пока дети спят[/S], пробрался к компу [S]на чвсик[/S] и "научил"-таки свой лок ловить DISTANCE на АЛСН!!! Причём делал это уже на новом "полигоне" коим стал Киев-Фастов-Казатин. Можно спокойно [S]идти спать[/S] думать - чем заниматься раньше: мусолить TCS script на предмет таймеров, ЭПК и УКБМ или сделать сначала новую сигналку.

vicente 23.10.2021 12:09

Товарищи! Нужна помощь!
 
У меня [S]кривые руки[/S] не получается сделать текстуру alsn.ace . Во-первых, у меня нет фотошопа и я им не владею, во-вторых, на новом компе, почему-то, MakeAce материт меня безбожно и не хочет конвертить. В-третьих, правдоподобно нарисовать красный у меня в "рисовальне" не получится [S](см. зачеркнутый текст выше)[/S].
Может кто-то нарисовать этот красный и разложить сектора этой текстуры для ВЛ80к-125 с этого сайта (tsrLoco_vl80-Alias/CABVIEW_3/alsn.ace)?
В текстуре вида:

1 2 3 4
5 6 7 8

1 и 8 должны быть белыми. Порядок остальных значения не имеет. Скажем, 2 - к/ж, 3 - б, 4 - ж, 5 - к, 6 - без огней, 7 - з.

Буду очень благодарен.

КЕ 23.10.2021 12:45

Олег, сейчас попробую...

[size="1"][color="Silver"]Добавлено через 26 минут[/color][/size]
Вот так пойдёт? [url]https://disk.yandex.ru/d/ZvizGu6qPbL51Q[/url]

vicente 23.10.2021 13:57

Костя, спасибо большое. Пойдёт.

Можно двигаться дальше.
[Пока это - один блок кода, всё можно будет безболезненно менять. Позже - будет сложнее, но не невозможно, конечно]

Теперь вопрос к тебе, как к специалисту по "передаче информации по шине DISTANCE". Работает эта фигня только с [B]головами DISTANCE на сигнальных точках с NORMAL светофорами[/B]. Там две функции снятия аспекта с DISTANCE, я сначала обычную пихнул - "следующий аспект головы типа DISTANCE" - поэтому не получалось у меня тогда. Аспект эта функция ловит. Но, на расстоянии между 0.4 и 0.3 до светофора (зачем-то оно кому-то нужно там было, скорее всего для британских сигналов приближения, хотя TCS , вроде написанные есть, пока, для Франции, Испании, Италии и Штатов, только...). Затем нашёл там другую функцию: "[B]аспект DISTANCE следующего сигнала с NORMAL головой[/B]" (ха-ха! Да! Это не одно и то же). И зафурычило. Если есть в сигнале голова DISTANCE- даёт на АЛСН то, что я прописал, а если нет - даёт то, что в левом верхнем углу alsn.ace (я хз: как теперь это называть - через TCS у меня нумерация наоборот, я писал, этот аспект в TCS -7). До сих пор - всё нормально. Ставим DISTANCE опциональной головой на кодируемые пути и получаем с них коды АЛСН. На не кодируемые не отмечаем птичкой при установке сигнала в редакторе- кода нет. Вопрос, что делать с маневровыми и при выезде с некодируемого пути? На маневровые на главных путях DISTANCE ставить нужно - коды должны приниматься без сбоев по главным. На боковые некодируемые, DISTANCE головы с маневровых должны передавать белый. Любой. По твоей текстуре это может быть 0, 7 и 2(или 5 - как смотреть, смысл ты понял). Как в sigscr.dat поймать эту ситуацию: когда нет головы DISTANCE на сигнале? Если я пропишу dist_multi_sig_lr (SigFn_DISTANCE, SigFn_NORMAL), даст оно мне 0, если в сигнале нет головы DISTANCE ?

КЕ 23.10.2021 14:26

По идее да - отсутствие дистанс-головы даст "0"-аспект. Но не получится ли так, что мы "поймаем" аспект какой-то следующей впередистоящей сигнальной точки с дистанс-головой? Или коды "останавливаются" на том светофоре... Помню, давно был разговор об этом еще с Игорем - но тщательно не тестировали тогда...
Я бы проверил. Или в каждый светофор поставить дистанс-субобъект - если не нужна проверка по next_sig_xx, то пусть будет постоянно state=0;.

vicente 23.10.2021 15:27

[quote]
Тебе вопрос другой. Если следующий сигнал - только NORMAL, а за ним - NORMAL c DISTANCE , next_sig_lr(SigFn_DISTANCE) будет его "ловить через" голову этого NORMAL или нет?[/quote]
Олег, это надо протестировать. Был разговор, что "дистансы" могут "застревать" в этом случае на светофоре NORMAL.

vicente 23.10.2021 17:49

[URL="http://www.trainsim.ru/forum/showpost.php?p=603081&postcount=2801"]Очень хорошо[/URL]. Если следующий код не 3,, "свистим". Это будет проще написать, чем алгоритм "понижения" с зелёного на желтый и с жёлтого на к/ж.

vicente 24.10.2021 14:07

[QUOTE=vicente;603075]


1 2 3 4
5 6 7 8

1 и 8 должны быть белыми. Порядок остальных значения не имеет. Скажем, 2 - к/ж, 3 - б, 4 - ж, 5 - к, 6 - без огней, 7 - з.

Буду очень благодарен.[/QUOTE]
Блин! Забыл про КЖ+Б. Надо бы на номере 3 его вместо просто белого...
Олег, вот держи:
[url]https://disk.yandex.ru/d/ZvizGu6qPbL51Q[/url]


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

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