![]() |
[QUOTE=КЕ;539405]1. М-м-дя-я... "Головы" SHUNTING тоже оппозиты не читают, условие [B][I]opp_sig_lr (SIGFN_DISTANCE)[/I][/B] всегда возвращает "0". И в стабильной, и в последней тестовой версиях.
2. Если на станц. пути стоят вагоны, а за вагонами горит белый ( [I]state = 2;[/I]), то при этом на манёврах условие [I][B]if ( next_N == 2 )[/B][/I] не работает, [I][B]next_sig_xx[/B][/I] возвращает ноль (вроде как РЦ зашунтирована колёсами, и коды не проходят:)).:mad: Где можно посмотреть список внешних переменных для OR?[/QUOTE] Оппозит ловит только enabled светофор. По 2.... Чет-ты, кажется, "мудришь" там. Работает. Как это:[QUOTE]if (enabled && (block_state() !=# BLOCK_CLEAR) && (next_state ># SIGASP_RESTRICTING)) { state = SIGASP_STOP; }[/QUOTE] Так и это: [QUOTE] if (enabled && (block_state() !=# BLOCK_CLEAR) && (next_state ==# SIGASP_STOP)) { state = SIGASP_RESTRICTING; }[/QUOTE] Моя версия 3651 |
[quote]Оппозит ловит только [I]enabled[/I] светофор[/quote] - вообще [I]enabled[/I], или у которого он указан в скрипте?
У меня маневровый Б-С типа SHUNTING, из-за этого и разница. |
Всё, что я дал [URL="http://trainsim.ru/forum/showpost.php?p=539239&postcount=282"]здесь[/URL] - работает. Просто [S]добавь воды[/S] подставь и тести :cool:
[size="1"][color="Silver"]Добавлено через 1 минуту[/color][/size] [QUOTE=КЕ;539415]- вообще [I]enabled[/I], или у которого он указан в скрипте?[/QUOTE] Если у сигнала в скрипте прописана зависимость от оппозитной функции, эта зависимость будет проверяться только если сигнал перед поездом (enabled) |
Подставил, работает! А SNCA у него какой, -1?
Что же, получается, все маневровые Б-С на NORMAL переводить... |
Ну, это уже я не знаю )))
Я тебе тогда сразу сказал, что буду делать их NORMAL и сделал. По-другому с манёврами трафика проблемы. Маневровые не идеальны, есть несколько ситуаций, в которых приходится ехать "по приказу" на синий SAP, а также ситуация с занятым путём и красным на выходном. Хотя, с другой стороны, трафик не прицепляется к составу с локомотивом (для этого есть специальная WP), а идёт за ним по Нодам. [size="1"][color="Silver"]Добавлено через 1 минуту[/color][/size] Если решишь делать NORMAL-ами, советую ставить "заглушки" - маркеры РЦ (у меня они на точках выходных бэк-фэйсами, но можно и отдельно). Скрипты я дам. [size="1"][color="Silver"]Добавлено через 9 минут[/color][/size] [QUOTE=КЕ;539419]А SNCA у него какой, -1?.[/QUOTE] Да, [B]-1[/B] |
А что за маркеры РЦ, для чего они?
|
Скрипт РЦ (устанавливается на пути [B]после[/B] всех стрелок, у меня, как я уже сказал, это обратно-смотрящая голова, но можно отдельно делать)
[SPOILER]SCRIPT KRN23_RC_60 extern float block_state (); extern float next_sig_lr (); extern float def_draw_state (); extern float state; extern float draw_state; extern float enabled; extern float sig_feature (); float next_state; state = SIGASP_STOP; next_state = next_sig_lr (SIGFN_NORMAL); if (enabled && (block_state() ==# BLOCK_CLEAR) && (next_state ==# SIGASP_STOP)) { state = SIGASP_STOP_AND_PROCEED; } else if (enabled && (block_state() !=# BLOCK_CLEAR) && (next_state ==# SIGASP_STOP)) { state = SIGASP_RESTRICTING; } else if (enabled && (block_state() !=# BLOCK_CLEAR) && (next_state ==# SIGASP_STOP_AND_PROCEED)) { state = SIGASP_RESTRICTING; } else if (enabled && (block_state() !=# BLOCK_CLEAR) && (next_state ># SIGASP_RESTRICTING)) { state = SIGASP_STOP; } else if (enabled && (next_state ==# SIGASP_RESTRICTING)) { state = SIGASP_RESTRICTING; } else if (enabled && (block_state() ==# BLOCK_CLEAR) && (next_state ># SIGASP_RESTRICTING)) { state = next_state; } else { state = SIGASP_STOP; } draw_state = def_draw_state (state); [/SPOILER] В принципе, практически то же самое, что я давал, они у меня раньше отдельными светофорами стояли, но, если несколько маневровых, надо было их по-разному делать, я сделал, но потом обнаружилась проблема с приготовлением маршрута, поэтому сегодня он только маркер :) Маркеров несколько, отличаются только скоростью на SAP в конфиге в зависимости от пути (40 км/ч, 60... 80.... и т.д.) Сам маневровый [SPOILER]SCRIPT KRN23_WB_k2 extern float block_state (); extern float route_set (); extern float next_sig_lr (); extern float this_sig_lr (); extern float next_sig_mr (); extern float def_draw_state (); extern float state; extern float draw_state; extern float enabled; extern float sig_feature (); float next_state; next_state = next_sig_lr (SIGFN_NORMAL); if (route_set () ) { state = SIGASP_STOP; if (enabled && (block_state() ==# BLOCK_CLEAR)) { state = next_state; } draw_state = def_draw_state (state); } else { state = SIGASP_STOP; draw_state = 0; if (this_sig_lr (SIGFN_NORMAL) ># SIGASP_STOP) { draw_state = 2; } } [/SPOILER] Этих можешь ставить сколько угодно. Они будут работать в связке и каждый отдельно (то есть, можно завести сервис за один/два/три и только они будут работать, остальные будут держать входной 0) Всех дел :o [size="1"][color="Silver"]Добавлено через 4 минуты[/color][/size] Это[QUOTE]if (this_sig_lr (SIGFN_NORMAL) ># SIGASP_STOP) { draw_state = 2; }[/QUOTE]Потому что он линкованый у меня из-за скорости. Я пока их не трогаю, они у меня расставлены на маршруте, но сегодня скорость на SAP можно не устанавливать, делать один, а скорость задавать специальным маркером типа SPEED - новый тип только для ОР |
О, интересно! Что-то вроде было похожее у АРК с скоростями на SAP... Надо попробовать, потестировать вечером.
А, про ноды - если трафик идет "по ним", следующий сигнал с поездным значением отменяет это дело? |
Да, отменяет. На Ноды переводят RES и SAP, остальные возвращают.
|
Про спид-маркеры читал, даже по-английски немного понял.:) То есть можно после SAP-маневрового поставить это, чтоб заходить на станцию со ск. например, 40 км/ч при закрытом выходном? А МСТС что скажет, не пошлет меня лесом с такими маркерами?:)
[size="1"][color="Silver"]Добавлено через 7 минут[/color][/size] Тут еще дело в том, что делается скрипт ОР для версии сигналки, уже установленной на маршруте "Павловск". То есть в расстановке светофоров и маркеров все должно оставаться как есть, без изменений. Вот и пытаюсь что-то выжать из этого.:) |
Естественно, в МСТС всё нужно ставить. То есть, прописывать в конфиге на МСТС-овском языке. Никаких новых функций там нет. головы надо прописывать как INFO, SuHNT и тому подобное, с "левыми" конфигами и скриптами. А как же иначе?
[size="1"][color="Silver"]Добавлено через 2 минуты[/color][/size] Если на выходных у тебя есть "лишняя" голова, которую можно развернуть - отлично. Я на моделях Тимаса разворачивал не переставляя светофоры. У него там по 2 линка на главный путь и по 2 по неправильному с АЛСО, вот я по одной и "оттяпал" ))) |
У моих есть, но не у всех расставленных. И да, менял тоже, где были вторые головы.
_______________ Пробовал переводить сигналку в ручной режим по Ctrl+F9, но не понял, что же делать с этим... или это если сценарий "застрял"?:) |
Что это за Ctrl+F9? 0_0
[size="1"][color="Silver"]Добавлено через 2 минуты[/color][/size] Может, Alt+F9? |
Перепутал:o, вот так - Ctrl+M.
|
[URL="http://forum.zaborin.ru/topic.php?forum=7&topic=4&postid=1428607209#1428607209"]Manual Mode[/URL],что ли? Так оно "клинит" весь сценарий! Помни, что [B]ни одна[/B] стрелка в этом режиме не переводится автодиспетчером.
[size="1"][color="Silver"]Добавлено через 1 час 3 минуты[/color][/size] [IMG][url=http://itmages.ru/image/view/5117512/752d0fc3][img]http://storage3.static.itmages.ru/i/16/1101/h_1477961543_3299901_752d0fc3dd.png[/img][/url][/IMG] ;) [size="1"][color="Silver"]Добавлено через 49 минут[/color][/size] На скрине -- маневровый сигнал и "маркер РЦ". Стрелка остаётся "стерильной зоной". Когда состав на стрелке -- маневровый строго STOP, только так автодиспетчер может производить свои операции. |
Текущее время: 00:38. Часовой пояс GMT +4. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim