Оглавление Сообщение об ошибках Ваше мнение о проекте E-Mail автору

v    Аудио команды

 

 

play sample <samplnumber>

 Проигрывает звуковой сэмплы с номером <samplnumber>. Сэмплы хранятся в папке "s" игры и имеют формат WAV. Номера сэмплов совпадают с именем файла. Это всякого рода простые звуки, например открытия люка, звук от выстрела и т.п. Описание стандартных сэмплов в приложении Сэмплы "X2 The Threat". Помимо этого существует возможность добавить собственные симплы, но к сожалению количество их ограниченно и ScE доступны далеко не все номера. Если вы желаете добавить собственный сэмпл то используйте для них следующие номера 7-21, 23-45, 50-52, 57-58, 65-69, 73-74, 78-83, 87-93. Теперь добавьте нужный вам звук (файл в формате WAV) в папку \s, и переименуйте его в соответствующую цифру. Например, для того чтобы ваш сэмпл воспроизводился командой play sample 21, ваш WAV файл должен быть назван 21.WAV и соответственно он должен находиться в папке \s из основной папки игры.

 

play sample: incoming transmission <transmissiontype> from object <source>

<transmissiontype> это константы типа IncomingMessage.XXXX. Работа команды заключается в произнесении голосом бортового компьютера фразы в зависимости от аргумента. Аргумент from object - по идее должен указывать источник сообщения, но в версии 1.4 эта функция не работает.

            Для этой инструкции в ScE предусмотрено четыре специальных константы

 

Имя константы

 

Значение

Сообщение

[IncomingTransmission.Greeting]

1362

“Вас приветствует”

[IncomingTransmission.Message]

1361

“Поступило сообщение”

[IncomingTransmission.Scanned]

1363

“Нас сканируют”

[IncomingTransmission.SOS]

1360

“Аварийный сигнал от”

 

 

 

 

<object> send audio message <massagetype> to player

Игроку посылается аудио/видео сообщение от объекта <object>, объектом должен являться корабль. В качестве параметра <messagetype> используются константы Comm.XXXX. Видео изображение пилота от которого пришло сообщение формируется в зависимости от расы владельца <object>. Сообщение может поступить только от корабля находящегося в том же секторе что и игрок.

 

Имя константы

Значение

Сообщение

 

Comm.DLG_POL_ILLEGAL_GOODS

75

На борту обнаружен нелегальный груз.

Comm.DLG_POL_LAST_WARNING

76

Последнее предупреждение сбросьте нелегальный груз или открываем огонь

Comm.DLG_POL_LEGAL_GOODS

77

Ваш корабль просканирован, нелегальных грузов не обнаружено.

Comm.C_START_FIGHTING

4

Сообщение о начале атаки на ваш корабль игрока

 

 

 

send incoming message <message> display it=[TRUE]|[FALSE]

Посылает сообщение <message> игроку. Если display it=[TRUE], то сообщение сразу же отображается на экране, если [FALSE] - записывается в журнал, игрок получает уведомление "Пришло новое сообщение". Чтобы в поле "От:" было  написано от кого пришло сообщение придется предварительно записать это сообщение в языковой файл ХХХХХХ.XML используя теги форматирования. Как пример приведу самое первое сообщение которое приходит от Бена Даны, в самом начале игры. Расположено это сообщение в 70001.XML pageID=108 textID=220701. Выглядит оно вот так:

 

[author]Бен Данна[/author][text colwidth='500'] Привет, Джулиан. Как мы уже говорили, я хочу, чтобы  ты поработал курьером для "ТерраКорп". Встреться с вице-президентом [b]Еленой Хо[/b] в [b]штаб-квартире  "ТерраКорп"[/b] в секторе [blue]Home of Light[/blue]. Поскольку непосредственная связь не всегда возможна, я буду посылать тебе текстовые сообщения наподобие этого, если произойд‘т что-нибудь важное. Удачи![/text]

 

Для демонстрации нужна небольшая программка:

 

001   $str = sprintf: pageid=108 textid=220701nullnullnullnullnull
002   send incoming message $str to player: display it=[TRUE]
003   return null

 

 

Так как 70001.XML грузится при старте игры, а обращаемся мы непосредственно к нему, то load text: id можно не использовать. Запускаем ее, сразу же получаем сообщение от Бена Даны. Текст между [b] … [/b] желтого цвета, а между [blue]…[/blue] голубой. [author]..от кого сообщение..[/author] должно стоять первым. Тэг [text colwidth='500'] … [/text] устанавливает ширину колонки, этот параметр должен заключать внутри себя весь текст сообщения вместе с другими тегами. Тэг [author] должен стоять первым так как он, не является частью сообщения (описание тэгов и спецсимволов в разделе «Языковые файлы - Использование тэгов и спецсимволов).

 

<RetVar/IF/START> speak text: page=<pagenum> id=<idnum> priority=<priority>

Команда воспроизводит голосовое сообщение. Работа команды схожа с командой play sample: incoming transmission , отличие заключается в том, что место нахождения сообщения указывается пользователем. Также эта команда может проиграть голосовой клип как команда send audio message, только не будет отражаться видео.

Текст сообщений храниться в файле  70001.xml на странице 13. Если играющий не отключил показ субтитров то, при воспроизведении голосового сообщения в нижней части экрана будут отражены субтитры (текст взятый с соответствующей страницы и идентификатора), соответственно субтитры будут на языке локализации. Если сообщение имеет связанный с ним аудио компонент, то он будет тоже проигран.

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

            Все сообщения Х2 имеющие аудио/видео компонент, описаны в разделе «Приложение - Голосовые сэмплы».

Для данной команды имеется возможность составлять ценные фразы из отдельных симплов. Делается это при помощи языкового файла. На любую свободную страницу и идентификатор помещаются ссылки на строки состоящие из голосовых симплов, см. «Приложение - Голосовые сэмплы». Ссылки записываются заключенными в фигурные скобки вот пример такой записи:

  <?xml version="1.0" ?>

- <language id="7">

- <page id="1" title="" descr="">

  <t id="1236">{13,1350}{13,1274}</t>

  <t id="1237">{13,37}{13,135}</t>

  <t id="1238">{13,131}{13,1275}</t>

  </page>

  </language>

теперь соответственно если в скрипте записать строку :

 speak text: page=1 id=1236 priority=0

то бортовой компьютер последовательно воспроизведет голосовые симплы с 13 страницы по ID 1350 {13,1350} и сразу же из ID 1274 с той же страницы {13,1274}.  В нашем случае борт.компьютер произнесет «Проверка системы.  Подключение произведено».

 


Оглавление Сообщение об ошибках Ваше мнение о проекте E-Mail автору
Сайт создан в системе uCoz