![]() |
Внимательно смотри. Всё там появляется. При проезде входного ж, АЛСН сменяется на кж+б, когда Чех проезжает выходной с пути приема в другую сторону, кж+б сменяется на кж - аспект выходного. По расстановке сигналов, все маневровые повторяют обратно-смотрящую голову на этом входном а она на следующий 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. Тогда, может, будет немного лучше. |
В общем, докладываю:
С помощью интуиции, логики, документации в интернете и такой-то матери, написал внешний скрипт для АЛСН. Сначала пытался [S]стать Лордом[/S] написать всё и сразу, но после взаимного обмена матами с программой, решил [S]не выпендриваться[/S] и сделать для начала, чтобы работало "как в MSTS ". Единственное отличие - аспектоы сразу сделал группой: на 0, 1 и 2 - кж, на 3 и 4 - ж и на 6 и 7 - з. Работает. Но, при попытке привязать всё это дело к головам DISTANCE, для чего, собссно я это всё затеял, пока терплю жесточайший fail ! АЛСН тупо упирается в нулевой аспект, вернее, в первую текстуру в раскладке - они там раскладываются, почему-то, "наоборот": два ряда по 4 сектора в alsn.ace при заявлении enum от нуля до 7, почему-то сначала идёт 7. И, по умолчанию - тоже 7. Два дня интенсивно сношался с кодом и с симом, пока вкурил это дело. Примечательно, что старые сэйвы с пропатчеными локами не идут. Не работает ни та, ни другая логики. Но, если начать играть с отскриптованым локомотивом сначала - с сэйва работает на новом коде без проблем. |
DISTANCE? А как привязать - ведь сервисы не учитывают его.
|
[quote]... почему-то сначала идёт 7. И, по умолчанию - тоже 7. [/quote] Вот теперь понятно, почему у меня в тестах (в сообщении 37) при отсутствии сигнала на Мониторе пути - локомотивный зеленый.
|
Не думаю, что это связано. Я говорю о совсем другом способе "снятия" аспектов. Это код, который через функции другого кода вытаскивает из программы нужные данные. Функционал ограничен теми функциями, которые разрабы посчитали нужными для взаимодействия поезда игрока с трэком на современных системах сигнализаций. Далеко не всё можно вытащить, да и точность, судя по отзывам - не 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к я пока экстренное не поставил, так что, гоняю через красные. Кстати, после проезда красного коды не ловятся и на АЛСН- зелёный. Это грустно. Не знаю: можно ли его будет победить |
[QUOTE=vicente;603025]Не думаю, что это связано. Я говорю о совсем другом способе "снятия" аспектов. Это код, который через функции другого кода вытаскивает из программы нужные данные. Функционал ограничен теми функциями, которые разрабы посчитали нужными для взаимодействия поезда игрока с трэком на современных системах сигнализаций. Далеко не всё можно вытащить, да и точность, судя по отзывам - не 100%[/QUOTE]
Олег, а можно пример такого кода? |
[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] сигнализации. Смекаешь? ;) |
[S]Пока дети спят[/S], пробрался к компу [S]на чвсик[/S] и "научил"-таки свой лок ловить DISTANCE на АЛСН!!! Причём делал это уже на новом "полигоне" коим стал Киев-Фастов-Казатин. Можно спокойно [S]идти спать[/S] думать - чем заниматься раньше: мусолить TCS script на предмет таймеров, ЭПК и УКБМ или сделать сначала новую сигналку.
|
Товарищи! Нужна помощь!
У меня [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 - з. Буду очень благодарен. |
Олег, сейчас попробую...
[size="1"][color="Silver"]Добавлено через 26 минут[/color][/size] Вот так пойдёт? [url]https://disk.yandex.ru/d/ZvizGu6qPbL51Q[/url] |
Костя, спасибо большое. Пойдёт.
Можно двигаться дальше. [Пока это - один блок кода, всё можно будет безболезненно менять. Позже - будет сложнее, но не невозможно, конечно] Теперь вопрос к тебе, как к специалисту по "передаче информации по шине 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 ? |
По идее да - отсутствие дистанс-головы даст "0"-аспект. Но не получится ли так, что мы "поймаем" аспект какой-то следующей впередистоящей сигнальной точки с дистанс-головой? Или коды "останавливаются" на том светофоре... Помню, давно был разговор об этом еще с Игорем - но тщательно не тестировали тогда...
Я бы проверил. Или в каждый светофор поставить дистанс-субобъект - если не нужна проверка по next_sig_xx, то пусть будет постоянно state=0;. |
[quote]
Тебе вопрос другой. Если следующий сигнал - только NORMAL, а за ним - NORMAL c DISTANCE , next_sig_lr(SigFn_DISTANCE) будет его "ловить через" голову этого NORMAL или нет?[/quote] Олег, это надо протестировать. Был разговор, что "дистансы" могут "застревать" в этом случае на светофоре NORMAL. |
[URL="http://www.trainsim.ru/forum/showpost.php?p=603081&postcount=2801"]Очень хорошо[/URL]. Если следующий код не 3,, "свистим". Это будет проще написать, чем алгоритм "понижения" с зелёного на желтый и с жёлтого на к/ж.
|
[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