Форум Trainsim  

Вернуться   Форум Trainsim > Microsoft Train Simulator > MSTS - Маршруты

Ответ
 
Опции темы Опции просмотра
Старый 08.03.2020, 23:45   #406
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Мск
Сообщений: 3,368
Вы сказали Спасибо: 7,452
Поблагодарили 2,253 раз(а) в 931 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Думаю, что это может быть... ещё попытка:

SCRIPT T_Head_YGR

extern float enabled;
extern float block_state ();
extern float next_sig_lr ();
extern float next_sig_mr ();
extern float def_draw_state ();
extern float state;
extern float draw_state;
extern float sig_feature ();
float next_state;

if (enabled)
{ next_state = next_sig_lr (SIGFN_NORMAL);
state = 1;
if ( ( !sig_feature ( SIGFEAT_USER1 ) ) && ( block_state () == BLOCK_CLEAR ) )
{
if ( ( next_state == 1 ) || ( next_state == 2 ) )
{ state = 3; } /// "Yellow"
else { state = 7; } /// "Green"
draw_state = def_draw_state (state);
if ( state == 7)
{
if ( next_state == 4)
{ draw_state = 4; } /// "Yellow F"
else if ( ( next_state == 5 ) || ( next_state == 6 ) )
{ draw_state = 5; } /// "Green F"
}
}
}
else {
state = 0;
draw_state = def_draw_state (state);
}

Последний раз редактировалось КЕ; 08.03.2020 в 23:57.
КЕ вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо КЕ за это полезное сообщение:
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА

 
Старый 09.03.2020, 00:07   #407
Forsayth
Новичок
 
Аватар для Forsayth
 
Регистрация: 02.12.2009
Сообщений: 16
Вы сказали Спасибо: 24
Поблагодарили 5 раз(а) в 4 сообщениях
Forsayth стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от КЕ Посмотреть сообщение
Думаю, что это может быть... ещё попытка:
Костя!) Огромная Вам Благодарность) Снова Вы мне очень помогли) И снова третья попытка увенчалась успехом)
ОГРОМНОЕ СПАСИБО) Большего ЗДОРОВЬЯ Вам и много счастья)
Forsayth вне форума   Ответить с цитированием
Старый 09.03.2020, 00:13   #408
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Мск
Сообщений: 3,368
Вы сказали Спасибо: 7,452
Поблагодарили 2,253 раз(а) в 931 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Спасибо!
дело было в последних 2 строках:
} else state = SIGASP_STOP;
draw_state = def_draw_state (state);

Получалось, что после правильной отработки включения огней скрипт проходил по
draw_state = def_draw_state (state);
и сбрасывал огни обратно на зелёный.
После заключения в скобки:
else {
state = 0;
draw_state = def_draw_state (state);
}

огни второй раз уже не менялись, скрипт не заходил на строку
draw_state = def_draw_state (state);.
КЕ вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо КЕ за это полезное сообщение:
Старый 09.03.2020, 00:55   #409
Forsayth
Новичок
 
Аватар для Forsayth
 
Регистрация: 02.12.2009
Сообщений: 16
Вы сказали Спасибо: 24
Поблагодарили 5 раз(а) в 4 сообщениях
Forsayth стоит на развилке (репутация по умолчанию)
По умолчанию

Скрипт работает нормально... Но я решил посмотреть, что происходит из сигналом, после проследования состава... И выяснилось... что светофор не переключается на красный)
Forsayth вне форума   Ответить с цитированием
Старый 09.03.2020, 01:06   #410
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Мск
Сообщений: 3,368
Вы сказали Спасибо: 7,452
Поблагодарили 2,253 раз(а) в 931 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Вот в начало скрипта:
if (enabled)
{ next_state = next_sig_lr (SIGFN_NORMAL);
{ state = 1; draw_state = 0; }
...
...
КЕ вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо КЕ за это полезное сообщение:
Старый 09.03.2020, 01:13   #411
Forsayth
Новичок
 
Аватар для Forsayth
 
Регистрация: 02.12.2009
Сообщений: 16
Вы сказали Спасибо: 24
Поблагодарили 5 раз(а) в 4 сообщениях
Forsayth стоит на развилке (репутация по умолчанию)
По умолчанию

Всё идеально сработало)
Еще раз ОГРОМНОЕ СПАСИБО)
Forsayth вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Forsayth за это полезное сообщение:
Старый 17.04.2020, 10:37   #412
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Мск
Сообщений: 3,368
Вы сказали Спасибо: 7,452
Поблагодарили 2,253 раз(а) в 931 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Олег, я в соседней теме просил скрипты, чтоб понять синтаксис, а то у меня OR ругается постоянно:
Unexpected number of = in string : ELSE IF ( NEXT_N = 3 ){STATE = 7...
Unmatching brackets in : ELSE IF ( NEXT_N...

Что-то там было, что терпит МСТС, а ОР вот так пишет в лог, но не помню, в чём именно дело...
КЕ вне форума   Ответить с цитированием
Старый 17.04.2020, 11:30   #413
vicente
Матёрый пользователь
 
Аватар для vicente
 
Регистрация: 06.10.2007
Адрес: Димона, Израиль
Сообщений: 1,667
Вы сказали Спасибо: 684
Поблагодарили 906 раз(а) в 525 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Скобки проверь.
Он на скобки ругается.
__________________
Ещё вчера сегодня было завтра! (ц)

Последний раз редактировалось vicente; 17.04.2020 в 11:18.
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 17.04.2020, 16:12   #414
vicente
Матёрый пользователь
 
Аватар для vicente
 
Регистрация: 06.10.2007
Адрес: Димона, Израиль
Сообщений: 1,667
Вы сказали Спасибо: 684
Поблагодарили 906 раз(а) в 525 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Проблема, которую я описал в теме о Timetable Mode касается исключительно сигнализаций, где количество активированных сигналов функционально задействовано в каких-то ситуациях. То есть, если сигнализация построена на том, что нет никаких дополнительных сигнальных точек, или аргумент SignalNumClearAhead постоянен - никаких изменений в работе не будет. Мне это сломало некоторые моменты из-за особенностей в самой сигналке. У меня всегда первая сигнальная точка после станции (а также на маршрутных светофорах, но там оно не мешает, проблема обнаружилась именно с выходными) в случае !enabled даёт аспект 2 (и зеленый, желтый или красный - в зависимости от занятости б/у если это проходной АБ или 2 и красный, если это входной АБ или ПАБ. Это нужно для того, чтобы в маневровом режиме давать 2 и белый на выходном. Логика проста. Естественно, если сервис отправляется на перегон и его Path не доходит до первого сигнала после входного, то этот самый первый сигнал !enabled (в МСТС, кстати, тоже так, поэтому я и написал там,,что сигналка в обоих симуляторах работает) и выдаёт 2. А выходной настроен на следующий 2 давать 2 и белый. В поездном режиме первый светофор после станции активируется , естественно и выходной выдаёт поездные аспекты. Присутствие в сигнализации дополнительного маркера рельсовой цепи в начале каждого станционного пути по ходу движения сервиса, а также маневровых сигналов на входных стрелках требует точного расчета SignalNumClearAhead у входного светофора. Он должен "доставать" через все станционные объекты сигнализации аж до этого самого первого проходного или входного на следующую станцию. Иначе мой входной просто не откроется - маневровые дают 2, если путь знаят, чтобы позволить прицепку на занятый путь, а также если путь свободен и на выходном -2 для маневрового проследования по свободному пути, а при маневровом режиме входные у меня "заперты", естественно.
Обидно, что когда я эту механику разрабатывал, и у меня был выбор: положиться ли на разработчиков ОР с их утверждением, что светофор с SignalNumClearAhead = -1 не учитывается симулятором в "общем зачёте" или прописывать "топором" все значения этого параметра для каждого светофора, включая маркеры, я выбрал первое. Зря... Бывает

Добавлено через 14 минут
Вносить поправки сейчас, ИМХО, смысла не имеет, всё вышеизложенное делалось "не от хорошей жизни" , а из-за нехватки аспектов и отсутствия соответствующих функций. В Open Rails теперь есть специальные дополнительные функции для сигнализации, расчитанные именно для возможности сделать маневровые показания.
Так что, если переделывать, так уже переделывать всё

[...рыдая бьётся головой о стену... ]
__________________
Ещё вчера сегодня было завтра! (ц)
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 17.04.2020, 16:38   #415
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Мск
Сообщений: 3,368
Вы сказали Спасибо: 7,452
Поблагодарили 2,253 раз(а) в 931 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Ты по удалению, впередиидущий сервис что-то изменяет?

Последний раз редактировалось КЕ; 17.04.2020 в 16:59.
КЕ вне форума   Ответить с цитированием
Старый 17.04.2020, 20:06   #416
vicente
Матёрый пользователь
 
Аватар для vicente
 
Регистрация: 06.10.2007
Адрес: Димона, Израиль
Сообщений: 1,667
Вы сказали Спасибо: 684
Поблагодарили 906 раз(а) в 525 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

В Open Rails - нет. В MSTS enabled() распространяется и на светофор, который сервис проехал. Вернее - на тот, что проследовал и на один перед ним, если я правильно помню. На "Заборе" я выкладывал проверку по этой функции с картинками. Пост нашел, но картинки пропали.

Добавлено через 2 минуты
Поэтому, да, там поездной откроется. Я забыл
__________________
Ещё вчера сегодня было завтра! (ц)
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 17.04.2020, 21:42   #417
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Мск
Сообщений: 3,368
Вы сказали Спасибо: 7,452
Поблагодарили 2,253 раз(а) в 931 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Вообще от скрипта зависит, но помню были случаи, когда после прохода трафика мне выходной белым горел вместо желтого, то есть реагировал на !enabled проходного.
КЕ вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо КЕ за это полезное сообщение:
Старый 19.04.2020, 04:11   #418
vicente
Матёрый пользователь
 
Аватар для vicente
 
Регистрация: 06.10.2007
Адрес: Димона, Израиль
Сообщений: 1,667
Вы сказали Спасибо: 684
Поблагодарили 906 раз(а) в 525 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от vicente Посмотреть сообщение
Обидно, что когда я эту механику разрабатывал, и у меня был выбор: положиться ли на разработчиков ОР с их утверждением, что светофор с SignalNumClearAhead = -1 не учитывается симулятором в "общем зачёте" или прописывать "топором" все значения этого параметра для каждого светофора, включая маркеры, я выбрал первое. Зря... Бывает
Прошу прощения заочно у буржуинов-разработчиков Open Rails и очно у уважаемых участников форума. Описанное в указанном сообщении - исключительно мой косяк и рукожопость. Я почти год до карантина вообще его не трогал. Оказалось, что тогда я не переставил местами тестовые файлы скриптов со стабильными. Так что, "грязь" была в скрипте выходного и т.д.
Логика работает как работала!
Ещё раз "посыпаю голову песком", как говорил товарищ Дж. Лондон
__________________
Ещё вчера сегодня было завтра! (ц)
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 19.04.2020, 08:33   #419
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Мск
Сообщений: 3,368
Вы сказали Спасибо: 7,452
Поблагодарили 2,253 раз(а) в 931 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

То есть сим при подсчете светофоров твои маневровые пропускает, но работают они по обычному скрипту?

Добавлено через 20 минут
Нигде не встречал - когда в конфиге указывается число SNCA - учитываем значность сигнализации (3-значная, 4-значная), или это неважно?
КЕ вне форума   Ответить с цитированием
Старый 19.04.2020, 15:38   #420
vicente
Матёрый пользователь
 
Аватар для vicente
 
Регистрация: 06.10.2007
Адрес: Димона, Израиль
Сообщений: 1,667
Вы сказали Спасибо: 684
Поблагодарили 906 раз(а) в 525 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от КЕ Посмотреть сообщение
То есть сим при подсчете светофоров твои маневровые пропускает, но работают они по обычному скрипту?
Именно. Можно, в принципе, сделать отдельный предвходной с большим SNCA, но его точно нужно расчитывать. Потому что "базовая" или "маленькая" станция - это входной, один маневровый перед стрелками и дальше - выходной. Но, у меня есть станции, где между входным и выходным или маршрутным - 4 маневровых. Здесь так просто не отделаться. Для унификации -1 -- самое то.
Есть разные способы. Один из разработчиков на буржуйском форуме писал, что у него все сигналы АБ с -1. То есть, он с выходого "энэйблит" сразу входной следующей станции независимо от количества блок-участков. Мне такой способ неприемлем, ИМХО, для трёхзначки достаточно 3, для 4-х - 4. И то - "с запасом" - из-за этого самого моего первого проходного с 2, когда он !enabled для маневрового на выходном.

Цитата:
Сообщение от КЕ Посмотреть сообщение
Нигде не встречал - когда в конфиге указывается число SNCA - учитываем значность сигнализации (3-значная, 4-значная), или это неважно?
В принципе, достаточно и на один меньше, но и так можно. Получается с небольшим запасом - то что надо.
Действительно: скажем - 3-х-значная. Сервис движется, его светофор зелёный, за ним нам нужно 2 сигнала. Первый по ходу будет зелёный, за ним - жёлтый, за ним уже !enabled.
__________________
Ещё вчера сегодня было завтра! (ц)
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипты Вл ~sejo~ TrainZ - Подвижной состав 2 25.09.2010 18:11
Как эта конфигурация ? vita IT, компьютеры, электроника 9 02.06.2009 00:26
Заказы на скрипты TRam_ TrainZ — Об игре 5 03.04.2009 16:25
MSTS-конфигурация компьютера GeneZone MSTS - Об игре 6 03.03.2008 21:03
Trainz 2006 SP1 Конфигурация PC vita TrainZ — Об игре 18 11.02.2008 00:11


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


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?