Сейчас 09:03 Пятница, 3 5, 2024 год
Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Обои В о й т и   или   з а р е г и с т р и р о в а т ь с я
РекламаРеклама
Реклама
Тут может быть ваша реклама
Тут может быть ваша реклама
Тут может быть ваша реклама
Главная » Статьи » Картостроение » Триггеры

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

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

[hr]

Для начала я объясню некоторые вещи:
1. Если я пишу ХХХ => УУУ => ZZZ, то это значит, что надо зайти в меню ХХХ, нажать там УУУ и выбрать ZZZ.
2. После некоторых указаний в круглых скобочках я буду указывать горячую клавишу этого действия.
Также желательно чтобы Читатель знал триггеры на уровне новичка.

[hr]

Итак, начинаем!

Первым делом нам надо будет подготовить всё для создания мини-диалога:

Включаем World Editor. Создаём новую карту (если у вас отключен пункт «Автоматически создавать карту при запуске WE»). Потом идём в Слой => Юниты (U). Создадим где-нибудь паладина, а неподалёку пехотинца:

Далее создадим небольшую область рядом с паладином, и назовём её «Paladin»:

Дальше пойдёт триггерная часть:

Для начала нам нужно пойти в «Редактор Переменных» (Ctrl + B). Создаём там переменную-массив типа «Кнопка» («Button») размером 3 ячейки, переменную типа «Диалог» («Dialog»), и две переменных типа «Боевая единица» («Unit»). Массив кнопок назовём «Buttons», наш диалог «Dialog», одну переменную юнита назовём «Footman», а другую «Paladin»:

Далее создаём папку триггеров «Dialog». Там создаём 5 триггеров: «Init», «ShowDialog», «ClickFirst», «ClickSecond» и «ClickThird». Заходим в триггер «Init». Ставим событием «Elapsed time in 0.01» («Времени прошло 0.01 секунд»). Назначаем там переменной «Footman» пехотинца, а «Paladin» паладина соответственно.

Теперь нам надо назначить описание для диалога и кнопок. Но для начала позвольте мне разъяснить некоторый момент – я поставил событие не Инициализацию карты, потому что диалоги, как и мультиборды/таблицы рекордов не могут работать с событием Инициализации, поэтому надо использовать событие «Elapsed time».

Итак, продолжим. Назначаем текст диалогу действием «Диалог – Change title». А для назначения кнопкам текста надо использовать 2 действия – сначала мы создаём кнопку действием «Диалог – Create Dialog Button»,а потом занесём её в переменную «Set Buttons [1/2/3] = Last Created Dialog Button». Давайте поставим текст диалогу «Выберите ответ:», а кнопкам «Привет!», «Ты кто?» и «Пошёл вон!». Вот как всё будет выглядеть, если вы сделали всё правильно:

Дальше нам надо сделать так, чтобы при определённых действиях это окно показывалось, верно? Для примера, я сделаю, чтобы оно показывалось во время разговора между Пехотинцем и Паладином, а данный разговор начинался, когда Пехотинец входит в нашу зону «Paladin». Итак, идём в триггер «ShowDialog», там ставим событие «Боевая единица – A unit enters region». В регион ставим нашу область «Paladin». Далее, в условиях, выбираем «Unit Comparison» и ставим там «(Entering unit) равно (==) Footman».

Потом в действиях включаем ролик действием «Спецэффекты – Cinematic Mode». Потом делаем так, чтобы паладин говорил Пехотинцу «Здраствуй.». Тут нам поможет действие «Спецэффекты – Transmission from Unit». Ну а теперь можно и показывать диалог. Если всё правильно, то триггер «ShowDialog» у вас должен выглядеть так:

Теперь мы должны сделать, чтобы при нажатии определённых кнопок диалога, паладин реагировал по-разному. Для начала идём в «ClickFirst». Ставим событие «Диалог – A dialog button is clicked for Dialog». Теперь мы должны поставить условие, что нажатая кнопка, это «Buttons[1]». То же самое мы будем делать и с другими кнопками. Ставим «Dialog Button Comparison» где проставляет значения таким образом: «(Clicked dialog button) равно (==) Buttons [1]».

Потом нам надо сделать, чтобы Пехотинец говорил нужную фразу, в данном случае это «Привет!». А паладин должен будет ему ответить. У нас диалог небольшой, поэтому паладин ответит один раз. Его фразой будет «Извини, я спешу. До встречи!». А Пехотинец ответит «Ну до встречи...». Ну и в конце выключаем режим ролика. В конечном итоге выйдет так:

Далее ставим в триггер «ClickedSecond» те же самые события и условия, но в условии заменяем «Buttons [1]» на «Buttons [2]». Но теперь паладин будет отвечать по другому, то есть у нас выйдет вот такой коротенький разговор:

Пехотинец: Ты кто?
Паладин: Я Паладин армии Альянса.
Пехотинец: Ясно…
Триггер станет выглядеть так:

Ну и наконец, третий ответ. В нём пехотинец отвечает грубо, поэтому и ответ паладина будет грубым ;-)

Пехотинец: Пошёл вон!
Паладин: Как ты со мной разговариваешь!?
Пехотинец: Как хочу, так и разговариваю!
Ну а триггер будет таким:

Ну, вот и всё. На этом статья закончена. Удачи вам в создании диалогов, и прочего ;-)

[hr]

Скачать карту-пример

[hr]

P.S. Некоторые могут жаловаться на то, что у большинства русские триггеры. Так вот, если у вас русские триггеры, то открывайте карту-пример, и сравнивайте то, что в карте, и то, что в статье. Тогда всё должно быть более-менее понятно.


Скачать
Категория: Триггеры | Добавил: h0pe (02.08.2010)
Просмотров: 707 | Теги: Диалоговые окна | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Меню

Основное



WarCraft III



WarCraft IV



World of Warcraft



Dota AllStars


Категории раздела
Опрос
В чем вы профи?
Всего ответов: 128
Block title
Block content
Мини-чат
200
Новые статьи
[18.01.2014]

Раздел: Разное

Категория: Статьи liex

История кофе (0
[20.10.2013]

Раздел: Разное

Категория: Статьи liex

Вариация AdSense (0
[16.05.2013]

Раздел: Разное

Категория: Статьи liex

Где купить 1С Бухгалтерия (0
Новые файлы
Случайные обои
Загрузить файл
Поиск
Copyright © 2010 Live Warcraft - Всё для WarCraft, Dota, WoW< World Edit При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас!! Теги сайта Карта сайта Хостинг от uCoz ©