Форум Trainsim  

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

 
 
Опции темы Опции просмотра
Старый 28.09.2021, 18:28   #11
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Костя, то что я писал. Симулятор "предполагает", что там будет скрипт, поэтому и expected . К сигналке не имеет отношения. Только к самим файлам.

Добавлено через 14 минут
Только что "соорудил" таймер на светофор в Open Rails. Скриптом
Этот недо-С "петли" не признаёт. Несмотря на то, что for даже в инструкции кужувской присутствует, когда-то, очень давно пробовал его - не получалось ( может, мозги кривые, конечно, но в for трудно ошибиться). На днях попробовал While - парсер послал меня подальше. Сделал под if: загнал переменную в "запоминалку" переменных Open Rails-овскую. Под if (n <# 45) поставил n = n + 1; и результат - в "запоминалку". Считает Поиграл величинами, на 45 - ждёт 28-29 секунд, на 15 - 11-12, на 99 уже, как бы долго получается. Оставлю 45 пока. Теперь - самое главное- потестить не с сейва, а с loading - может быть офигительная вещь. В идеале, конечно, привязать это к флагам... и выбирать птичкой в редакторе: большая станция, маленькая станция и т.п.

Добавлено через 6 минут
Вот скрипт-черновик:
Скрытый текст:

float next_state;
float sigid;
float wait_time;
float k;

if (!enabled || (block_state() !=# BLOCK_CLEAR) || !route_set() )
{
state = SIGASP_STOP;
if (block_state() ==# BLOCK_JN_OBSTRUCTED)
{
store_lvar(time, 0);
}
}
else
{
wait_time = this_sig_lvar(time);
next_state = next_sig_lr (SIGFN_NORMAL);
sigid = next_sig_id (SIGFN_NORMAL);
if ((next_state ==# -1) || ( wait_time <=# 99 ))
{
state = SIGASP_STOP;
wait_time = wait_time + 1;
store_lvar(time, wait_time);
}
else if (!train_requires_next_signal(sigid,1) || (next_state ==# SIGASP_RESTRICTING))
{
state = SIGASP_RESTRICTING;
}
// else if (!check_timing_trigger (45))
// {
// state = SIGASP_STOP;
// }
else
{
state = SIGASP_APPROACH_2;
}
}
draw_state = def_draw_state (state);
if ((state >=# SIGASP_APPROACH_1) && (next_state ># SIGASP_RESTRICTING))
{
draw_state = 2;
}
if ((state == SIGASP_STOP) && (this_sig_lr (SIGFN_NORMAL) ># SIGASP_STOP))
{
draw_state = 4;
}

Последний раз редактировалось vicente; 28.09.2021 в 18:35.
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


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


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