СПРАВОЧНИК:
Способы показа текстовых сообщений на экране
ТЕКСТОВЫЕ СООБЩЕНИЯ НА ЭКРАНЕ
Сообщения на экране нужны, в основном, для показа задания и др. информации машинисту, а также чтобы имитировать диалоги машиниста с кем-либо. Но, теоретически, могут использоваться для показа вычисленной информации вроде расстояний, времени, скоростей. В Railworks 2016 встречается 3 способа их показа:
1) SysCall ( "ScenarioManager:ShowMessage", "privet" );
Показ сообщения на экране (без каких-либо настроек). Не понимает русский, пишите транслитом.
2) SysCall ( "ScenarioManager:ShowAlertMessageExt", "9aa03d61-fd50-4cf5-9811-af7985e9448c", "Privet", 5, FALSE );
Показ сообщения в маленьком окне справа-вверху экрана. Его можно сделать "тревожным", добавив звук сирены и т.п. отдельным вызовом. Не понимает русские буквы, приходится писать транслитом. Параметры:
"9aa03d61-fd50-4cf5-9811-af7985e9448c" - ID этого сценария, отображаемое в названии папки этого сценария, например.
"Privet" - сообщение.
5 - время показа сообщения в секундах.
При FALSE время учитывается, окно само закроется по истечении времени.
При TRUE сообщение висит пока не закроешь окно, время игнорируется.
3) SysCall ( "ScenarioManager:ShowInfoMessageExt", "af7a2b92-ad57-4bdc-88be-eef5f7459b6a", "zadanie.html", 15, MSG_RIGHT + MSG_TOP, MSG_SMALL, FALSE );
Вызов для показа расширенного сообщения на экране. Расширенное оно потому, что записано в HTML файле, что позволяет изменять кодировку HTML файла (это позволяет показывать русские буквы на экране), создавать html-таблицы для выравнивания текста, менять шрифты, размеры шрифтов, добавлять картинки. Возможностей для редактирования HTML-файла немного, но они есть. Подробно об этом см. в статьях и мануалах и из готовых html-файлов, созданных другими. Например: Диспетчер
Параметры:
"af7a2b92-ad57-4bdc-88be-eef5f7459b6a" - ID этого сценария, отраженное в папке названия сценария, в частности, либо в xml-файле сценария. Подставить название папки сценария сюда.
"zadanie.html" - HTML файл с текстом диалога и картинкой(ами). Должен лежать в папке Ru вашего сценария, как и любой другой доп. медиа контент для сценария типа - звуки, картинки, видео. Картинка может лежать и в отд. папке внутри папки Ru.
15 - время для отображения диалога на экране в секундах, 0 - для бесконечного.
MSG_RIGHT + MSG_TOP - расположение сообщения на экране. Это комбинация справа-вверху. Другие доступные размеры можно посмотреть в учебном скрипте от RSC или в след. абзаце под названием "общие параметры для сообщений".
MSG_SMALL - размер сообщения на экране - небольшое. Другие доступные размеры можно посмотреть в списке.
FALSE - не ставить игру на паузу, TRUE - ставить на паузу при появлении сообщения.
ОБЩИЕ ПАРАМЕТРЫ ДЛЯ СООБЩЕНИЙ (СПИСОК):
-- Типы сообщений на экране
MT_INFO = 0 -- большое информационное
MT_ALERT = 1 -- краткое в правом верхнем углу
-- расположение сообщения на экране (можно комбинировать - написать "1 + 8" или словами-командами)
MSG_TOP = 1 -- вверху экрана
MSG_VCENTRE = 2 -- по центру
MSG_BOTTOM = 4 -- внизу
MSG_LEFT = 8 -- слева
MSG_CENTRE = 16 -- по центру
MSG_RIGHT = 32 -- справа
-- размер окна сообщения на экране (маленькое окно, среднее или большое)
В маленьком окне появится ползунок, если текста много.
MSG_SMALL = 0 (маленькое окно)
MSG_REG = 1 (среднее)
MSG_LRG = 2 (большое)
-- параметры картинок для html-сообщений
Размер ставьте в пределах 150*150 где-то, не более. Читает jpg, остальные форматы - не пробовал.
Сообщения на экране нужны, в основном, для показа задания и др. информации машинисту, а также чтобы имитировать диалоги машиниста с кем-либо. Но, теоретически, могут использоваться для показа вычисленной информации вроде расстояний, времени, скоростей. В Railworks 2016 встречается 3 способа их показа:
1) SysCall ( "ScenarioManager:ShowMessage", "privet" );
Показ сообщения на экране (без каких-либо настроек). Не понимает русский, пишите транслитом.
2) SysCall ( "ScenarioManager:ShowAlertMessageExt", "9aa03d61-fd50-4cf5-9811-af7985e9448c", "Privet", 5, FALSE );
Показ сообщения в маленьком окне справа-вверху экрана. Его можно сделать "тревожным", добавив звук сирены и т.п. отдельным вызовом. Не понимает русские буквы, приходится писать транслитом. Параметры:
"9aa03d61-fd50-4cf5-9811-af7985e9448c" - ID этого сценария, отображаемое в названии папки этого сценария, например.
"Privet" - сообщение.
5 - время показа сообщения в секундах.
При FALSE время учитывается, окно само закроется по истечении времени.
При TRUE сообщение висит пока не закроешь окно, время игнорируется.
3) SysCall ( "ScenarioManager:ShowInfoMessageExt", "af7a2b92-ad57-4bdc-88be-eef5f7459b6a", "zadanie.html", 15, MSG_RIGHT + MSG_TOP, MSG_SMALL, FALSE );
Вызов для показа расширенного сообщения на экране. Расширенное оно потому, что записано в HTML файле, что позволяет изменять кодировку HTML файла (это позволяет показывать русские буквы на экране), создавать html-таблицы для выравнивания текста, менять шрифты, размеры шрифтов, добавлять картинки. Возможностей для редактирования HTML-файла немного, но они есть. Подробно об этом см. в статьях и мануалах и из готовых html-файлов, созданных другими. Например: Диспетчер
Параметры:
"af7a2b92-ad57-4bdc-88be-eef5f7459b6a" - ID этого сценария, отраженное в папке названия сценария, в частности, либо в xml-файле сценария. Подставить название папки сценария сюда.
"zadanie.html" - HTML файл с текстом диалога и картинкой(ами). Должен лежать в папке Ru вашего сценария, как и любой другой доп. медиа контент для сценария типа - звуки, картинки, видео. Картинка может лежать и в отд. папке внутри папки Ru.
15 - время для отображения диалога на экране в секундах, 0 - для бесконечного.
MSG_RIGHT + MSG_TOP - расположение сообщения на экране. Это комбинация справа-вверху. Другие доступные размеры можно посмотреть в учебном скрипте от RSC или в след. абзаце под названием "общие параметры для сообщений".
MSG_SMALL - размер сообщения на экране - небольшое. Другие доступные размеры можно посмотреть в списке.
FALSE - не ставить игру на паузу, TRUE - ставить на паузу при появлении сообщения.
ОБЩИЕ ПАРАМЕТРЫ ДЛЯ СООБЩЕНИЙ (СПИСОК):
-- Типы сообщений на экране
MT_INFO = 0 -- большое информационное
MT_ALERT = 1 -- краткое в правом верхнем углу
-- расположение сообщения на экране (можно комбинировать - написать "1 + 8" или словами-командами)
MSG_TOP = 1 -- вверху экрана
MSG_VCENTRE = 2 -- по центру
MSG_BOTTOM = 4 -- внизу
MSG_LEFT = 8 -- слева
MSG_CENTRE = 16 -- по центру
MSG_RIGHT = 32 -- справа
-- размер окна сообщения на экране (маленькое окно, среднее или большое)
В маленьком окне появится ползунок, если текста много.
MSG_SMALL = 0 (маленькое окно)
MSG_REG = 1 (среднее)
MSG_LRG = 2 (большое)
-- параметры картинок для html-сообщений
Размер ставьте в пределах 150*150 где-то, не более. Читает jpg, остальные форматы - не пробовал.
Переключение камер
ПЕРЕКЛЮЧЕНИЕ КАМЕР
В симуляторе есть множетсво камер, все их можно выбирать и переключаться между ними в любой момент. Камеры, которые часто используются в сценариях:
кинематографическая -- делаем вставки с полетом камеры, взгляд камеры на любой объект, вагон, локомотив.
камеры в кабине и вагоне -- переключение между кабинами локомотива, перемещение в вагон поезда
свободная камера -- для перемещения в любую точку на маршруте
4) SysCall ( "CameraManager:ActivateCamera", "Cam1", 0 );
Вызывает действие кинематограф. камеры Cam1 или др., созданной вами в редакторе сценария. Камера может быть движущаяся или неподвижная в зависимости от количества точек ее перестановки. Неподвижную можно использовать для вида типа панорама, общий обзор, либо для взгляда на конкретный объект на маршруте - все это делается в редакторе сценариев обычно.
Параметры:
"Cam1" - название кинематограф. камеры, что заданa вами в редакторе сценария.
0 - во время показа двигать мышкой нельзя, 1 - можно.
Блокируется только движение мышки, но не выбор локомотива и горячие клавиши, поэтому во время действия кинематограф. камер обычно всегда дополнительно ставится полная блокировка управления вызовом LockControl.
5) SysCall ( "CameraManager:ActivateCamera", "CabCamera", 30 );
Выбор любой камеры
Параметры:
"CabCamera" - тип камеры.
30 - количество секунд, отведенное на показ камеры. Если хотите остаться в таком виде, внутри кабины например, то введите отриц. значение навроде -1.
Камеры:
CouplingCamera - камера с видом на сцепку.
CabCamera - камера в кабине лока.
CarriageCamera - камера в салоне вагона. По умолчанию, это последний вагон пасс. состава. (Если Триггер-инструкция, она же ссылка на скрипт ваш или на встроенный,- в расписании поезда стоит в самом начале и без отсрочки по времени, то вы сразу находитесь в вагоне при старте сценария.)
FreeCamera - свободная камера перемещения по сценарию, внешняя. Используется совместно со спец. вызовом "CameraManager:JumpTo" для перемещения в любую точку на карте маршрута (см. в Разделе: Операции с камерами (помимо переключения). Координаты на маршруте смотреть в редакторе маршрута.
TrackSideCamera - камера с выборочным автоматически видом по ходу следования поезда.
YardCamera - камера вида высоко сверху типа "птичий полет".
HeadOutCamera (HeadOutCamera1 и 2) - камера сбоку локомотива, внешняя. Вызывается по сочетанию shift+2.
ExternalCamera - камера близкого действия с видом на локомотив.
6) SysCall ( "CameraManager:LookAt", "M62" );
1) Вид камеры на внешний объект на маршруте - аналогично функции "осмотр 1" у кинематограф. камеры. Название объекта можно узнать, в редакторе кликнув дважды по нему мышкой и скопировав название в выплывшем меню справа.
2) создание следящей камеры. Камера временно привязывается к указанному составу, даже если это состав бота. Так можно посмотреть где находится в пути состав под управлением бота.
В симуляторе есть множетсво камер, все их можно выбирать и переключаться между ними в любой момент. Камеры, которые часто используются в сценариях:
кинематографическая -- делаем вставки с полетом камеры, взгляд камеры на любой объект, вагон, локомотив.
камеры в кабине и вагоне -- переключение между кабинами локомотива, перемещение в вагон поезда
свободная камера -- для перемещения в любую точку на маршруте
4) SysCall ( "CameraManager:ActivateCamera", "Cam1", 0 );
Вызывает действие кинематограф. камеры Cam1 или др., созданной вами в редакторе сценария. Камера может быть движущаяся или неподвижная в зависимости от количества точек ее перестановки. Неподвижную можно использовать для вида типа панорама, общий обзор, либо для взгляда на конкретный объект на маршруте - все это делается в редакторе сценариев обычно.
Параметры:
"Cam1" - название кинематограф. камеры, что заданa вами в редакторе сценария.
0 - во время показа двигать мышкой нельзя, 1 - можно.
Блокируется только движение мышки, но не выбор локомотива и горячие клавиши, поэтому во время действия кинематограф. камер обычно всегда дополнительно ставится полная блокировка управления вызовом LockControl.
5) SysCall ( "CameraManager:ActivateCamera", "CabCamera", 30 );
Выбор любой камеры
Параметры:
"CabCamera" - тип камеры.
30 - количество секунд, отведенное на показ камеры. Если хотите остаться в таком виде, внутри кабины например, то введите отриц. значение навроде -1.
Камеры:
CouplingCamera - камера с видом на сцепку.
CabCamera - камера в кабине лока.
CarriageCamera - камера в салоне вагона. По умолчанию, это последний вагон пасс. состава. (Если Триггер-инструкция, она же ссылка на скрипт ваш или на встроенный,- в расписании поезда стоит в самом начале и без отсрочки по времени, то вы сразу находитесь в вагоне при старте сценария.)
FreeCamera - свободная камера перемещения по сценарию, внешняя. Используется совместно со спец. вызовом "CameraManager:JumpTo" для перемещения в любую точку на карте маршрута (см. в Разделе: Операции с камерами (помимо переключения). Координаты на маршруте смотреть в редакторе маршрута.
TrackSideCamera - камера с выборочным автоматически видом по ходу следования поезда.
YardCamera - камера вида высоко сверху типа "птичий полет".
HeadOutCamera (HeadOutCamera1 и 2) - камера сбоку локомотива, внешняя. Вызывается по сочетанию shift+2.
ExternalCamera - камера близкого действия с видом на локомотив.
6) SysCall ( "CameraManager:LookAt", "M62" );
1) Вид камеры на внешний объект на маршруте - аналогично функции "осмотр 1" у кинематограф. камеры. Название объекта можно узнать, в редакторе кликнув дважды по нему мышкой и скопировав название в выплывшем меню справа.
2) создание следящей камеры. Камера временно привязывается к указанному составу, даже если это состав бота. Так можно посмотреть где находится в пути состав под управлением бота.
Операции с камерами (помимо переключения):
ОПЕРАЦИИ С КАМЕРАМИ (помимо переключения)
7) SysCall ( "CameraManager:ActivateCamera", "FreeCamera", 0 );
SysCall ( "CameraManager:JumpTo", -78.38396, 40.53150, 10.00 );
Переносит камеру (вид) в указанную точку в параметрах Широта, Долгота, Высота над уровнем моря. Здесь нужны сразу два сист. вызова, чтобы это сработало. Координаты на маршруте смотреть в редакторе маршрута.
8) SysCall ("ScenarioManager:RestoreCameraToDefault", 3.0);
В кабине плавно возвращает вид камеры всегда на прежний (прямо перед собою). В это время делать ничего нельзя, управление заблокировано.
Используется для возврата камеры в нормальное положение после её принудительного взгляда на какой-нибудь орган управления локомотивом.
Аргументы:
3.0 - количество секунд на возврат камеры.
9) SysCall("ScenarioManager:LookAtControl", "Cablight1", 3.0, 4.0, 0.2);
Взгляд на орган управления локомотивом, в данном случае тумблер вкл. света в кабине BR 232. Возможен взгляд на не органы управления (двери, окна..), если они прописаны в шаблоне кабины, как "относящиеся к управлению".
Параметры:
3.0 - секунд на поворот камеры. -1 для мгновенного.
4.0 - тип камеры и степень ее свободы (кабинная). 5 - вагонная была бы. Лучше не трогать, не влияет ни на что.
0.2 - увеличение на 20%. 0 - без увеличения.
Названия основных органов управления локомотивом можно найти многими способами:
1 - в общем списке HUD-элементов - такие как Regulator, Reversor, Horn, Headlights и т.д. - всегда так называются у всех локомотивов, так как пишутся по шаблону.
2 - зависнув мышкой на элементе управления и прочитав название (часто оно совпадает с реальным названием)
3 - самый верный способ - посмотреть Шаблоны этого локомотива, где можно найти такие названия, как EngineBrakeControl, EngineStart, VirtualDynamicBrake, SifaOnOff и т.п. - названия всех органов управления локомотивом.
Для этого надо найти папку и файл с шаблоном управления локомотивом. Для BR232 это папка InputMappers, в ней файл BR232_Expert.bin - все органы управления локомотивом там прописаны.
(А чтобы открыть запакованный в BIN файл шаблона, нужно сделать ярлык на рабочий стол, ссылающийся на утилиту Railworks-а Serz.exe. Теперь положить Bin файл на рабочий стол и накинуть на ярлык serz.exe. Утилита выдаст удобочитаемый xml-файл шаблона. Его даже можно изменять и обратно конвертировать тем же способом в Bin - так изменяют положение камер локомотива и не только.)
4 - тоже хороший способ. В параметрах запуска симулятора в steam-клиенте прописать -ShowControlStateDialog . Теперь запустить симулятор в режиме окна, а не на весь экран. При посадке в любой локомотив в сценарии справа высветится окно с указанием названий органов управления локомотивом (и не только) и их текущими величинами (параметрами, аргументами).
7) SysCall ( "CameraManager:ActivateCamera", "FreeCamera", 0 );
SysCall ( "CameraManager:JumpTo", -78.38396, 40.53150, 10.00 );
Переносит камеру (вид) в указанную точку в параметрах Широта, Долгота, Высота над уровнем моря. Здесь нужны сразу два сист. вызова, чтобы это сработало. Координаты на маршруте смотреть в редакторе маршрута.
8) SysCall ("ScenarioManager:RestoreCameraToDefault", 3.0);
В кабине плавно возвращает вид камеры всегда на прежний (прямо перед собою). В это время делать ничего нельзя, управление заблокировано.
Используется для возврата камеры в нормальное положение после её принудительного взгляда на какой-нибудь орган управления локомотивом.
Аргументы:
3.0 - количество секунд на возврат камеры.
9) SysCall("ScenarioManager:LookAtControl", "Cablight1", 3.0, 4.0, 0.2);
Взгляд на орган управления локомотивом, в данном случае тумблер вкл. света в кабине BR 232. Возможен взгляд на не органы управления (двери, окна..), если они прописаны в шаблоне кабины, как "относящиеся к управлению".
Параметры:
3.0 - секунд на поворот камеры. -1 для мгновенного.
4.0 - тип камеры и степень ее свободы (кабинная). 5 - вагонная была бы. Лучше не трогать, не влияет ни на что.
0.2 - увеличение на 20%. 0 - без увеличения.
Названия основных органов управления локомотивом можно найти многими способами:
1 - в общем списке HUD-элементов - такие как Regulator, Reversor, Horn, Headlights и т.д. - всегда так называются у всех локомотивов, так как пишутся по шаблону.
2 - зависнув мышкой на элементе управления и прочитав название (часто оно совпадает с реальным названием)
3 - самый верный способ - посмотреть Шаблоны этого локомотива, где можно найти такие названия, как EngineBrakeControl, EngineStart, VirtualDynamicBrake, SifaOnOff и т.п. - названия всех органов управления локомотивом.
Для этого надо найти папку и файл с шаблоном управления локомотивом. Для BR232 это папка InputMappers, в ней файл BR232_Expert.bin - все органы управления локомотивом там прописаны.
(А чтобы открыть запакованный в BIN файл шаблона, нужно сделать ярлык на рабочий стол, ссылающийся на утилиту Railworks-а Serz.exe. Теперь положить Bin файл на рабочий стол и накинуть на ярлык serz.exe. Утилита выдаст удобочитаемый xml-файл шаблона. Его даже можно изменять и обратно конвертировать тем же способом в Bin - так изменяют положение камер локомотива и не только.)
4 - тоже хороший способ. В параметрах запуска симулятора в steam-клиенте прописать -ShowControlStateDialog . Теперь запустить симулятор в режиме окна, а не на весь экран. При посадке в любой локомотив в сценарии справа высветится окно с указанием названий органов управления локомотивом (и не только) и их текущими величинами (параметрами, аргументами).
Аудио/Видео/Анимация
АУДИО/ВИДЕО/АНИМАЦИЯ
10-11-12)
SysCall ( "ScenarioManager:PlayDialogueSound","DJSmash.wav");
SysCall ("ScenarioManager:StopDialogueSound","SunsPCM8.wav");
music = SysCall ("ScenarioManager:IsDialogueSoundPlaying","SunsPCM8.wav")
Вызовы функций аудиоплеера Railworks и служат для проигрывания звуков:
(Т.к. wav файл большим размером, ставьте низкие параметры при конвертации, особенно в стерео wav файл. Количество одновременно запускаемых звуков/мелодий не ограниено.)
1 случай - стереофайл. Подойдет для любого звукового сообщения, музыки, озвучивания. То есть: Если проиграть файл в стерео, то он будет звучать как фоновая музыка, всюду.
Требования: положить звуковой файл формата wav или dav стерео в папку Ru вашего сценария. В системном вызове указать название файла и его формат.
Минусы: Часто звук слишком громкий, приходится регулировать громкость wav файла вручную. Звук фоновый, играет плеер.
2 случай - монофайл. Создание массива из звуков на всем маршруте с расстоянием 1*1 км от звука к звуку примерно.
Требования: положить звуковой файл формата wav или dav моно в папку Ru вашего сценария. В системном вызове указывается название файла и его формат.
Минусы: Придется регулировать громкость файла. Аргументы неизвестны. Можно было бы поставить звук в нужной точки без создания объекта "звук".
3 вызов: Выключение звука (и пауза) (испробовано на продолжительной моно и стерео-дорожке):
SysCall ("ScenarioManager:StopDialogueSound","SunsPCM8.wav");
Корректно работает с проигрыванием от 15 секунд длины аудио и выше. При меньшем времени от начала проигрывания до его прекращения, может удлинить звучание до 15 секунд, затем только произойдет пауза/стоп.
4 вызов: Проверка играет ли такой-то звук/музыка:
music = SysCall ("ScenarioManager:IsDialogueSoundPlaying","SunsPCM8.wav")
При использовании вернет значение:
1 - играет (true), 0 - не играет (false)
13) SysCall ( "Object1:PlayAnim", "Anim1", 0, 1.0 );
Якобы для проигрывания анимации анимационного объекта один раз. В сценарных скриптах не встречалось.
Параметры:
Anim1 - название анимации объекта
14) SysCall ( "ScenarioManager:PlayVideoMessage","video.ogv", 2, 0, 15, 0);
Вызов видеоплеера Railworks. Предназначен для проигрывания видео в сценариях.
Требования:
Формат видео - OGV (OGG video), в который можно сконвертировать в программе any video converter. Файл видео нужно положить в папку Ru вашего сценария. Битрейт видео и аудио читается любой.
Параметры:
Первое значение - размер видео. 0 - на весь экран. 1 - средний экран, 2 - маленький экран слева-вверху у угла, 3 - четверть экрана, начинающаяся от левого верхнего угла
Второе значение - ставить ли игру на паузу во время видео. 0 - не ставить, 1 - ставить.
Третье значение - количество кнопок и элементов видеоплеера на экране:
1-проиграть, 2-пауза, 3 - проиграть и пауза, 4 - стоп, 5 - проиграть и стоп, 6 - пауза и стоп, 7 - проиграть, пауза и стоп, 8 - показ шкалы длины видео, 15 - шкала длины видео и 3 кнопки видеоплеера на экране.
Четвертое значение - ?
Эти же параметры в буквенном варианте:
Экран:
FULLSCREEN = 0
FRONT_AND_CENTERED = 1
VIDEO_CALL = 2
Функции плеера:
PLAY = 1
PAUSE = 2
STOP = 4
SEEK = 8
Пауза:
PAUSE_GAME = 1
DONT_PAUSE_GAME = 0
Примеры буквенного написания параметров в вызове:
SysCall("ScenarioManager:PlayVideoMessage", "файл.ogv", VIDEO_CALL, DONT_PAUSE_GAME, 0, 0);
SysCall("ScenarioManager:PlayVideoMessage", "файл.ogv", FULLSCREEN, PAUSE_GAME, (PLAY + PAUSE + SEEK), 0);
10-11-12)
SysCall ( "ScenarioManager:PlayDialogueSound","DJSmash.wav");
SysCall ("ScenarioManager:StopDialogueSound","SunsPCM8.wav");
music = SysCall ("ScenarioManager:IsDialogueSoundPlaying","SunsPCM8.wav")
Вызовы функций аудиоплеера Railworks и служат для проигрывания звуков:
(Т.к. wav файл большим размером, ставьте низкие параметры при конвертации, особенно в стерео wav файл. Количество одновременно запускаемых звуков/мелодий не ограниено.)
1 случай - стереофайл. Подойдет для любого звукового сообщения, музыки, озвучивания. То есть: Если проиграть файл в стерео, то он будет звучать как фоновая музыка, всюду.
Требования: положить звуковой файл формата wav или dav стерео в папку Ru вашего сценария. В системном вызове указать название файла и его формат.
Минусы: Часто звук слишком громкий, приходится регулировать громкость wav файла вручную. Звук фоновый, играет плеер.
2 случай - монофайл. Создание массива из звуков на всем маршруте с расстоянием 1*1 км от звука к звуку примерно.
Требования: положить звуковой файл формата wav или dav моно в папку Ru вашего сценария. В системном вызове указывается название файла и его формат.
Минусы: Придется регулировать громкость файла. Аргументы неизвестны. Можно было бы поставить звук в нужной точки без создания объекта "звук".
3 вызов: Выключение звука (и пауза) (испробовано на продолжительной моно и стерео-дорожке):
SysCall ("ScenarioManager:StopDialogueSound","SunsPCM8.wav");
Корректно работает с проигрыванием от 15 секунд длины аудио и выше. При меньшем времени от начала проигрывания до его прекращения, может удлинить звучание до 15 секунд, затем только произойдет пауза/стоп.
4 вызов: Проверка играет ли такой-то звук/музыка:
music = SysCall ("ScenarioManager:IsDialogueSoundPlaying","SunsPCM8.wav")
При использовании вернет значение:
1 - играет (true), 0 - не играет (false)
13) SysCall ( "Object1:PlayAnim", "Anim1", 0, 1.0 );
Якобы для проигрывания анимации анимационного объекта один раз. В сценарных скриптах не встречалось.
Параметры:
Anim1 - название анимации объекта
14) SysCall ( "ScenarioManager:PlayVideoMessage","video.ogv", 2, 0, 15, 0);
Вызов видеоплеера Railworks. Предназначен для проигрывания видео в сценариях.
Требования:
Формат видео - OGV (OGG video), в который можно сконвертировать в программе any video converter. Файл видео нужно положить в папку Ru вашего сценария. Битрейт видео и аудио читается любой.
Параметры:
Первое значение - размер видео. 0 - на весь экран. 1 - средний экран, 2 - маленький экран слева-вверху у угла, 3 - четверть экрана, начинающаяся от левого верхнего угла
Второе значение - ставить ли игру на паузу во время видео. 0 - не ставить, 1 - ставить.
Третье значение - количество кнопок и элементов видеоплеера на экране:
1-проиграть, 2-пауза, 3 - проиграть и пауза, 4 - стоп, 5 - проиграть и стоп, 6 - пауза и стоп, 7 - проиграть, пауза и стоп, 8 - показ шкалы длины видео, 15 - шкала длины видео и 3 кнопки видеоплеера на экране.
Четвертое значение - ?
Эти же параметры в буквенном варианте:
Экран:
FULLSCREEN = 0
FRONT_AND_CENTERED = 1
VIDEO_CALL = 2
Функции плеера:
PLAY = 1
PAUSE = 2
STOP = 4
SEEK = 8
Пауза:
PAUSE_GAME = 1
DONT_PAUSE_GAME = 0
Примеры буквенного написания параметров в вызове:
SysCall("ScenarioManager:PlayVideoMessage", "файл.ogv", VIDEO_CALL, DONT_PAUSE_GAME, 0, 0);
SysCall("ScenarioManager:PlayVideoMessage", "файл.ogv", FULLSCREEN, PAUSE_GAME, (PLAY + PAUSE + SEEK), 0);
Продолжение следует..