Оглавление | Сообщение об ошибках | Ваше мнение о проекте | 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=220701, null, null, null, null, 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 автору |