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

Важная информация для сценаристов

Обсуждение маршрутов, объектов, сценариев

Важная информация для сценаристов

Сообщение BooYa » 24.08.2020, 14:59

Всем доброго времени суток!

В данной теме прошу разработчиков публиковать информацию для сценаристов, которая по тем или иным причинам должна ограничивать использование чего-либо в сценариях. Прошу прощения за столь пространственную формулировку, я поясню на примерах:

  • Вы разработчик ПС. Ваш ПС находится в альфа-бета версиях, и какие-то функции еще не сделаны или в них присутствуют баги итд. Вы пишете сюда, что вот то-то и то-то пока что в сценариях использовать не нужно, т.к. могут быть баги, мб вылеты итд.
  • Вы разработчик маршрута. Нашли в маршруте на какой-то ветке или станции баг, который не может быть оперативно устранён и выложен патч. Пишете сюда, что вот так и так, по этому пути пока что сценарии не делать, или на такой-то станции маневры не делать итд.
  • Вы увлечённый игрок. У вас вылетал сценарий, и вы нашли причину. ПС какой-нить глючный или еще что. А дополнение уже заброшено, автора нет. Можете написать сюда так же какую-то полезную информацию.
  • Вы сценарист. Обнаружили какую-то фишку, костыль или еще чего, и хотите с другими сценаристами поделиться. Пишете сюда.

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

Re: Важная информация для сценаристов

Сообщение hellishfire » 24.08.2020, 15:06

Неактуально.

Присоединюсь.

Прошу не использовать ЧС2 на маршрутах с новой сигналкой - он там работать не будет.
Будет ли адаптация? - Вопрос риторический


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

Re: Важная информация для сценаристов

Сообщение BooYa » 24.08.2020, 15:08

Еще добавлю по сигнализации С65 от DSB.

На данный момент не используйте двух и более ботов перед игроком, навстречу игроку, для разъездов на одной станции. А так же, если вы отправитесь по удалению за ботом, а потом решите по тому же пути возвращаться назад - тоже не прокатит.

Это очень сложно объяснить, я не буду голову морочить, дело в несовершенстве просчёта занятости БУ игрой, и этот баг есть у всех сигналок, но при подобных ситуациях, входные, выходные светофоры могут оказаться наглухо закрытыми и не откроются даже вручную.

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

Re: Важная информация для сценаристов

Сообщение ПитерМен » 29.08.2020, 00:48

hellishfire писал(а):Прошу не использовать ЧС2 на маршрутах с новой сигналкой - он там работать не будет.

А в качестве трафика? Еще вопрос. Будет ли выложен ЧС4квр? (брать из сценария не комильфо, но очень хочется)
BooYa писал(а):Если тема будет активна - в шапку будем выносить.

Тема нужная, случайно наткнулся (как-то пропустил).
ПитерМен
 
Сообщения: 122
Зарегистрирован: 15.03.2019, 18:54
Благодарил (а): 319 раз.
Поблагодарили: 254 раз.
Играю в: Auran Trainz
Имя: Евгений

Re: Важная информация для сценаристов

Сообщение hellishfire » 29.08.2020, 01:35

ПитерМен писал(а):в качестве трафика

Неплохая идея. Вполне возможно.

ПитерМен писал(а):брать из сценария не комильфо

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

Re: Важная информация для сценаристов

Сообщение Света » 02.11.2020, 01:52

Просьба к сценаристам при написании сценариев к маршруту "им.Шевченко - Цветково" версии 3.1 не использовать маркер "Виска - Капустино горловина" (перед четным входным светофором) как пункт назначения. В будущих версиях маршрута этот маркер будет сдвинут на полкилометра в сторону станции Виска.
Забанена по собственному желанию. По важным вопросам связаться со мной можно через почту divovigna@gmail.com
Аватара пользователя
Света
 
Сообщения: 1338
Зарегистрирован: 18.06.2016, 19:38
Благодарил (а): 983 раз.
Поблагодарили: 1805 раз.
Играю в: Train Simulator Classic
Имя: Пандора

Re: Важная информация для сценаристов

Сообщение hellishfire » 15.01.2021, 12:57

Совсем забыл.
Не рекомендую пока использовать горловину станции Орёл со стороны Курска.

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

Re: Важная информация для сценаристов

Сообщение hellishfire » 08.02.2021, 22:04

Всем привет!

Решил записать видео о редактировании свойств пути в сценарии на примере маршрута Орёл-Мценск-Тула.
Затронул общие моменты по сценариям, актуальные для всех маршрутов.

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

Re: Важная информация для сценаристов

Сообщение BooYa » 02.06.2022, 20:19

Всем привет!

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

Re: Важная информация для сценаристов

Сообщение hellishfire » 02.05.2023, 14:12

Т.к. сейчас актуальность грузовых сценариев возросла ещё сильней, то возможности для сцен стали ещё шире по сути.
Приведу примеры.

Во-первых, можно использовать промежуточные станции маршрутов для старта или конца сценария.
Почему? Потому что в реале поезд могут поставить под пропуск на промежуточной станции. А следующего "окна" в поездном графике он может ждать и час и 4 часа и 12 часов или даже сутки.
Зачем это нужно? Для того, чтобы разнообразить поездки. Чтобы грузовые не были копиями пассажирских, которые чисто из-за графика ездят из А в Б. Задействовать малые станции всегда хотелось.
В итоге по первому пункту уже вариативность в виде промежуточных станций для старта/конца сценария.

Во-вторых, дополнением к первому пункту будет возможность отцепки лока от долгостоящего поезда.
В таком случае можно опять же сценарий разделять на две части. Первый - приёмка на большой станции и следование резервом до станции, где поезд-"брошенка", манёвры и заход под состав. Второй - поездка до станции назначения.
В этом пункте уже используется ещё одна нечасто используемая в РВ возможность - езда резервом. Тоже плюс к интересности.

Ну и третий пункт - производительность. Рейс из А до промежуточной станции потребует меньше трафика и вагонов и не нужно будет заполнять станцию Б маршрута.

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

Re: Важная информация для сценаристов

Сообщение ПитерМен » 08.04.2024, 01:43

Приветствую.
Заметил, что наши сценаристы (Михаил (Mikhail_72RUS) и Алексей (Aleksei999)) за исключением Виталия (djus) почему-то не пользуются удобным инструментом под названием "универсальный скрипт" от Сергея (sergz692). Как по мне, каждый раз прописывать инструкции в скрипте для нового сценария - это, мягко скажем, гемор. Появляются новые пользователи, желающие освоить создание сценариев. Поэтому решил написать небольшой гайд по использованию слегка доработанного "универсального скрипта" простым языком с примерами.
Выражаю благодарность:
Сергею (sergz692) за написание универсального скрипта.
Свете за помощь по различным вопросам.

Приступим.
Для начала скачиваем скрипт и кидаем его в папку сценария: RailWorks\Content\Routes\*уникальный номер маршрута*\Scenarios\*уникальный номер сценария*\
Если будете использовать всплывающие окна с диалогами, то в папке сценария создаём папку [Ru]. Там будут находиться html файлы с диалогами и звуковые файлы в формате wav, если вы планируете их использовать.
Запускаем в редакторе свой сценарий. Жмём на иконку "просмотр расписания" и далее на иконку "скрипт".

В открывшемся окне кликаем по кнопке "Reload". В верхней части должен появиться текст скрипта. Кликаем по кнопке "Compile/Generate MD5" и закрываем окно.

Всё, теперь наш сценарий может принимать и обрабатывать события (команды). В папке сценария добавились два файла. "ScenarioScript.luac" - откомпилированный код и файл контрольной суммы - "ScenarioScript.luac.MD5". Чтобы каждый раз при создании нового сценария не повторять вышеописанные действия, достаточно просто скопировать эти два файла в папку нового сценария. Файл "ScenarioScript.lua" нам больше не нужен, его можно удалить.

Переходим к самому интересному. К событиям (командам).
Привожу копию поста sergz692 с небольшими дополнениями и изменениями:

Универсальный скрипт может принимать и обрабатывать следующие события:

1. События-команды:
"lock" - заблокировать управление поездом
"unlock" - разблокировать управление поездом
"stop" - применить аварийное торможение
"halt" - заглушить двигатель локомотива
"cab" - активировать камеру в кабине локомотива
"break" - досрочно завершить сценарий с неудачей

2. События, выводящие текстовые сообщения:
"msgFileName=N" - выводит сообщение из файла "msgFileName.html",
в окне размера "s"=(l,r,s), в режиме "g"=(p,l,r,v,c), с таймаутом N, но не менее 5 с

Примеры:
"mlp000" - m (message) текстовое сообщение, l (large) в большом окне, p (pause) в режиме паузы, из файла "mlp000.html"
"mlg001" - текстовое сообщение в большом окне, без паузы, из файла "mlg001.html", с таймаутом 5 с
"mrp002" - m (message) текстовое сообщение, r (regular) в среднем окне, p (pause) в режиме паузы, из файла "mrp002.html"
"msl003=40" - m (message) текстовое сообщение, s (small) в малом окне, l (left) вверху слева, без паузы, из файла "msl003.html", с таймаутом 40 с
"msr004=10" - m (message) текстовое сообщение, s (small) в малом окне, r (right) внизу справа, без паузы, из файла "msr004.html", с таймаутом 10 с
"msv005=15" - текстовое сообщение внизу слева в малом окне, без паузы, из файла "msv005.html", с таймаутом 15 с
"msc006=7" - m (message) текстовое сообщение, s (small) в малом окне, c (centre) по центру, без паузы, из файла "msc006.html", с таймаутом 7 с

3. События, управляющие звуковыми сигналами:
"signal*1*1234" - включает звуковой сигнал "1" - тифон, "2" - свисток локомотива "1234 - номер локомотива"
"offsgn*1*123456789" - отключает звуковой сигнал "1" (тифон) локомотива "123456789"
"svist*1234" - включает звуковой сигнал "свисток" на тепловозе 3ТЭ10М/2ТЭ10М номер "1234"
"offst*1234" - выключает звуковой сигнал "свисток" на тепловозе 3ТЭ10М/2ТЭ10М номер "1234"
"snd*message.wav" - воспроизводит звуковой файл message.wav

4. События, управляющие поездом:
"engParName=C" - устанавливает управляющее значение C для параметра "ParName"

Примеры:
"engHeadlights=1" - включить головной прожектор
"engReverser=1" - реверсор в положение "вперёд", "-1" соответствует "назад", а для паровоза "%" от -0.75 до 0.75
"engRegulator=0.45" - регулятор в положение "45%", от 0 до 1
"engTrainBrakeControl=0" - тормоза поезда в "0%", от 0 до 1


5. События, управляющие камерой:
"camCameraName=T" - активировать камеру "CameraName" на время T, если T не задано или 0,
время шоу определяется настройками камеры

Примеры для некоторых встроенных камер:
"camCouplingCamera" - камера сцепки
"camCabCamera" - камера в кабине, эквивалентно команде "cab"
"camTrackSideCamera" - боковая камера
"camFreeCamera" - свободная камера
"camYardCamera" - видимо то же, что и боковая
"camHeadOutCamera" - выглянуть из кабины сбоку

6. События, управляющие погодой:
"wetWeatherEventChain" - запустить погодную цепочку с именем "WeatherEventChain"

Ну и, наверное, самое главное и удобное - это цепочки событий.
Универсальный скрипт позволяет обрабатывать несколько событий последовательно, то есть по цепочке.

События в цепочке отделяются друг от друга знаком "+"
Если между знаками "+" находится число, то это задержка в секундах до исполнения следующего события в цепочке
Один знак "+" без указания задержки означает, что следующее событие в цепочке будет обработано через 0.1 с

Давайте рассмотрим пример такой цепочки взятой из сценария © №603 Москва-Москва ©.

lock+camCamera1+30+unlock+mrp000+cab+325+snd*radio.wav+msr000=10+60+wet603+snd*radio.wav+msl000=15

Эта цепочка будет обработана универсальным скриптом следующим образом:

1. Событие - "lock" - будет заблокировано управление поездом для просмотра вступительного видеоролика.
2. Задержка 0.1 сек.
3. Событие - "camCamera1" - воспроизведение видеоролика продолжительностью 30 с.
4. Задержка 30 сек. - если не поставить задержку, то видео прервётся с продолжением обработки цепочки.
5. Событие - "unlock" - разблокировать управление поездом.
6. Событие - "mrp000" - вывод на экран текстового сообщения в окне среднего размера в режиме паузы из фала mrp000.html находящегося в папке [Ru].
7. Событие - "cab" - активируется камера в кабине локомотива.
8. Задержка 325 сек.
9. Событие - "snd*radio.wav" - воспроизводится звуковой файл radio.wav находящийся в папке [Ru].
10. Задержка 0.1 с
11. Событие - "msr000=10" - вывод на экран текстового сообщения в окне малого размера внизу справа из фала msr000.html находящегося в папке [Ru]. По истечении 10 сек. окно закроется.
12. Задержка 60 сек.
13. Событие - "wet603" - запуск погодной цепочки с именем "603". (динамическая погода)
14. Задержка 0.1 сек.
15. Событие - "snd*radio.wav" - воспроизводится звуковой файл radio.wav находящийся в папке [Ru].
16. Задержка 0.1 сек.
17. Событие - "msl000=15" - вывод на экран текстового сообщения в окне малого размера вверху слева из фала msl000.html находящегося в папке [Ru]. По истечении 15 сек. окно закроется.

Как отрабатывает цепочка, можно посмотреть в видео под спойлером (первые 7 минут).

Так как эта цепочка обрабатывается в самом начале сценария, помещаем её в поле "триггер события" инструкции "Триггер".

Далее можно вставлять события в поле "триггер события - успех" различных инструкций.

Замечу. Так можно делать только с расписанием игрока. Для бота помещаем событие только в инструкцию "Триггер".

Давайте рассмотрим ещё один пример.
Допустим наш сценарий стартует в 12:00. Бот, которому мы хотим дать команду подать звуковой сигнал (тифон) перед отправлением, стартует в 12:30:10. Выбираем инструкцию "Триггер" и вписываем в поле "триггер события" следующую цепочку: +1805+signal*1*номер локомотива+1.5+offsgn*1*номер локомотива.
1. Задержка 1805 сек. - т.к. это первое событие для данного локомотива, то время задержки ставим от начала сценария (30 мин. 5 сек.)
2. Событие - "signal*1*номер локомотива" - подача звукового сигнала тифон, если поставить 2 - свисток (кроме локомотивов 3ТЭ10М/2ТЭ10М).
3. Задержка 1.5 сек. - продолжительность звукового сигнала.
4. Событие - "offsgn*1*номер локомотива" - выключение звукового сигнала.

Для подачи звукового сигнала свисток на локомотивах 3ТЭ10М/2ТЭ10М от DSB нужно применять другую цепочку: svist*номер локомотива+1.5+offst*номер локомотива.
Как узнать номер локомотива? Двойной клик на локомотиве. В появившемся окне справа копируем номер ПС и вставляем в цепочку вместо текста "номер локомотива".

Заметьте, мы не написали ни одной строки скрипта. Сценаристу нужно только расставить события в редакторе сценария. Удобно?
Напоследок приведу цепочку для подачи звукового сигнала свист+тифон для ЭР1-159: signal*1*номер ПС+0.3+offsgn*1*номер ПС+signal*1*номер ПС+1+offsgn*1*номер ПС

Ну как-то так. Может чего пропустил. Извиняйте, не со зла. Надеюсь кому-нибудь может пригодиться.
ПитерМен
 
Сообщения: 122
Зарегистрирован: 15.03.2019, 18:54
Благодарил (а): 319 раз.
Поблагодарили: 254 раз.
Играю в: Auran Trainz
Имя: Евгений


Вернуться в [RW] Маршруты и сценарии

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5