Урок по триггерам. - Wc3-Maps Форум













[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Wc3-Maps Форум » Прочее » Архив » Урок по триггерам. (здесь можно посмотреть как выполняются сложные задания.)
Урок по триггерам.
-
NikstaRДата: Суббота, 05-03-2011, 22:03:46 | Сообщение # 1
Kawai killer pussies!

загрузка наград ...
Группа: V.I.P.
Сообщений: 1017
Репутация: 483
Статус: Не на сайте
Этот триггер позволяет соединять предметы в одной ячейки.
события:
Боевая единица - A unit получает предмет
условия:
((Hero manipulating item) has an item of type (Item-type of (Item being manipulated))) равно да
(Item being manipulated) не равно (Item carried by (Hero manipulating item) of type (Item-type of (Item being manipulated)))
(Item-class of (Item being manipulated)) равно Подлежащие продаже
действия:
Предмет - Set charges remaining in (Item carried by (Hero manipulating item) of type (Item-type of (Item being manipulated))) to ((Charges remaining in (Item carried by (Hero manipulating item) of type (Item-type of (Item being manipulated)))) + (Charges remaining in (Item being manipulated)))
Предмет - Remove (Item being manipulated)

Для тех кто ничего не понял, я сделал наработку (http://rghost.ru/4658776)

P/s Сори за не особо хороший ланд, я сонный и усталый был))
_____________________________________________________________________________________________________
Пример разговора с вариантами ответа.
Для начала нам нужно пойти в «Редактор Переменных». Создаём там переменную-массив типа «Кнопка» («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]». Но теперь паладин будет отвечать по другому, то есть у нас выйдет вот такой коротенький разговор

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

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

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

 
-
NikstaRДата: Воскресенье, 06-03-2011, 11:07:50 | Сообщение # 2
Kawai killer pussies!

загрузка наград ...
Группа: V.I.P.
Сообщений: 1017
Репутация: 483
Статус: Не на сайте
хех)
 
-
HellLordДата: Вторник, 12-04-2011, 12:14:47 | Сообщение # 3
Сатана

загрузка наград ...
Группа: Избранные
Сообщений: 995
Репутация: 974
Статус: Не на сайте
чего то у меня неполучается с соединением.
может я чтото не то сделал
И если честно я долго думал вылавливоя эти тригеры вы можети писать название функции а не то что получается, я пока искал много времени потерял
например так:
действия: предмет - create (ваш придмет{ltem-type of ltem}) at (position of (triggering unit{боевая единица - position of Unit})
где (...)это функцие которые используется а {...} это название функции действия события условия...

Skype:HellLord237
Жизнь во Тьме
Смерть При Свете
Прикрепления: __.w3x(19Kb)
 
Wc3-Maps Форум » Прочее » Архив » Урок по триггерам. (здесь можно посмотреть как выполняются сложные задания.)
Страница 1 из 11
Поиск:
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта
chat