Warcraft 3 как сделать диалоги

Обновлено: 02.07.2024

Для начала нам нужно создать карту (ну возьмём карту 32x32), теперь поставте в одном месте рабочего а в другом пехотинца (чтобы между ними было расстояние), (поставте на таком расстоянии буд-то они разговаривают).

Теперь приступим к триггерам!
Включите меню триггеров.

Нам нужно создать 4 переменные, откройте меню переменных нажатием клавиш ctrl+B) . 1 переменная. Назовём её "Dialog", и назначим тип переменной "Диалог. Потом создадим ещё одну. Название: "Knopka1", и тип "Кнопка". Ещё одну переменную. Название:"Knopka2", тип "Кнопка". И ещё одну. Название: "Knopka3", тип "Кнопка"

Потом создадим триггер "Start”. Новую категорию "Действия диалога”, и в этой категории (которую мы создали) создадим три триггера- "Knopka1”, "Knоpka2”, и "Knopka3”. (и желательно удалите триггер "Иниц.Сражения, который создан вначале любой карты)

Выйдете из меню триггеров. Теперь нужно сделать камеры. Поствьте камеры так как указано на скриншоте.

Теперь заходите опять в меню триггеров (Ctrl+B). Нажмите на триггер "Start".
Теперь создадим событие "Инициализация карты", и действия-
1. Спецэффекты: Режим Кинематики Вкл. Для (Все игроки)
2.Камера: Применить (Здесь указуйте камеру которая смотрит на персонажей сверху) для Игрок 1 (Красный) на0.00 Секунд
3.Ждать 2 Секунд
4.Спецэффекты: Послать передачу (Все игроки) от (тут выбирайте вашего Пехотинца) по имени Пехотинец: Воспроизвести Нет звука и показать Что ты здесь делаеш?. Изменить продолжительность: Добавить 2.00 секунд и Ждать
5.Ждать 2 секунд
6.Камера: Применить камеру (Здесь указуйте на самую нижнюю камеру) для Игрок 1 (Красный) на 0.00 Секунд

7.Ждать 1 секунд
8.Спецэффекты: Режим Кинематики Откл для (Все игроки)
9.Диалог: Смена названия Dialog (это мы выбрали переменную "Dialog") на Выбор
10.Диалог: Создать кнопку диалога для Dialog (наша переменная) с отметкой Просто стою
(Теперь заносим наше последнее действие в переменную)
Установить Knopka1= (Последняя кнопка диалога)
11.Диалог: Создать кнопку диалога для Dialog с отметкой Румбу танцую
Установить Knopka 2= (Последняя кнопка диалога)
12.Диалог: Создать кнопку диалога для Dialog с отметкой Отвали
Установить Knopka 3= (Последняя кнопка диалога)
13. Диалог: Показать Dialog для Игрок 1 (Красный)

И далее нужно создать триггеры (в категории "Действия диалога") делайте там всё по скриншотам (только не отключайте триггер, как на скриншоте):

Вставить или заменить звуковой файл в Warcrafte 3


В этой статье я расскажу про звуковые и музыкальные файлы, которые можно импортировать и добавить в клипы или фоновую музыку. Чтобы импортировать звук нужно нажать на панели инструментов, на кнопку “Редактор звука”.

звук

звук

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

звук

- эта картинка означает звуковой файл и он может использоваться для спецэффектов и в клипах.

музыка

- эта картинка означает музыкальный файл он может быть использован для фонового звука, например можно добавить музыку, за людей, за нежить или свою импортировать.
Снизу на картинке обозначена панель инструментов, для звука

настройки

Подсказка: цифрами я обозначаю кнопки на картинке, слева - направо.

1.Использовать звуковой файл как звук. Добавляет звуковой файл в окно справа и можно использовать файл в дальнейшем в триггерах.
2.Использовать как музыку – позволяет использовать музыкальный файл в триггерах для фонового звука.
Файлы mp3 можно использовать как звук и музыку, а файлы wav можно использовать только как звук.
3.Импорт звука – позволяет импортировать звуковые файлы с расширение wav и mp3.
4.Экспорт звука – можно экспортировать любые файл как звуковые ,так и музыкальные.
5.После нажатие кнопки использовать как звук, можно его прослушать, нажав на кнопку воспроизвести звук.
6.Прервать воспроизведение всех звуков – одновременно можно запустить несколько звуковых и музыкальных файлов, и это кнопка, которая похоже на красный квадратик, останавливает воспроизведение всех звуков.

Как это работает?

Теперь приступим к реализации триггера. Создайте новый триггер, который будет отвечать за разговор, персонажа NPC с нашим героем. Все это будет происходить, когда наш герой будет к нему подходить достаточно близко. Для начала нужно создать триггер Init- он будет отвечать за время суток, которое будет начинаться в 12.00 дня.

время

На карте нужно создать несколько воинов. Тиренд, Шандрис и несколько лучниц все они являются персонажами за ночных эльфов. Тиренд и Шандрис можно найти в ‘’компании”, а лучниц в “сражении”.

Триггер “Dialog”

Следующий триггер отвечает за диалог двух персонажей.

время

Если Тиренд находится в пределах 200 от Шандрис ,то срабатывает действие.

Спецэффект – turn subtitle display override вкл – включает субтитры, хотя их можно включить в настройках игры, но этот триггер включает их принудительно.

Спецэффекты – transmission From Unit – отвечает за диалог Шандрис, а N02Arсher01 – это звуковой файл, дальше следует перерыв в две секунды и следующий диалог Тиренд, почти такой же, как и предыдущий. Для диалога Тиренд использовался звуковой файл N01Tyrande34. Потом идет отключение субтитров.

А чтобы добавить фоновый звук, например музыку вместо стандартной, то достаточно создать инициализирующий триггер и в редакторе звука, выбрать подходящий звук на 2, 3 или 4 минуты. Нажать кнопку использовать как музыку, дальше нужно добавить действие в триггер “Звук – music”, где в этом действии надо указать наш музыкальный файл, на картинке приведен пример.

время

В warcraft есть стандартные реплики героев, которые можно заменить, например вы создали героя, но вам не подходят некоторые реплики у этого героя. Вы можете их заменить, для этого нужно перейти в редактор звука. Найдите своего героя, это не так сложно, как кажется на первый взгляд. Все герои разделены на расы, например эльф Кель относится к расе эльфы, они входят в состав Альянса, а это значит, все звуки Келя в папке Human, нежить - Undead, орки- Оrc, ночные эльфы – Night elf, остальные монстры, которые нейтральные они в папке Сreeps.
Так вот чтобы заменить звук, надо выбрать нужный вам звук, щелкнуть правой кнопкой мыши
и из списка выбрать “заменить стандартный звук” пример на рисунке.

звук

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

звук

На этом все.
Вот файл скачать, там для примера добавлен герой маршал Гаритос с замененными звуками. Чтобы он начал говорить дополнительные реплики, нужно по нему щелкать несколько раз. Один щелчок одна реплика.

warcraft -> Статьи по WarCraft 3 -> Вставить или заменить звуковой файл в Warcrafte 3

Диалоговое окно. Часть 1


В этой статье я вам расскажу, как создавать диалоговые окна.
Вот пример простого диалогового окна, выбора героя.

Диалоговое_окно


Прежде чем создавать диалоговые окно нужно создать, переменную типа “Диалог”, для этого перейдите в Редактор триггеров. (а)

Редактор_триггеров

Переменные

Переменные


В маленьком окошке напишите имя переменной, например Dialog и выберите тип переменной Диалог, как показано на рисунке.

Переменные


Создайте еще одну переменную DialogButton и выберите тип переменной (Кнопка) сделайте переменную массивом для этого достаточно установить флажок напротив слова массив пример на рисунке.

Переменные


Две переменные уже готовы, этого вполне достаточно для простого диалогового окна.
Теперь приступим к реализации триггера, нажмите кнопку новый триггер.

Триггер


Дайте название триггера, например Dialog, теперь нужно создать событие, для диалога

Триггер

- это событие означает, что через две секунды будет сработан наш диалог.
Теперь нужно создать несколько действий, которые будут выводить надпись диалога и две кнопки на экран.

Действие


Диалог – Clear Dialog – позволяет очищать диалоговое окно от кнопок, если этого действия не будет, то при повторном обращение к диалоговому окну произойдет дублирование кнопок и вместо двух их станет четыре, поэтому это действие просто необходимо.
Чтобы проверить дублирование кнопок удалите Диалог - Clear Data и замените это событие

Событие

Событие

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

Действие

- выводит заголовок для диалогового окна , первый параметр это переменная Dialog, второй название заголовка.

Действие

- создает кнопку для диалогового окна.

Действие

- присваивает кнопку к переменной DialogButton[1], где единица (массив) номер кнопки, а (Last Created dialog button) означает последнюю созданную кнопку.
Вторую кнопку сделайте сами она почти так же делается как и первая.

Действие

- показывает диалоговое окно для игрока 1 (красный).
После создание всех кнопок, если попробовать их активировать ,то можно заметить, что они не работают, потому что мы не указали им направление, давайте сделаем это.
Создайте два новых триггера один назовите Mag, Другой Paladin.

Действие


Разберем триггер Paladin.

Событие

Событие

- это событие отвечает за любую нажатую кнопку.
Условие

Условие

- это условие отвечает, какая именно кнопка была нажата.
Действие

Действие

- это действие отвечает за создание боевой единицы Паладин для игрока 1(красный) в области 000. Последний параметр отвечает за поворот боевой единицы в градусах.
Второй триггер Mag создается точно так же как и Паладин, только вместо DialogButton[1], используется DialogButton[2] и при создании героя нужно указать не паладина, а верховного мага.
Вот таким образом и создаются диалоговые окна, заходите ко мне почаще, я буду заливать новые статьи .
Вот карта, загрузите его в World Editor и протестируйте, хотя я вам советую последние две кнопки, которые я не описал в этой статье, сделать самим.

Warcraft 3 как сделать диалоги

Благодаря этой статье вы научитесь создавать диалоговые окна.


Самое простое диалоговое окно выглядит так:

Диалоговое окно состоит из: Названия и Кнопок (на скрине сверху всего одна кнопка, но их может быть больше)


Чтобы вывести диалоговое окно во время игры на экран сначала нужно создать переменную типа "Диалог" :

Открываем "Редактор триггеров":


"Переменные":


Нажимаем "Новая переменная":




В открывшемся маленьком окошке вводим любое название переменной и тип переменной - "Диалог":




Затем нажимаем "ОК".

Отлично, теперь у нас есть переменная с которой мы можем работать,
и затем нам нужно создать триггер, который будет управлять нашим диалогом, создаст ему название, сделает кнопки и выведет его на экран.

Возвращаемся в "Редактор триггеров" и создаём новый триггер, назвать можно как угодно например: "myFirstDialog"

Теперь надо создать "Событие", при котором появится наш диалог.

Без события триггер не заработает !
Так как я показываю простой пример, то и событие будет простое: "Прошло несколько секунд игры"
Заметьте, что использовать в данном примере событие "Map initialization" нельзя, так как событие инициализации карты происходит тогда, когда на эране ещё ничего нет.

Условия создавать не будем.

Но без действий мы обойтись не сможем.
Нажимаем "Новое действие", и выбираем тип - "Диалог":



Перед нами 4 действия:

Все эти действия должны быть в нашем триггере, в правильном порядке:

Вот как будет выглядеть наш триггер:


Сейчас можно проверить(запустить) карту.
Через 5 секунд после начала игры появится наше диалоговое окно.
Вы можете нажать на кнопку, но ничего не произойдёт!

Игра понятия не имеет что мы хотим от этой кнопки.
Поэтому мы должны объяснить игре что мы хотим чтобы происходило при нажатии на кнопку.
Cделаем это с помощью ещё одного триггера.
Создаём новый триггер, называем его как угодно, например: "clickButton"

Заметьте, что имена ни как не влияют на игру. Они только для вас. Однако, если вы открываете карту, которую не трогали месяц или два и видите триггер с названием "Безымянный триггер 038", вы помните зачем он? что в нем?
Именно поэтому вы должны всегда давать триггерам, папкам, переменным имена которое вам поясняет задачу и смысл этого триггера, папки или переменной.

Этот триггер также нуждается в Событии.
Есть событие которое запускает триггер при нажатии любой кнопки в диалоге.
Но когда более одной кнопки как игре понять что мы хотим от "Кнопки 1", а что от "Кнопки 2"?
Тогда каждая кнопка должна иметь свою переменную.


Создайте новую переменную типа "Кнопка":


Вернёмся к нашему первому триггеру и после действия создания новой кнопки создадим действие, присваивающее только что созданную кнопку к нашей переменной:

Теперь мы можем продолжать делать триггер "clickButton".
Создаём событие(Диалог-Нажата кнопка диалога):




Затем надо создать новое условие, которое будет проверять что за кнопка нажата:


Ну и конечно же действие, которое будет выполнятся при нажатии на нашу кнопку.
Например для игрока создастя герй в центре карты.
Вот готовый триггер:




Заключение:
Творите! Всё зависит только от вашей фантазии. Почаще заходите на мой сайт, я буду заливать статьи очень часто=)
А насчёт диалоговых окон. на основе моего примера можно создать простенькую карту где вначале игры перед всеми игроками встаёт выбор из например 5 героев и все они появляются в случайном месте карты и ищут друг друга, по пути убивая мелких монстров.

Читайте также: