Содержание:
-Описание статьи(Вступление)
-Создаём переменную
-Основная часть создания скилла
-Создаём некоторую "систему" обновления маны
-Некоторые нюансы и можно проверить скилл..
Вступление
Статья полностью предназначена новичкам. Эта статья научит вас сделать скилл с шансом.Что это означает?Это означает то,что например: Вождь Минотавров применяет Волну Силы и у него есть сколько-то % шанс стать неузявимым на 4 секунды.-например!!! - это мы и будем делать.
Создаём переменную
Зайдём в "Переменные" (Редактор триггеров -> Переменные) и создадим переменную Chance типа Целочисленная.
Далее создадим категорию ChanceSkill и триггер в ней Trig. Далее пояснение переменной:
Переменная типа Целочисленная - это простейшее число, но как и в любой переменной значение, т.е. число меняется.(поэтому и переменная), эта переменная очень важна для нас, т.к. с помощью неё мы делаем сам шанс.
Основная часть создания скилла.
Теперь, создаём такое событие и условие в триггере "Trig", который мы создали, как на скриншоте:
События:
Юнит приводит способность в действие(Боевая единица - Generic Unit Event)
Условия:
Эта способность РАВНО Волна Силы (Ability Comparison (которая самая первая Волна Силы в списке))
Далее устанавливаем переменную, как Любое число от 0 до 100(Set Variable/Установить переменную)
Без действия If/Then/Else нам не обойтись, создаём его с мульти-функциями.
Далее триггер: If/Then/Else Multiple Functions:
Если-условия:
Integer(наша переменная) меньше или равно 50 (Integer Comparison)
То-Действия:
Сделать (Кастуещего юнита) неуязвимым
Ждать 4 секунды
Сделать (Кастуещего юнита) уязвимым
Иначе-Действия:
нету
Теперь по порядку:
В условия мы ставим 50% шанса таким действием, то есть спрашиваем у компьютера - Равна ли наша переменная(Integer) 50 или меньше 50 ? Если переменная равна 50 или меньше 50, то Кастующий юнит(Герой) становится неуязвимым, далее ждём 4 секунды и снимаем неуязвимость. Ещё хочу заметить, при раскладе Integer = Любое число между 0 и 100 -> Integer меньше или равно 50, то число, которое вы укажете заместо 50 и будет шансом, то есть сейчас шанс 50%
Вот мы и закончили делать спелл, делаем "систему" восстановления маны.
Создаём некоторую "систему" обновления маны
Эту систему можно использовать в картах-демонстрациях ваших спеллов, то есть чтобы проверять/делать спеллы нужна мана, это обновит ману.
Сначала определимся с идеей.
Моя идея:
-Сделать команду включающую постоянное восстановление маны
-Сделать команду выключающую постоянное восстановление маны
-Сделать одноразовое восстановление маны командой
Теперь осуществим: Первые два пункта включают/выключают восстановление маны, логически в редакторе, они включают/выключают триггер восстановления маны, ОК - делаем:
Создаём категорию Mana Refresh.
Создаём триггер Mana Refresh Trig (иззначально выключен)
События:
Каждую 1.00 секунду (или 2 или 3 секунды, на ваше усмотрение)
Условия:
нету
Действия:
Вывести на экран сообщение всем игрокам "Mana Refreshed to 100%"
Взять каждого юнита принадлежащего Игроку 1 красному и делать:
-Установить ману(в процентах) выбранным юнитам до 100%
Теперь разберёмся, в событиях всё понятно - Делать действия каждые N секунд.Без условий.А далее - мы пишем, что Мана пополнена до 100%(Mana Refreshed to 100%), далее мы выбираем всех юнитов принадлежащих Красному игроку, командой Отряд - Pick every unit owned by Игрок 1 Красный and do Multiple Functions, потом устанавливаем ману на 100% этим юнитам, сделав команду Установить ману(в процентах) ЭТИМ(Picked unit/Выбранному отряду) юнитам.
Не забудьте убрать галочку с "Изначально включен"!!! Теперь создадим триггер, который включает "это"
Триггер Mana Refresh ON:
События:
Игрок 1 красный прописал в чате -dmr как Точное совпадение
Условия:
нету
Действия:
Включить триггер Mana Refresh Trig
Всё легко - игрок прописывает в чат -dmr (do mana refresh - делать обновление маны),триггер с обновлением маны включается. Теперь надо же как-то Выключать обновление маны, создаём триггер Mana Refresh OFF.
Триггер Mana Refresh OFF:
События:
Игрок 1 красный прописал в чат -dnmr
Условия:
нету
Действия:
Выключить триггер Mana Refresh Trig
Всё опять же легко, игрок красный прописал в чат -dnmr (do not mana refresh - не делать обновление маны), выключить триггер с обновлением маны(то есть выключить обновление маны)
Теперь я планировал сделать одноразовое пополнение, здесь тоже легко, создадим триггер One Again Mana Refresh
Триггер One Again Mana Refresh:
События:
Игрок 1 красный ввёл в чат mr
Условия:
нету
Действия:
Копируем действие из Mana Refresh Trig, а именно Pick every unit owned by Игрок 1 Красный and do Multiple Actions -> Установить ману(в процентах) выбранным юнитам до 100%
Разбираемся, игрок красный ввёл в чат mr (mana refresh - обновить ману) и мана обновилась.
Вот и всё, создадим Вождя Минотавров и можно проверить карту.
Если нужна карта-пример, можете попросить, я сюда выложу