Shaten | Дата: Понедельник, 16.10.2017, 04:29 | Сообщение # 1 |
Сообщений: 17
Статус:
| Для создания диалога нам нужно создать два файла и папку: знакомый многим init.sqf , briefing.bikb и папка Sound. Оба файла и папка создаются в папке с миссией.
В init.sqf пишем:
name1 kbAddTopic ["briefing", "briefing.bikb", ""]; name2 kbAddTopic ["briefing", "briefing.bikb", ""];
где name - имя юнита в редакторе, с которым будем говорить или player, если говорить будет игрок. Если нужно говорить с несколькими, то повторяем строчку с новыми именами.
В briefing.bikb пишем:
class Sentences { class ИМЯ ФРАЗЫ 1 { text = "Текст фразы 1, который высветится субтитрами."; speech[] = {"\Sound\Имя звука1.ogg"}; class Arguments {}; }; class ИМЯ ФРАЗЫ 2 { text = "Текст фразы 2, который высветится субтитрами."; speech[] = {"\Sound\Имя звука2.ogg"}; class Arguments {}; }; }; class Arguments{}; class Special{}; startWithVocal[] = {hour}; startWithConsonant[] = {europe, university};
Где ИМЯ ФРАЗЫ 1- это имя класса. Назовите как хочется, хоть BAZAR1, но лучше по-своему, что бы не пересекалось с именами других классов. Латиницей и без пробелов. текст фразы 1- это то, что будет говорить один из беседующих, текст, который будет на экране. Имя звука- это запись фразы которую произнесет один из беседующих. То есть то же что выше, но вслух и шевеля губами. Формат .ogg Звуковые файлы кидаем в папку Sound.
Что бы заставить бота вам что-то сказать, понадобится команда:
name kbTell [player, "briefing", "ИМЯ ФРАЗЫ 1"]; waitUntil {name kbWasSaid [player, "briefing", "ИМЯ ФРАЗЫ 1", 3]};
Первая строчка: бот с именем name говорит игроку ФРАЗУ 1 Вторая строчка проверяет сказал ли бот ФРАЗУ 1 до конца- это удобно, если в том же скрипте после фразы последуют другие фразы или команды. Бот сначала договорит, потом продолжится выполнение скрипта.
Эту команду можно запаковать в скрипт и запускать триггером. Не забудьте назвать ботов именами в редакторе.
Это простой диалог без меню выбора. Позже напишу как с менюшкой сделать. Когда сам разберусь.
|
|
| |