Главная RSS Онлайн игры WarCraft Приколы Карта сайта О блоге Поиск Добавить пост Ваши посты
500 рублей помощь регистрации домена и на хосте и перенос сайта туда связь


+ Подписаться

В этой книге представлены основы по HTML 5. В ней рассказывается, как создавать свою графику и анимацию, а так же работа с мышкой и клавиатурой.

Скачать


Чтобы герой не мог брать два оружия часть 1.

1

Добавил: AlexMaster

Дата: 18.08.2013


В этой статье я расскажу, как сделать так чтобы герой не мог носить два вида артефактов одного типа, например герой не может одеть сразу два шлема или две брони.
Всего у нас в Warcraft семь классов предметов: постоянные, имеющие заряды, усиливающие, артефакты, подлежащие продаже, только для компании и разные. Шесть из них мы будем использовать в качестве класса оружия, а в “разные” можно складывать те предметы которые не попадают не под один класс например, артефакты имеющие заряды это зелья и разные свитки.
Вот как это будет выглядеть:
Артефакты – класс оружие
Усиливающие – класс броня
Постоянные – класс шлем
Подлежащие продаже – класс ботинки
Имеющие заряды – класс перчатки
Только для компании - класс щиты

Создание “переменных”

Теперь нужно создать переменные всего их будет девять, шесть целочисленных и три логических.

Целочисленные:

ItemCheckClassArmour
ItemCheckClassBoots
ItemCheckClassGloves
ItemCheckClassHelm
ItemCheckClassShield
ItemCheckClassWapon

Логические:

ItemCheck01
ItemCheck02
ItemCheck03
Логические переменные нужны для некоторых проверок, чтобы не было сбоев, при добавлении предметов в инвентарь.

Триггер “Item Check”

ItemCheck

Рис 1.

В этом триггере указано условие, что боевая единица “верховный маг” или “чародей крови” получают предмет, любой классификации, только не относящиеся к “разным”. В действии всем нашим переменным присваивается 0.
Потом создается цикл, начиная с нуля. Этот цикл отвечает за количество классов оружия. У нас их шесть значит, отсчет идет с нуля до пяти, ноль тоже считается как цифра. Дальше следует условие, если в любом слоте нет предмета, то в действиях ItemCheck01 присваивается, нет иначе да, пример на рисунке ниже.

Подсказка: При создании условия нужно использовать функцию item-type comparison.

Item

Рис 2.

Условие на рис. 3 срабатывает, когда ItemCheck01 равно “Да”, т.е. предмет существует. Условие на рисунок ниже похоже на условие рис 2 (смотрите в верху) . Только вместо условия Item Type Comparison нужно использовать Item-Class Comparison и равно “Артефакты”.

Условие

Рис 3.

Если условие на рисунке 3 срабатывает, то происходит действие Set ItemCheckClassWapon = (ItemCheckClassWapon+1), последнее - это арифметическое выражение.
Остальные примеры очень похожи, так что создайте их сами, руководствуюсь всеми предыдущими примерами. Особое внимание уделите первому рисунку, там изображена структура триггера. В итоге у вас должно получится: условия для классов “Постоянных”(ItemCheckClassHelm), “имеющих заряды”(ItemCheckClassGloves), “усиливающие”(ItemCheckClassArmour), “подлежащие продажи”(ItemCheckClassBoots), “только для компании” (ItemCheckClassShield). В скобках указана переменная для каждого класса.
Следующая часть триггера отвечает, за отображение сообщений. Например “Вы не можете носить две брони!”. Тут все очень просто идет проверка ItemCheckClassArmour больше 1, если это так выводится – сообщение “Вы не можете носить две брони!”.

Message

Рис 4.
Выброс предмета.

Следующая часть триггера отвечает за выброс предмета.

DropItem

Рис 5

В начале идет цикл с нуля до пяти, потом условие, похожее условие можно увидеть на рис. 2, только в действиях этого условия нужно указать переменную ItemCheck02.
В следующем условии идет проверка ItemCheck02 равно “да’’.
Если она проходит, то запускается цикл For each (Integer B), from (Integer A + 1) to (Integer A + 5), дальше срабатывает точно такое же условие, которое было на рисунке 2. кроме последней части, где указывается слот, вместо (integer A + 1) нужно указать вычисление модуля пример на рисунке.

Modulo

Рис. 6

В действиях этого условия будет использоваться переменная ItemCheck03 = нет, иначе ItemCheck03 = Да.
Потом идет проверка, равна эта переменная ‘’да’’ и еще одно условие, которое называется Item-Class Comparison.

ItemClass

Пример условие Item-Class Comparison на рисунке.

ItemClass

Рис 7.

И напоследок еще шесть таких же, как и на рис 1 условий, только вместо “равно’’ нужно поставить ‘’неравно’’ и в действиях указать удаление (‘’Drop’’) предмета из инвентаря героя. Смотрим пример.

DropItem

Рис 8.

На этом все. Если, что не понятно скачайте файл с примером, там можно увидеть структуру всех триггеров.

скачать

Статья написана для сайта wc3maps.ru

Назад

Просмотров: 566

Комментарий к этой заметки:

Добавить ваш камментарий:

Введите капчу

 

Яндекс.Метрика