Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

ЧС2-611, 612, 627, 654, 699

Разработка и эксплуатация подвижного состава

ЧС2-611, 612, 627, 654, 699

Сообщение hellishfire » 16.03.2017, 21:14

Представляем вашему вниманию магистральный пассажирский электровоз постоянного тока ЧС2.
Машина работает на маршрутах с сигнализацией DSB. Номера в пакете 611, 612, 627, 654, 699 (Свои перекраски в виде вы можете предлагать в теме. Только имейте в виду внутрисерийные отличия внешней модели).

Изображение

Ссылки:
ЧС2 DSB
Опциональный микропатч на чистые окна - https://github.com/edwardtheiron/ChS2-D ... _Patch.rwp
Предыдущие версии можно найти в разделе "релизы" на гитхабе - https://github.com/edwardtheiron/ChS2-DSB/releases
Новая раскладка клавиш
Список изменений версии DSB_1.4.1:
Небольшие багфиксы.

Список изменений версии DSB_1.4:
Добавлен новый номер - 699, депо приписки - ТЧ-27 Орёл
Обновлен визуал БИЛ-В
Добавлена продувка ТМ по Backspace
Различные мелкие фиксы


Список изменений версии DSB_1.3.1:
Исправлено поведение 627-го на старте сценариев. Спасибо Алексею за найденный баг.
Исправлена анимация ТРП. Спасибо Михаилу за найденный баг.
Убран год из названия локов в редакторе.


Список изменений версии DSB_1.3:
Новая система тормозов, переделан кран 395 и ВР292, под поведение реального пассажирского поезда. Полностью соответствует реальному поведению ПТ и ЭПТ. Кто не согласен, велком в обсуждение. За шаблон кода, отдельное и огромное Спасибо, Свете! Единственное дополню, манометры показывают не совсем верное значение давления, приборы КЛУБ в этом плане сильно точнее (умеет показывать разными командами давление, хоть на Марсе).

Немного оптимизированы вычисления, может стало лучше; может хуже. Опять-же если что-то прям сильно хуже, велком в обсуждение.
Исправлена текстура окон. Теперь, как раньше, дворники во время дождя работают корректно.
Исправлена смена кабин. В версии 1.2 любая попытка езды из задней кабины, вызывала свисток ЭПК. Теперь-же смена кабин не идеальна, но маневрировать можно.
Ещё много различных мелких правок, которые никому не интересны :)

Установка обновления: После удаления старого пакета через Utilities.exe, желательно полностью удалить папку HellishFire\CHS2, (ВНИМАНИЕ!, только папку CHS2, которая расположена внутри HellishFire!), там могут остаться старые файлы, которым оставаться не желательно, для новой версии. Потом стандартная установка через Utilities обновления.
Дальнейшая настройка, по прежнему доступна в файле Assets\HellishFire\CHS2\Config.txt

Приятных поездок!


Список изменений в версии DSB_1.2:
-Добавлена перекраска 612 номера (универсальная "чистая", без опознавательных знаков депо)
-Починена отцепка от состава, теперь локомотив не ломается
-Исправлен КЛУБ, новый обработчик Целевой и Допустимой скорости, множество исправлений иных функций.
-Исправлена работа амперметра ЭПТ
-Множество мелких исправлений


Список изменений в версии DSB_1.1:


Список изменений в версии DSB_1.0:
- Изменена часть назначений клавиш
- Усилено "шатание" внутри кабины
- Отрегулирована яркость света прожектора
- Добавлены подписи органов управления на русском и английском
- Точка в названии светофора выведет на БИЛ-В символ "Ю". Возможны аналогичные конфликты вывода информации, прошу о них сообщать.
- Обучен ездить под ботом
- Использование свистка/тифона обрабатывается корректно
- Добавлены два параметра для конфигурационного файла:
WINDOW_HEATER - включает отображение нитей подогрева на лобовых окнах, COMPRESSOR_SYNC - включает синхронизацию автоматов компрессоров.
Как пользоваться конфигурационным файлом описано в конфигурационном файле по адресу Assets\HellishFire\CHS2\Config.txt
При отсутствии конфиг файла будет сообщено об ошибке
- Тумблер БКР-У (включение КЛУБа) подшаманен
- Добавлены два номера
- Исправлено начальное положение тумблеров в кабине
- Изменена логика поведения командного барабана и барабана шунтов на реальную. Таким образом исправлено падение скрипта (отвал тормозов) при преждевременном переходе с шунтов на реостатные позиции
- Лампа реостат перенесена с контроллера на командный барабан
- Добавлена поддержка режима QuickDrive (Быстрая езда)



Описание:
Конверт с Trainz
Модель для конвертации в Train Simulator 2017 любезно предоставлена Ромой
Исходная модель локомотива и кабины: Combine
Фотоматериал: vl92m
Доработка моделей, запекание и пр.: Рома
Конвертация в Train Simulator 2017:
Внешняя модель - HellishFire;
Кабина и текстуры для внешней модели - Linx,
Скрипты(Тяговые характеристики, тормозная система, КЛУБ и прочие прелести) - i2GR,
Доработка скриптов и конфигов для версии DSB - hellishfire. С версии 1.1 активное участие в доработках принимает stoune. Благодаря ему сборка версии 1.1 значительно ускорилась.

В локомотиве реализован последовательный запуск устройств и вспомогательных машин, набор позиций контроллера, шунтирование, а также ограничение по току. Реализован КЛУБ-У.

Запуск ЧС2:
Текстовый вариант
I.Запуск локомотива (в скобках указаны клавиши, назначенные на это действие или сочетание клавиш):
1.Включить тумблер "Аккумуляторная батарея" на задней стенке кабины (Ctrl + Shift + Z)
2.Установить тумблеры "Разъединитель 1" (U) и "Разъединитель 2" (J) в крайнее правое положение
3.Вкючить тумблер "Передний токоприёмник" (P), дождаться появления показаний напряжения в КС. Включить тумблер "Токоприёмник задний" (Shift+P)
4.Включить тумблер "Ключ управления" (Ctrl + Shift + Y)
5.Поставить переключатель "Реверс" в положение "Вперед" (W)
6.Нажать кнопку "Включение БВ" на пульте управления. (Только с пульта управления)
7.Проконтролировать включение БВ на индикаторе.
8.Поставить переключатель "Реверс" в положение "Нейтраль". (S)
9.Установить тумблеры "Компрессор 1 (Shift + R) / Компрессор 2 (Shift+С)" в положение "Авто"(Крайнее левое положение).
10.Включить аппаратуру "КЛУБ-У" (Ctr+Shift+B)
11.Повернуть ключ ЭПК (Shift + N)
12.При свистке ЭПК нажать кнопку бдительности (Q или Z), в некоторых случаях необходима кнопка РБ Специальная (Shift+Q)
Локомотив запущен.

II.Ввод данных в систему КЛУБ-У
1.Ввод команд (кнопка К), ввод пути (кнопка П), ввод поездных характеристик (кнопка Л)
2.Цифровые кнопки - набор номера команд/ввод значений
3.Стрелка вверх подтверждение
4.Кнопки плюс и минус (увеличение/уменьшение введенных числовых значений)

III.Начало движения:
1.Включить тумблер "Вентиляторы"(F).
2.Включить тумблер "ЭПТ" (Ctr+Shift+E)
3.Включить тумблеры буферных огней (Только с пульта управления)
4.Включить тумблер "Прожектор" в положение тускло днем или ярко в темное время суток(H/Shift+H)
5.Поставить переключатель "Реверс" в положение "Вперед"(W)
6.Отпустить тормоз локомотива ( [ )
7.Кратковременно поставить ручку крана машиниста в первое положение ( ; )
8.Набрать первую позицию контроллером машиниста (A)
9.По достижении 10 км/ч выключить тумблер "Передний токоприёмник" (P)"

Некоторые настройки, можно выполнить в конфигурационном файле по адресу Assets\HellishFire\CHS2\Config.txt Как пользоваться этим файлом, написано внутри этого файла.

Краткий мануал по КЛУБ:
В общем, получилось достаточно подробно реализовать КЛУБ, в соответствии с поведением 7 пакета обновления, при работе с ТСКБМ и без приставки САУТ. На данный момент реализовано большинство функций, полностью переписана под реальное поведение допустимая и целевая скорость.
Также полезно посмотреть учебное видео: https://www.youtube.com/watch?v=K1Y0gAvhB6s&t

Подготовка к работе:
Обязательная часть:
Включить АКБ (Shift+Z)
Включить тумблер БКР-У (на задней стенке, либо клавишами Ctrl+Shift+B)
Включить ЭПК (ключом на самом ЭПК, либо клавишей Shift+N)
Необязательная часть:
(Без этих настроек КЛУБ будет работать, но в реальности их вводят). По стандарту КЛУБ имеет включенную Электронную Карту (далее ЭК). Поездной режим работы, режим езды по Автоблокировке(К800).
Ввести номер пути и признак его правильности через нажатие кнопки П на клавиатуре БИЛ-В.
Ввести поездные характеристики нажатием кнопки Л.

Назначение кнопок:
П - ввод пути для включения и выключения ЭК. Чтоб включить ЭК вводим путь 1-14 и признак правильности 1 или 0; 1-правильный путь, 0-неправильный. Для отключения ЭК вводим путь 0 либо 15. При включённой ЭК КЛУБ будет показывать ограничения путей, а так же ближайшую цель (пока умеет показывать только светофоры). При выключенной карте, ограничений с путей не будет, будут только отображаться ограничения от сигналов светофоров.
Л-ввод характеристик поезда. На работу КЛУБа не влияют.
К-режим ввода команд. Доступны следующие команды: (последовательно нажать “К” для входа в режим ввода команд, цифровые кнопки для выбора команды и кнопку подтверждения (треугольник вверх)
K0 - версия (скрипта в РВ)
K4 - отметка времени. КЛУБ в поле цели зафиксирует текущее время. Для отмены нажать >0<.
K5 - настройка локомотивных параметров (в реальности она недоступна машинисту, так что лучше не трогать)
K6 - последовательно ввод путевой координаты в метрах, где находится локомотив и ее увеличения/уменьшения при движении (для маршрутов, где нет ЭК).
K70 - стоп самодиагностики КЛУБа
K71 - старт самодиагностики КЛУБа (только визуализация)
K80 - индикация давления в ТМ
K81 - индикация давления в ТЦ
K82 - индикация давления в УР1
K83 - индикация давления в УР2
K122 - индикация давления в МПа
K123 - индикация давления в кг/см^2
K261 - версия МЦО (визуализация)
K517 - версия ЭКТ (визуализация)
K522 - Версия электронной карты
K773 - версия БВУ (визуализация)
K799 - вход в режим езды по ЗАБ и настройка ограничения на белый. В этом режиме нет приёма кодов из рельсовых цепей
K800 - отмена К799 или К809, включение режима езды по АБ
K809 - пока что то же что и К799
K1029 - версия ИПД (визуализация)
K2565 - версия УФИР (визуализация)

Подтяг - при езде на запрещающее показание, когда необходимо подъехать вплотную к закрытому светофору, можно нажать эту кнопку и КЛУБ перенесёт точку прицельной остановки на 300м вперёд, а допустимая скорость не упадёт ниже 10 км/ч. Количество нажатий не ограничено. Но проехать запрещающее показание без остановки КЛУБ не позволит. При появлении красного огня на АЛС, произойдет автостопное торможение.

ВК - кнопка необходимая для проезда светофора с запрещающим показанием, а так-же для перевода АЛС с красного огня на белый. Работает только совместно с нажатой кнопкой РБС (Shift+Q). Режим проезда запрещающего показания включается только при выполнении условий: КЖ на АЛС, допустимая скорость менее 20км/ч, фактическая скорость 0. После включения режима проезда допустимая скорость установится на отметке 20, а после кодирования К, не произойдёт автостопного торможения. Режим ВК отключается сам, если вышло время 190 секунд. После этого проезд светофора запрещён, необходимо заново включать этот режим.
Режим смены К на Б, активируется без условий и переводит АЛС в езду по не кодированному пути. Допустимая скорость возрастает с 20 до 43 км/ч.

РМП - кнопка смены режима работы КЛУБ (поездной/маневровый). Работает только когда фактическая скорость 0. Для включения режима Поездной, нет условий, однократное нажатие кнопки переведёт КЛУБ в поездной режим. Для перевода КЛУБ в Маневровый режим, необходимо чтоб на АЛС было любое не запрещающее показание (З, Ж, Б). Чтоб перевести в маневровый режим при стоянке под кодами КЖ, нужно либо проехать сигнал (разумеется открытый Белым маневровым огнём) с помощью ВК, потом снять К на Б и включить маневровый режим. Либо воспользоваться командой К799, перевести КЛУБ в маневровый режим и отменить К799, введя команду К800.

Работа КЛУБ в поездке:
В этой версии исправлены срывы ЭПК. Теперь нельзя превышать допустимую скорость, иначе произойдёт срыв ЭПК. Добавлены все возможные проверки на скатывание: при отключённой тяге и начале движения, при неверном положении реверсора, при оставлении позиции тяги и скорости 0.
В этой версии сделана полностью новая система обработки целевой и допустимой скорости. Целевая скорость, при включённой ЭК, будет предупреждать о приближении к местам ограничения скорости. Допустимая скорость теперь умеет считать кривую Полного Служебного Торможения и отрабатывать снижение допустимой скорости в соответствии с этой кривой. При сбое на белый огонь и скорости более 40, допустимая скорость первые 10 секунд будет фактическая+5, потом начнёт снижаться темпом кривой ПСТ.


Видео по запуску:
www.youtube.com Видео от : www.youtube.com

www.youtube.com Видео от : www.youtube.com


Для лучшего отображение символов на блоке БИЛ-В рекомендуется установить максимально возможное сглаживание в настройках игры.

В предыдущих сериях: Старая и неактуальная версия 2017 года (кушать не просит):
1.ЧС2-627 альфа версия
зеркало на гуглдиске
Сигнализация RS v0.7. Необходима для правильной работы старой версии локомотива
Для корректной работы КЛУБ-У в сценариях необходим специальный маркер, который входит в последнюю версию Русской сигнализации
Зачеркнутое актуально только для альфа версии локомотива. Для работы под сигналкой DSB (версии 1.0 и выше) маркер не нужен.


Задокументированные проблемы продакшн-версии (недокументированных не счесть):
1. Слишком низкий темп набора давления в ТЦ (как при работе пневматического так и электропневматического тормоза) - ограниченные возможности при настройке тормозов, заложенные в движок РВ, при попытке реализации наличия одновременно и ПТ и ЭПТ
Перспектива решения переписать тормоза.

Переписано.

2. Щели в 3Д-модели правого окна, отсутствие звука движения “форточки”, не открывающееся левое окно.
К.О.
2.а Звука открытия форточки не найдено
2.б Дефект текстурирования нижней поверхности верхней горизонтальной части рамы окон

3. Одна функциональная кабина.
К.О.

4. Звук перестука колес не от ЧС2. Звука оригинального ЧС2 (или ЧС2К) в подходящем качестве не найдено
К.О.

5. Логика цепей, возможно, нарушается при преднамеренном нарушении последовательности запуска/останова
К.О.

6. Работает только правый стеклоочиститель.
К.О.
Последний раз редактировалось hellishfire 02.11.2020, 19:45, всего редактировалось 5 раз(а).
Аватара пользователя
hellishfire
 
Сообщения: 685
Зарегистрирован: 14.12.2012, 20:50
Откуда: Москва
Благодарил (а): 934 раз.
Поблагодарили: 1026 раз.
Блог: Просмотр блога (4)
Роль: Разработчик
Имя: Игорь

Re: ЧС2-627

Сообщение BooYa » 17.03.2017, 22:23

hellishfire писал(а):Поедет. Только совесть будет мучать)

А я в вагоне поеду :olen:
Аватара пользователя
BooYa
 
Сообщения: 3749
Зарегистрирован: 24.01.2010, 16:30
Откуда: Екатеринбург
Благодарил (а): 1556 раз.
Поблагодарили: 2965 раз.
Играю в: Train Simulator Classic
Роль: Разработчик
Имя: Андрей

Re: ЧС2-627

Сообщение le Sandro » 17.03.2017, 23:38

Андрюх, ты бы не тянул с вагонами и выпустил хоть что-нибудь.
Аватара пользователя
le Sandro
 
Сообщения: 2709
Зарегистрирован: 30.03.2005, 00:14
Откуда: Пенза
Благодарил (а): 1611 раз.
Поблагодарили: 1165 раз.
Блог: Просмотр блога (2)
Играю в: Train Simulator Classic
Роль: Разработчик

Re: ЧС2-627

Сообщение BooYa » 18.03.2017, 00:25

Offtopic :
Сань, я не тяну, у меня следующая ситуация. На работе у меня полно времени, я бы уже 100 вагонов сделал, если бы имел ноутбук. Ну а личного времени в выходные у меня на вагоны не выбирается, чё уж тут (я не только играю в ферму, бывают и другие занятия мне интересные). Ноут пока что купить даже самый простой, который бы потащил мою заготовку для покрасочного цеха и более-менее позволил бы замоделить всё, что нужно, я не могу. Поэтому, как-то так. Будет ноут - вагоны, и не только пассажирские, и не только вагоны - просто пулей вылетать будут. А пока что, я постараюсь, но ничего не обещаю. На лето другие занятия, там времени действительно не будет.


ЧС2 - хорошая мотивация, за это вам спасибо. Я постараюсь решить данный вопрос, что-нибудь придумаю. Просто у меня сейчас еще 3 проекта висят, которые поважнее пассов в данный момент. В своё время поймешь, почему.
Аватара пользователя
BooYa
 
Сообщения: 3749
Зарегистрирован: 24.01.2010, 16:30
Откуда: Екатеринбург
Благодарил (а): 1556 раз.
Поблагодарили: 2965 раз.
Играю в: Train Simulator Classic
Роль: Разработчик
Имя: Андрей

Re: ЧС2-627

Сообщение ТЧ-13 Черновцы » 18.03.2017, 14:36

Спасибо больше за локомотив! С нетерпением жду доработаную версию! Вопрос ко всем, кто скачал данный ПС. У вас так же заедает тормозной кран 395М? Тоесть как. Ставлю в 1-е положение, нажимаю соотвествующую кнопку на клавиатуре, а рукоятка не ставится в первое, ставлю кран в 3-е положение, а рукоятка ставится наоборот в первое на зарядку. Так же и в обратном порядке...хочу служебное, ставится в перекрышу, ставлю на перекрышу, а рукоятка в служебное. Как то так. Или же такая аномалия только у меня наблюдается?
Слово "почему-то" я бы попросил в моем кабинете не употреблять! Это непрофессионально!
Аватара пользователя
ТЧ-13 Черновцы
 
Сообщения: 152
Зарегистрирован: 29.06.2014, 16:52
Благодарил (а): 70 раз.
Поблагодарили: 70 раз.
Имя: Alex

Re: ЧС2-627

Сообщение hellishfire » 18.03.2017, 17:00

Если заедает, попробуйте нажимать с зажатым Ctrl'ом
Аватара пользователя
hellishfire
 
Сообщения: 685
Зарегистрирован: 14.12.2012, 20:50
Откуда: Москва
Благодарил (а): 934 раз.
Поблагодарили: 1026 раз.
Блог: Просмотр блога (4)
Роль: Разработчик
Имя: Игорь

Re: ЧС2-627

Сообщение ТЧ-13 Черновцы » 18.03.2017, 18:13

Понял, спасибо помогло. Не знал про контрол. А почему нужно использовать контрол? Так срипт написан? В дальнейших версиях торможения будет без контрола? И еще вопрос. Как с клавиатуры управлять ослаблением поля?
Слово "почему-то" я бы попросил в моем кабинете не употреблять! Это непрофессионально!
Аватара пользователя
ТЧ-13 Черновцы
 
Сообщения: 152
Зарегистрирован: 29.06.2014, 16:52
Благодарил (а): 70 раз.
Поблагодарили: 70 раз.
Имя: Alex

Re: ЧС2-627

Сообщение hellishfire » 18.03.2017, 18:39

Без контрола однократное нажатие должно перемещать рукоятку крана ровно на одну позицию. Заедание - вероятно, баг.
Ослабление контролируется тоже с контролом - Ctrl + A, Ctrl + D только при ходовых положениях контроллера. Рекомендуется накидывать шунты по 1-2.
Аватара пользователя
hellishfire
 
Сообщения: 685
Зарегистрирован: 14.12.2012, 20:50
Откуда: Москва
Благодарил (а): 934 раз.
Поблагодарили: 1026 раз.
Блог: Просмотр блога (4)
Роль: Разработчик
Имя: Игорь

Re: ЧС2-627

Сообщение ТЧ-13 Черновцы » 19.03.2017, 22:06

hellishfire писал(а):Заедание - вероятно, баг.


Тоесть такое заедение, к сожелению наблюдается только у меня? У Вас, такого нету?
Слово "почему-то" я бы попросил в моем кабинете не употреблять! Это непрофессионально!
Аватара пользователя
ТЧ-13 Черновцы
 
Сообщения: 152
Зарегистрирован: 29.06.2014, 16:52
Благодарил (а): 70 раз.
Поблагодарили: 70 раз.
Имя: Alex

Re: ЧС2-627

Сообщение Mikhail_72RUS » 19.03.2017, 22:28

ТЧ-13 Черновцы писал(а):оесть такое заедение, к сожелению наблюдается только у меня? У Вас, такого нету?

Не только у тебя, у меня тоже самое наблюдается!
Аватара пользователя
Mikhail_72RUS
 
Сообщения: 1480
Зарегистрирован: 23.01.2011, 12:10
Откуда: Российская Федерация, Тюменская обл, г.Тюмень!
Благодарил (а): 1159 раз.
Поблагодарили: 1648 раз.
Играю в: Train Simulator Classic
Имя: Михаил

Re: ЧС2-627

Сообщение verter » 19.03.2017, 22:34

Есть проблема: после создания сценария, у ЧС2 подняты оба токоприёмника и включены фары. Также, при попытке запустить его, нет никакого результата.АБ включается, при подъёме токоприёмников проигрывается лишь звук,сами они не двигаются.Ни вниз,ни вверх.
Только ВЛ8,только хардкор!
verter
 
Сообщения: 8
Зарегистрирован: 19.03.2017, 22:28
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Роль: Пассажир :)
Имя: Николай

Re: ЧС2-627

Сообщение verter » 19.03.2017, 22:38

У кого ни будь есть такое??
Последний раз редактировалось verter 19.03.2017, 23:35, всего редактировалось 1 раз.
Только ВЛ8,только хардкор!
verter
 
Сообщения: 8
Зарегистрирован: 19.03.2017, 22:28
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Роль: Пассажир :)
Имя: Николай

Re: ЧС2-627

Сообщение Света » 19.03.2017, 23:20

1. Подвисание позиций шунтов при быстром сбросе на более чем одну позицию.
Рекомендация сбрасывать позиции шунтов по одной
Без контрола однократное нажатие должно перемещать рукоятку крана ровно на одну позицию. Заедание - вероятно, баг.
Ослабление контролируется тоже с контролом - Ctrl + A, Ctrl + D только при ходовых положениях контроллера. Рекомендуется накидывать шунты по 1-2.
Я так понимаю, это всё одна и та же проблема.
В дальнейших версиях торможения будет без контрола?

Предлагаю вариант, как можно сделать набор позиций по одной, без проскоков, а если зажать и удерживать кнопку на клавиатуре, то будет небольшая задержка, а потом автоповтор с заданной скоростью. Также можно сбрасывать/набирать позиции мышкой с HUD-а любой скоростью. Либо воздействуя на контроллер мышкой.
На примере тяги. Для других контролов применён похожий принцип с некоторыми нюансами.
По функциям:
Код: Выделить всё
function Initialise()
   
   Trigger = {}
   Change = {[1] = "none"}
   TrottleStatus = 0
   
   TabTimerData = {}
   TabTimerStatus = {}

end -- Setup

Код: Выделить всё
function OnControlValueChange( name, index, value )

   if Call( "*:ControlExists", name, index ) then
      Call( "*:SetControlValue", name, index, value )
   end
      
----------------------------------------------------------------------------------------------------------------
-- Блок повышения позиций контроллера
   if name == "VirtTrottleUp" then
      if value > 0.5 and TrottleStatus < 15 then
         if not Trigger[name] then
            Timer ("AutoTr", 1.5, "restart")
            Trigger[name] = true
            TrottleStatus = TrottleStatus + 1
            table.insert(Change, 1, "VirtualThrottle")
         elseif Timer ("AutoTr") then
            Timer ("AutoTr", 0.10)
            TrottleStatus = TrottleStatus + 1
            table.insert(Change, 1, "VirtualThrottle")
         end
      elseif value < 0.5 and Trigger[name] then
         Trigger[name] = false
         Timer ("AutoTr", "clear")
      end
      
-- Блок понижения позиций контроллера
   elseif name == "VirtTrottleDown" then
      if value > 0.5 and TrottleStatus > 0 then
         if not Trigger[name] then
            Timer ("AutoTr", 1.5, "restart")
            Trigger[name] = true
            TrottleStatus = TrottleStatus - 1
            table.insert(Change, 1, "VirtualThrottle")
         elseif Timer ("AutoTr") then
            Timer ("AutoTr", 0.10)
            TrottleStatus = TrottleStatus - 1
            table.insert(Change, 1, "VirtualThrottle")
         end
      elseif value < 0.5 and Trigger[name] then
         Trigger[name] = false
         Timer ("AutoTr", "clear")
      end
      
----------------------------------------------------------------------------------------------------------------
   elseif name == "VirtualThrottle" and not Trigger.VirtTrottleUp and not Trigger.VirtTrottleDown then
      for k, val in pairs (ValuePositionTrottle) do
         if value + 0.01 > val and  val > value - 0.01 then
            TrottleStatus = k
         end
      end
   end
end -- OnControlValueChange

Код: Выделить всё
function Update (interval)

--------------------------------------------------------------------------------------------------------------------   
-- Блок плавного перемещения ручек органов управления
   if Change[1] ~= "none" then
      for k, val in pairs (Change) do
         if val == "VirtualThrottle" then
            target = ValuePositionTrottle[TrottleStatus]
            if UpdateControl_B (interval, "VirtualThrottle", 0, target, 9) == 1 then
               Call("SetControlValue", "VirtualThrottle", 0, target)
               table.remove(Change, 1)
            end
         end
      end
   end
--------------------------------------------------------------------------------------------------------------------   
-- Блок вызова тактируемых функций
   Timer (interval)
   
end -- Update

Также используется опубликованная мной ранее функция таймера и немного поправленная функция UpdateControl, оригинальная версия которой была опубликована Skif-ом (за что ему благодарность):
Код: Выделить всё
function UpdateControl_B (time, name, index, target, speed)         
   local n_value = Call ("*:GetControlValue", name, index);
   local n_step = time*speed;
   local range = math.abs(n_value - target)

   if n_step > range then
      n_step = range
   end

   if (speed > 0) then
      if range < 0.005 then
         Call("*:SetControlValue", name, index, n_value);
         return 1;
      elseif (n_value > target) then
         Call("*:SetControlValue", name, index, n_value - n_step);
      elseif (n_value < target) then
         Call("*:SetControlValue", name, index, n_value + n_step);
      end
   else
      return -1;
   end
end

Код: Выделить всё
function Timer (data_1, data_2, data_3)
   if type(data_1) == "number" then
      for k,v in pairs(TabTimerData) do
         if type(v) ~= "string" and TabTimerStatus[k] then
            v = v - data_1
            if v <= 0 then
               TabTimerData[k] = "timeroff"
            else
               TabTimerData[k] = v
            end
         end
      end
      return
   end

   if type(data_1) == "string" then
      if not data_2 then
         if TabTimerData[data_1] == "timeroff" then
            return true
         else
            return false
         end
      elseif data_2 == "ctrl" then
         return TabTimerData[data_1]
      elseif data_2 == "clear" then
         TabTimerData[data_1] = nil
      elseif data_2 == "pause" then
         TabTimerStatus[data_1] = false
      elseif data_2 == "run" then
         TabTimerStatus[data_1] = true
      elseif not TabTimerData[data_1] or TabTimerData[data_1] == "timeroff" or data_3 == "restart" then
         TabTimerData[data_1] = data_2
         TabTimerStatus[data_1] = true
      end
   end
end

Служебная таблица:
Код: Выделить всё
-- Таблица значений контроллера тяги по позициях
ValuePositionTrottle = {
   [0] = 0,
   [1] = 1,
   [2] = 2,
   [3] = 3,
   [4] = 4,
   [5] = 5,
   [6] = 6,
   [7] = 7,
   [8] = 8,
   [9] = 9,
   [10] = 10,
   [11] = 11,
   [12] = 12,
   [13] = 13,
   [14] = 14,
   [15] = 15
}

Все команды выполняются исключительно в моменты воздействия на органы управления, так что оптимизация полная.
Таймер и UpdateControl используются в других частях скрипта, так что сложность кода, предоставленного здесь - относительна. Все тайминги регулируемые.
Для работы используются виртуальные контролы-кнопки "VirtTrottleUp" и "VirtTrottleDown", целевой контрол - "VirtualThrottle".
Все оттестировано и отлажено.
Если кто-нибудь возьмет на вооружение, объясню (при необходимости) что за что отвечает.
Команде разработчиков благодарность за релиз :essen:
Забанена по собственному желанию. По важным вопросам связаться со мной можно через почту divovigna@gmail.com
Аватара пользователя
Света
 
Сообщения: 1338
Зарегистрирован: 18.06.2016, 19:38
Благодарил (а): 983 раз.
Поблагодарили: 1805 раз.
Играю в: Train Simulator Classic
Имя: Пандора

Re: ЧС2-627

Сообщение hellishfire » 19.03.2017, 23:44

verter писал(а):Есть проблема: после создания сценария, у ЧС2 подняты оба токоприёмника и включены фары. Также, при попытке запустить его, нет никакого результата.АБ включается, при подъёме токоприёмников проигрывается лишь звук,сами они не двигаются.Ни вниз,ни вверх.


Подняты сразу со старта сценария? А в сценариях, которые выложены опущены?
Аватара пользователя
hellishfire
 
Сообщения: 685
Зарегистрирован: 14.12.2012, 20:50
Откуда: Москва
Благодарил (а): 934 раз.
Поблагодарили: 1026 раз.
Блог: Просмотр блога (4)
Роль: Разработчик
Имя: Игорь

Re: ЧС2-627

Сообщение Mikhail_72RUS » 19.03.2017, 23:47

Вообще странно, я создал уже пару своих сценариев, у меня пантографы опущены, фары отключены, а запускается нормально!
Аватара пользователя
Mikhail_72RUS
 
Сообщения: 1480
Зарегистрирован: 23.01.2011, 12:10
Откуда: Российская Федерация, Тюменская обл, г.Тюмень!
Благодарил (а): 1159 раз.
Поблагодарили: 1648 раз.
Играю в: Train Simulator Classic
Имя: Михаил

Re: ЧС2-627

Сообщение verter » 20.03.2017, 09:28

hellishfire писал(а):
verter писал(а):Есть проблема: после создания сценария, у ЧС2 подняты оба токоприёмника и включены фары. Также, при попытке запустить его, нет никакого результата.АБ включается, при подъёме токоприёмников проигрывается лишь звук,сами они не двигаются.Ни вниз,ни вверх.


Подняты сразу со старта сценария? А в сценариях, которые выложены опущены?

Ну да,именно так.Может что нибудь докачать надо,или ещё что то сделать?
Только ВЛ8,только хардкор!
verter
 
Сообщения: 8
Зарегистрирован: 19.03.2017, 22:28
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Роль: Пассажир :)
Имя: Николай

Пред.След.

Вернуться в [RW] Подвижной состав

Кто сейчас на конференции

Сейчас этот форум просматривают: Mail.Ru [Bot] и гости: 8