Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   MSTS - Маршруты (http://www.trainsim.ru/forum/forumdisplay.php?f=19)
-   -   Сигнализация: конфигурация и скрипты (http://www.trainsim.ru/forum/showthread.php?t=13819)

КЕ 29.09.2021 19:40

[QUOTE=vicente;602419]... Если попробовать заявить две переменные, скажем, m и n . Вначале поставить безусловное равенство m = n ;, а дальше - if (условие) { n = 1;} else (другое условие) { n = 0; }, m будет "помнить" значение n когда ни одно из условий не выполняется?[/QUOTE]


А потом, обновляя аспекты, сим "пройдёт" по скрипту, и всё снова сбросится!:mad:
Но проверить сейчас не могу...
[QUOTE=roman5;602425]Кстати еще по стилю скриптов, вместо цифр 0,1,2 стоит писать зарезервированные константы, то есть тут:
[B]if( block_state() != #0)[/B] пишем вместо 0 константу [B]Block_clear[/B][/QUOTE]
Так - и писали всегда. Цифрами только аспекты.

vicente 29.09.2021 20:17

[QUOTE=КЕ;602429]А потом, обновляя аспекты, сим "пройдёт" по скрипту, и всё снова сбросится!:mad:
Но проверить сейчас не могу...[/QUOTE]
Обнуляться-то почему? "Заява" идёт без присвоения значения. В этом - суть.
float n;
а не
float n = 0;

КЕ 29.09.2021 20:52

Было у меня что-то подобное, тоже такая переменная - не соххранялась.
Но проверим потом, конечно.

roman5 29.09.2021 23:00

[QUOTE=vicente;602431]Обнуляться-то почему? "Заява" идёт без присвоения значения. В этом - суть.
float n;
а не
float n = 0;[/QUOTE]
Без присвоения ? Там ведь либо 0, либо что попало (в с++ компиляторы работают по разному: одни 0 по умолчанию ставят, другие ничего не делают). Что ты пытаешься в m закинуть из n, если в n даже не задал ничего.

vicente 30.09.2021 06:37

[QUOTE=КЕ;602432]Было у меня что-то подобное, тоже такая переменная - не соххранялась.
Но проверим потом, конечно.[/QUOTE]
Повторение, мать его. В Open Rails [B]не запоминает[/B]. Как я его не "крутил". И в начало ставил, и в "хвост" и под ифами присваивал значение m = n. Задавал начальные значения (0, 5...). Фигос. Только заходит под if, где нет условия - все переменные - в 0.

[size="1"][color="Silver"]Добавлено через 3 минуты[/color][/size]
А, вот, таймер во время загрузки, похоже, отключить удастся. Один из тестов - получилось. Уже совсем перед сном. О полном успехе говорить рано, но похоже не только удастся отключить внешний триггер Open Rails, но и привязать к этому и мои новые таймеры, которые здесь публиковал.

КЕ 30.09.2021 10:39

Что за внешний триггер?
И похоже, что переменная принимает нулевое значение при ее объявлении, и что это происходит каждый раз при "проходе" скрипта.

vicente 30.09.2021 15:05

[QUOTE=КЕ;602441]Что за внешний триггер? [/QUOTE]
[QUOTE]
Сигнальные функции:

[B]Activate_Timing_Trigger[/B] (): активирует триггер по времени.

[B]Check_Timing_Trigger[/B] (n): проверяет триггер по времени и возвращает истину, если он был установлен более n секунд назад.

Эти две функции позволяют выполнять действия с сигналами, запускаемые по времени, например фиксированная задержка по времени при открытии светофора и т. д.
[/QUOTE]
Я на проходных испоьзую их для "оттяжки" на несколько секунд момента [B]визуального[/B] переключения сигнала с разрешающего на запрещающее показание (см.мои ролики - там это есть), а на светофорах перед стрелками, как я писал раннее, оттягиваю открытие сигнала, имитируя проследлвание изостыков/сч.осей и время требуемое СЦБ на отработку маршрута перед открытием сигнала.

[size="1"][color="Silver"]Добавлено через 57 минут[/color][/size]
[YOUTUBE="https://youtu.be/fHOKLFgCmNU"]fHOKLFgCmNU [/YOUTUBE]

[size="1"][color="Silver"]Добавлено через 1 минуту[/color][/size]
Вот она - визуальная "оттяжка" момента переключения проходного с использованием вышеупомянутых функций

КЕ 30.09.2021 15:20

И к это пишется - в конфиге, или еще где-то?

vicente 30.09.2021 17:20

На втором видео - иммитация открытия светофора с задержкой из-за работы СЦБ/дежурного:
[YOUTUBE="https://youtu.be/Hg5M-ETih_0"]Hg5M-ETih_0[/YOUTUBE]

[size="1"][color="Silver"]Добавлено через 14 минут[/color][/size]
[QUOTE=КЕ;602454]И к это пишется - в конфиге, или еще где-то?[/QUOTE]
Ничего в конфиге не пишется. В рамке в посте 807 описано: как делать в скрипте. Выбираешь какое-то положение, например, в последнем случае, я включаю триггер этот когда светофор заблокирован, проверку триггера - в условия открытия сигнала. И получается такая "няма":D

[size="1"][color="Silver"]Добавлено через 20 минут[/color][/size]
Проблема с этими триггерами - при загрузке сценария, они вообще не учитываются. То есть, если я поставил [B]
Check_Timing_Trigger*(n) [/B] в условие, оно [B]не будет выполняться[/B] пока игра загружается! То есть, светофор на последнем видео при "просчете" трафиков , стартующих до времени старта игрока, будет закрыт! В простых сценариях, может, это не так существенно - сценаристу нужно просто это учитывать. Там же вся движуха стартует практически вместе с игроком. Но, я ишраю по другому. У меня и в Activity Mode всё расписание проигрывается, а в Timetable Mode - там по умолчанию просчитывается всё расписание с 00:00. Поездная ситуация при старте игрока, скажем, в 7:00 у меня в Timetable была очень печальная. Всё стоит на входных/выходных, куча AI поездов не стартовала и была [S]изгнана сцаными тряпками[/S] выброшена из симуляции. На проходных - спокойней. Там привязан не аспект, а показание. В смысле, то, что ты видешь на видео - зелёный остаётся, на самом деле светофор, как только нос ездючины поравнялся с ним, сразу же становится STOP , при этом зелёный свет горит ещё 5 секунд.

[size="1"][color="Silver"]Добавлено через 14 минут[/color][/size]
Вторая проблема, для меня, во всяком случае - таймер этот можно использовать только единожды в сигнальной голове. Он один. В коде самой игры есть clock , он себе бежит, первой функцией мы просто включаем секундомер и таймер считает "с того момента". Я не могу его дважды стартовать- второй старт собъёт мне условие первого. То есть, оба "таймера" включатся. Возможно, теоретически, можно поставить в двух условиях, но эти условия должны "не соприкасаться," друг с другом. Мне лично, это не подходит. Да, и не могу себе представить, что кому-то где-то удастся так разделить работу сигнальной головы.

[size="1"][color="Silver"]Добавлено через 44 минуты[/color][/size]
А, хочется "няшности"! :o Чтобы и то, что на первом видео и на втором, работало [B]на одном светофоре[/B]! Касаемо входных, у меня стоит 45 секунд, плюс - каждый маневровый имеет свой триггер не 15 секунд (в нынешней версии, грядёт коренная переделка всей логики - все Main-светофоры будут работать по-другому), получается на входном - минута, 1:15 и т.д. - зависит от количества маневровых на пути сервиса и положения стрелок.выходные - 20 секунд (я уже писал, что в идеале - сделать "птички" в настройках светофора с разным временем, но где взять время на всё это?). К этому всему нужно "присобачить" delay на смене показания, когда ездючина проезжает маркер... Вот здесь и пригодится тот "таймер" внутри скрипта, что ч на днях здесь написал "онлайн" :p Причём, "моих" таймеров можно пихать в скрипт сколько угодно. :russian:

vicente 30.09.2021 22:24

Константин, а ты не пробовал "впаривать" USER5, USER6 и так далее? Вы не проверяли это дело с Игорем, случайно?

КЕ 30.09.2021 22:57

Нет, не тестили, но можно смело рискнуть!:D
Вот 7-ю "Винду" до ума доведу, и начну испытания.;)

vicente 01.10.2021 13:04

Да, не заморачивайся! Кужувцы, мне кажется, только 4 впихнули, да и то - в Документации указали мол, хз: будет работать или нет, так как сами не тестировали это дело. Да, и нафиг они нужны? Есть 6 (вместе с Gradient и Number) должно хватить "за глаза".
Вообще, всё это - мелочи. Есть проблемы куда серьёзнее, удовлетворительного решения которым я не вижу.

КЕ 01.10.2021 14:48

[quote]
...
Loading TRK TDB SIGCFG DAT ACT RDB CARSPAWN SIGSCR

[COLOR="Red"]Warning: Incomplete crossover : indices 578 and 586

Warning: Incomplete crossover : indices 239 and 237[/COLOR]

ENV SIGCFG SIGCFG TTYPE
...[/quote]
ORTS написал это в лог. Что это такое - это к сигнализации относится?

vicente 01.10.2021 15:29

Нет. Это относится к БД путей. Кроссовер - это "глухое" пересечение. Хз, если честно, что они от них хотят. У меня 3 таких сообщения на маршруте. Я нашёл эти кроссоверы - все т.н. ложные, которые я ваял вручную. Причём, таких "ложных" кроссоверов у меня на маршруте гораздо больше, в сим ругается только на три. Я забил. Ругается, ну и мать его так. Это ничему не мешает, по крайней мере, у меня.

[size="1"][color="Silver"]Добавлено через 9 минут[/color][/size]
Поверь мне, ты не хочешь видеть мой лог :rofl::rofl::rofl:

Злостный оффтоп под спойлером :crazy:
[SPOILER]
TT File : C:\Train Simulator\ROUTES\CUSTOM_2\ACTIVITIES\OPENRAILS\Monday.timetable_or


Information: Skipped unknown notch type EngineBrakesControllerRelease in C:\Train Simulator\Trains\trainset\UZ_VL80k-148\uz_vl80k-148a.eng:line 575

Information: Skipped unknown notch type EngineBrakesControllerApply in C:\Train Simulator\Trains\trainset\UZ_VL80k-148\uz_vl80k-148a.eng:line 576

Information: Skipped unknown notch type EngineBrakesControllerApply in C:\Train Simulator\Trains\trainset\UZ_VL80k-148\uz_vl80k-148a.eng:line 577

Information: Skipped unknown notch type EngineBrakesControllerApply in C:\Train Simulator\Trains\trainset\UZ_VL80k-148\uz_vl80k-148a.eng:line 578

Information: Skipped unknown notch type EngineBrakesControllerApply in C:\Train Simulator\Trains\trainset\UZ_VL80k-148\uz_vl80k-148a.eng:line 579

Warning: Expected end of file in C:\Train Simulator\Trains\trainset\zdsEMU_ER9T-732\zdsEMU_ER9T-732_01_part_or.eng:line 41

Warning: Expected end of file in C:\Train Simulator\Trains\trainset\zdsEMU_ER9T-732\zdsEMU_ER9T-732_09_part_or.eng:line 41

Warning: Expected end of file in C:\Train Simulator\Trains\trainset\zdsEMU_ER9T-731\zdsEMU_ER9T-731_01_or_volohov.eng:line 41

Warning: Expected end of file in C:\Train Simulator\Trains\trainset\zdsEMU_ER9T-672\zdsEMU_ER9T-672_01_or.eng:line 41

Warning: Expected end of file in C:\Train Simulator\Trains\trainset\zdsEMU_ER9T-672\zdsEMU_ER9T-672_09_or.eng:line 41

Warning: Expected end of file in C:\Train Simulator\Trains\trainset\zdsEMU_ER9T-731\zdsEMU_ER9T-731_01_or_amber.eng:line 41

Warning: Expected end of file in C:\Train Simulator\Trains\trainset\zdsEMU_ER9T-732\zdsEMU_ER9T-732_01_amb_or.eng:line 41

Warning: Expected end of file in C:\Train Simulator\Trains\trainset\zdsEMU_ER9T-732\zdsEMU_ER9T-732_09_amb_or.eng:line 41

Warning: Expected end of file in C:\Train Simulator\Trains\trainset\zdsEMU_ER9T-732\zdsEMU_ER9T-732_01_vol_or.eng:line 41

Warning: Expected end of file in C:\Train Simulator\Trains\trainset\zdsEMU_ER9T-732\zdsEMU_ER9T-732_09_vol_or.eng:line 41

TTROUTES:185 TTTRAINS:515

Information: Invalid passing path defined for train 8 at section 1109 : overlaps with other passing path

Information: Invalid passing path defined for train 28 at section 4674 : overlaps with other passing path

Information: Invalid passing path defined for train 37 at section 4674 : overlaps with other passing path

Information: Invalid passing path defined for train 43 at section 4674 : overlaps with other passing path

Information: Invalid passing path defined for train 49 at section 4674 : overlaps with other passing path

Information: Invalid passing path defined for train 60 at section 4674 : overlaps with other passing path

Information: Invalid passing path defined for train 233 at section 3290 : overlaps with other passing path

Information: Invalid passing path defined for train 251 at section 3290 : overlaps with other passing path

Information: Invalid passing path defined for train 266 at section 3290 : overlaps with other passing path

Information: Invalid passing path defined for train 280 at section 3290 : overlaps with other passing path

Information: Invalid passing path defined for train 292 at section 3290 : overlaps with other passing path

Information: Invalid passing path defined for train 515 at section 4667 : overlaps with other passing path

Information: Invalid train activation command: train 0-2051:monday not found, for train S-2051_rev:monday

Information: Invalid train activation command: train 0-2053:monday not found, for train S-2053_rev:monday

Information: Invalid train activation command: train 0-2053:monday not found, for train S-2055_rev:monday


Run AI : 512 [/SPOILER]


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

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