Вернуться   D3Scene.Ru Софт портал игр | Хаки | Проги | Статьи > Основные игры > WarCraft 3 > WarCraft 3 Картостроение
Присоединяйся к нам

WarCraft 3 Картостроение Вопросы по редактору, создание карт и мапмейкеры



Ответ
 
Опции темы Опции просмотра
Старый 17.11.2011, 20:01   #1
Заблокирован

 
Аватар для Guard
 
Регистрация: 12.08.2011
Сообщений: 234
Репутация: 126
Автор По умолчанию

Создание диалоговых окон


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

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

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

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

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

Затем нажимаем "ОК".
Отлично, теперь у нас есть переменная с которой мы можем работать,
и затем нам нужно создать триггер, который будет управлять нашим диалогом, создаст ему название, сделает кнопки и выведет его на экран.
Возвращаемся в "Редактор триггеров" и создаём новый триггер, назвать можно как угодно например: "myFirstDialog"
Теперь надо создать "Событие", при котором появится наш диалог.
Без события триггер не заработает!
Так как я показываю простой пример, то и событие будет простое: "Прошло несколько секунд игры"
Заметьте, что использовать в данном примере событие "Map initialization" нельзя, так как событие инициализации карты происходит тогда, когда на эране ещё ничего нет.
Условия создавать не будем.
Но без действий мы обойтись не сможем.
Нажимаем "Новое действие", и выбираем тип - "Диалог":

Перед нами 4 действия:
1.Show/Hide - Показать/Скрыть - Показывает Игроку тот или иной Диалог;
2.Change Title - Изменить Название - Меняет название Диалога;
3.Create Dialog Button - Создать Диалоговую кнопку - Создаёт кнопку;
4.Clear - Очистить - Очищает выбранный диалог(убирает название, кнопки)

Заметьте, что перед тем как давать название диалогу, создавать кнопки и т.п. следует ОЧИСТИТЬ (4.Clear) наш диалог.
Все эти действия должны быть в нашем триггере, в правильном порядке:
Сначала очищаем наш диалог (4.Clear);
Затем меняем название диалога (2.Change Title);
Потом создаём кнопку или кнопки (3.Create Dialog Button);
И показываем наш диалог игроку(1.Show/Hide).
Вот как будет выглядеть наш триггер:

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

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

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


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

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


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

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

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


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Powered by vBulletin
Copyright © 2017 vBulletin Solutions, Inc.
Перевод: zCarot | Дизайн: G-A | Верстка: OldEr
Текущее время: 05:40. Часовой пояс GMT +4.