![]() |
[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] Так - и писали всегда. Цифрами только аспекты. |
[QUOTE=КЕ;602429]А потом, обновляя аспекты, сим "пройдёт" по скрипту, и всё снова сбросится!:mad:
Но проверить сейчас не могу...[/QUOTE] Обнуляться-то почему? "Заява" идёт без присвоения значения. В этом - суть. float n; а не float n = 0; |
Было у меня что-то подобное, тоже такая переменная - не соххранялась.
Но проверим потом, конечно. |
[QUOTE=vicente;602431]Обнуляться-то почему? "Заява" идёт без присвоения значения. В этом - суть.
float n; а не float n = 0;[/QUOTE] Без присвоения ? Там ведь либо 0, либо что попало (в с++ компиляторы работают по разному: одни 0 по умолчанию ставят, другие ничего не делают). Что ты пытаешься в m закинуть из n, если в n даже не задал ничего. |
[QUOTE=КЕ;602432]Было у меня что-то подобное, тоже такая переменная - не соххранялась.
Но проверим потом, конечно.[/QUOTE] Повторение, мать его. В Open Rails [B]не запоминает[/B]. Как я его не "крутил". И в начало ставил, и в "хвост" и под ифами присваивал значение m = n. Задавал начальные значения (0, 5...). Фигос. Только заходит под if, где нет условия - все переменные - в 0. [size="1"][color="Silver"]Добавлено через 3 минуты[/color][/size] А, вот, таймер во время загрузки, похоже, отключить удастся. Один из тестов - получилось. Уже совсем перед сном. О полном успехе говорить рано, но похоже не только удастся отключить внешний триггер Open Rails, но и привязать к этому и мои новые таймеры, которые здесь публиковал. |
Что за внешний триггер?
И похоже, что переменная принимает нулевое значение при ее объявлении, и что это происходит каждый раз при "проходе" скрипта. |
[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] Вот она - визуальная "оттяжка" момента переключения проходного с использованием вышеупомянутых функций |
И к это пишется - в конфиге, или еще где-то?
|
На втором видео - иммитация открытия светофора с задержкой из-за работы СЦБ/дежурного:
[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: |
Константин, а ты не пробовал "впаривать" USER5, USER6 и так далее? Вы не проверяли это дело с Игорем, случайно?
|
Нет, не тестили, но можно смело рискнуть!:D
Вот 7-ю "Винду" до ума доведу, и начну испытания.;) |
Да, не заморачивайся! Кужувцы, мне кажется, только 4 впихнули, да и то - в Документации указали мол, хз: будет работать или нет, так как сами не тестировали это дело. Да, и нафиг они нужны? Есть 6 (вместе с Gradient и Number) должно хватить "за глаза".
Вообще, всё это - мелочи. Есть проблемы куда серьёзнее, удовлетворительного решения которым я не вижу. |
[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 написал это в лог. Что это такое - это к сигнализации относится? |
Нет. Это относится к БД путей. Кроссовер - это "глухое" пересечение. Хз, если честно, что они от них хотят. У меня 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