Сейчас 22:06:44 Воскресенье, 14 августа, 2022 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » [СТАТЬЯ] Диалоговые окна
[СТАТЬЯ] Диалоговые окна
СорнемусДата: Воскресенье, 10 Января 2010, 23:46:37 | Сообщение # 1
9 уровень
Группа: Проверенные
Сообщений: 854
Награды: 0
Репутация: 120
Блокировки:
Диалоговые окна

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


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


Для начала я объясню некоторые вещи:
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. Некоторые могут жаловаться на то, что у большинства русские триггеры. Так вот, если у вас русские триггеры, то открывайте карту-пример, и сравнивайте то, что в карте, и то, что в статье. Тогда всё должно быть более-менее понятно.
 

PUVerДата: Понедельник, 11 Января 2010, 02:57:40 | Сообщение # 2
Сухопутные крысы!
Группа: Модераторы
Сообщений: 4462
Награды: 8
Репутация: 1845
Блокировки:
Тут и ребенок разберется.для нубов пойдёт.Сорнемус молодец.
 

SANDExДата: Понедельник, 11 Января 2010, 15:25:20 | Сообщение # 3
4 уровень
Группа: Проверенные
Сообщений: 81
Награды: 0
Репутация: -7
Блокировки:
Quote (PUVer)
Тут и ребенок разберется.для нубов пойдёт.Сорнемус молодец.

Согласен


Создание, раскрутка, заработок на сайте
Работа-бизнес.ру
Создание, раскрутка, заработок на сайте
 

AriusДата: Вторник, 12 Января 2010, 08:21:45 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 2163
Награды: 2
Репутация: 267
Блокировки:
Статья хорошая, но зачем ее делать если диалоги есть в паке Ramazan(off)?
 

BeLousДата: Вторник, 12 Января 2010, 11:45:22 | Сообщение # 5
8 уровень
Группа: Проверенные
Сообщений: 649
Награды: 0
Репутация: 120
Блокировки:
Quote (Arius)
Статья хорошая, но зачем ее делать если диалоги есть в паке Ramazan(off)?

Чтобы вопросов было меньше... (Обычно новички не смотрят на "Пак нараработак...." они создают новую тему :D )
Сорнемус
Статья хорошая :)


^Y
 

AriusДата: Среда, 13 Января 2010, 20:15:30 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 2163
Награды: 2
Репутация: 267
Блокировки:
BeLous, это конечно да, но когда в вопросах по картостроению новички, и не только, создают темы многие не смотрят сюда. Вот например там создали тему "заклинания на заказ", хотя здесь точно такая же тема есть.
 

HukoДата: Среда, 13 Января 2010, 20:36:16 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 451
Награды: 0
Репутация: 211
Блокировки:
Сорнемус, отлично придумал)

Помогаю новичкам в Картостроении
Полезные Наработки
 

WarMasterDiДата: Пятница, 04 Ноября 2011, 03:15:57 | Сообщение # 8
5 уровень
Группа: Проверенные
Сообщений: 147
Награды: 0
Репутация: 103
Блокировки:
Как сделать чтоб кнопки не накладывались на другую ситуацию, мне надо много таких переломных моментов в игре делать. Если в "Карту-пример" добавить два варианта было бы луче. Спасибо.

 

Ghost456Дата: Пятница, 04 Ноября 2011, 13:20:37 | Сообщение # 9
6 уровень
Группа: Проверенные
Сообщений: 246
Награды: 0
Репутация: 217
Блокировки:
coolstory

 

Artem3123Дата: Воскресенье, 06 Ноября 2011, 10:28:26 | Сообщение # 10
9 уровень
Группа: Проверенные
Сообщений: 816
Награды: 0
Репутация: 577
Блокировки:
Круто пригодилось
 

NATokДата: Воскресенье, 06 Ноября 2011, 10:30:47 | Сообщение # 11
2 уровень
Группа: Проверенные
Сообщений: 29
Награды: 0
Репутация: 173
Блокировки:
выучить надо ^_^

[url=http://warcraft3ft.info/forum/44/][img]http://s005.radikal.ru/i209/1107/38/cba07a8235b9.gif[/img][/url]
 

GLADДата: Воскресенье, 06 Ноября 2011, 13:25:39 | Сообщение # 12
6 уровень
Группа: Проверенные
Сообщений: 162
Награды: 0
Репутация: 94
Блокировки:
норм статейка

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

ДядяФаперДата: Воскресенье, 06 Ноября 2011, 16:18:36 | Сообщение # 13
1 уровень
Группа: Пользователи
Сообщений: 7
Награды: 0
Репутация: -10
Блокировки:
НУБСКАЯ СТАТЬЯ! АФТАР КРАН!

Ищу партнера(мужчину) во Владивостоке для серьезных отношений.
 

wetalqДата: Среда, 09 Ноября 2011, 10:01:14 | Сообщение # 14
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Quote (BeLous)
Чтобы вопросов было меньше... (Обычно новички не смотрят на "Пак нараработак...." они создают новую тему )


а с чего ты взял что новичек посмотрит в твою тему в место того что бы создать новую тему ?
 

vov68Дата: Среда, 09 Ноября 2011, 12:40:35 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
Quote (WarMasterDi)
Как сделать чтоб кнопки не накладывались на другую ситуацию

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


Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)
 

WarMasterDiДата: Четверг, 10 Ноября 2011, 18:41:52 | Сообщение # 16
5 уровень
Группа: Проверенные
Сообщений: 147
Награды: 0
Репутация: 103
Блокировки:
Да я разобрался уже)) Спасибо).

 

Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » [СТАТЬЯ] Диалоговые окна
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2022 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz