Сейчас 04:23:00 Суббота, 28 января, 2023 год
Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я

Меню сайта

Категории

Наш опрос
Какой тип карт вам нравится больше всего?
Проголосовало: 145059

Сейчас на сайте
На сайте всего: 12
Гостей: 12
Пользователей: 0

Реклама

Главная » Статьи по WarCraft 3 » Создание карт » Триггеры
Диалоговые окна
Диалоговые окна

Автор: Сорнемус


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


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


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

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

Включаем 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]». Но теперь паладин будет отвечать по другому, то есть у нас выйдет вот такой коротенький разговор:

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

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

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

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



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


P.S. Некоторые могут жаловаться на то, что у большинства русские триггеры. Так вот, если у вас русские триггеры, то открывайте карту-пример, и сравнивайте то, что в карте, и то, что в статье. Тогда всё должно быть более-менее понятно.
Просмотров: 5925 Добавил: Сорнемус Добавлено: 28 Января 2010 в 00:18:44
Комментариев: 16 |

Всего комментариев: 161 2 »
12 Июня 2012
16. Бильбо Бэгинс (Pandit) [Материал]
Большое спасибо автору!

15 Января 2012
15. Илья Андреевич Рысенков (Ilya_Rysenkov) [Материал]
Ссылка не работает!
>(

21 Января 2011
14. Никита (Ixzibitionn) [Материал]
Войти всмысле в область :)

21 Января 2011
13. Никита (Ixzibitionn) [Материал]
Хо-хе-ху-ха!!! %)
Если сделать ответы диалогов "Взять задание" и "Уйти" ( мне для квестов :) ) То если нажать "Уйти" и опять войти то будет уже четыре вариантта ответов :D :D :D Если еще раз то 6, а потом ничего невозможно сделать fie

28 Ноября 2010
12. Александр (tvain) [Материал]
Легко)

31 Октября 2010
11. Сергей (1iChKiNg) [Материал]
Полезная статья хоть я знаю как это делается B)

21 Августа 2010
10. Даниил (DVF) [Материал]
Бред и чушь могло получиться только у нубов <_< У меня получтлось с 1 раза B) БОЛЬШОЕ СПАСИБО АВТОРУ ^_^

13 Августа 2010
9. Алексей (A1EKS) [Материал]
Почему я создал переменные а когда их выбираю пишет что их нет :(

06 Августа 2010
8. Василий (gabriel) [Материал]
OnlyBoy,сначало нужно открыть редактор тригеров,а потом нажать Ctrl+b

03 Июля 2010
7. Дмитрий (OnlyBoy) [Материал]
Нажал Ctrl+b редактора переменных нет ...А где он находится? и какая у тя WE?

1-10 11-16
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа
Логин:
Пароль:

Поиск

Случайная картинка

Случайный файл
[28 Декабря 2008]
[Карты · Другое]
X Hero Siege 3.12 -
  • Автор карты: Sogat
  • Жанр: Castle Defense
  • Версия: 3.12
  • Язык: Английский
  • Кол-во игроков: 1-8
  • Поддержка компьютера: отсутствует

  • Новые карты
    [07 Февраля 2016]
    Переезжаем на другой сайт, господа![Dota]
    [18 Октября 2015]
    Duel of Gods PreV[Другое]
    [18 Октября 2015]
    Hero of The Empire v1.18g[RPG]
    [17 Октября 2015]
    Servant War v1.05[Другое]
    [17 Октября 2015]
    Age of Vikings Edited v1.6[Другое]
    [17 Октября 2015]
    Strife of the Champions Beta v1.2[Arena]
    [17 Октября 2015]
    VirusBoll (rus)[Другое]
    [17 Октября 2015]
    Exterminators v1[AoS]
    [17 Октября 2015]
    The Lord Heroes v1.2[Другое]
    [17 Октября 2015]
    Versus heroe Arena 1.0 AI[Arena]

    5 лучших по кол-ву добавленных статей
    [ Duosora ] [ 58 ]
    [ Messenger ] [ 52 ]
    [ Bru ] [ 39 ]
    [ Pand@ ] [ 35 ]
    [ РеКсАр ] [ 27 ]

    Наша кнопка
    Warcraft3FT.info - Всё для Warcraft 3 и DotA

    Другие варианты

    Статистика

    Материалы:
    Новости: 1010
    Файлы: 8668
    Статьи: 680
    Картинки: 8256
    Форум: 30520/954989
    Комментарии: 58094
    Copyright © 2006 - 2023 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
    Хостинг от uCoz