Добавлен Sergant1000,
опубликован
База примеров на GUI
Содержание:
Самый часто задаваемый вопрос: А как сделать выбор героя через...? и многим хочется сказать что через Упож.
Основа основ это создать юнита которым будем выбирать героев, по одному на игрока, скажем "светлячок", Героев которыми будем играть "Герой1" "Герой2" "Герой3", область в которой будут появляться Герои "область4". И так начнем
Основа основ это создать юнита которым будем выбирать героев, по одному на игрока, скажем "светлячок", Героев которыми будем играть "Герой1" "Герой2" "Герой3", область в которой будут появляться Герои "область4". И так начнем
В статье описаны следующие примеры:
- Выбор Героя через Круг\точку\подход к герою.
- Выбор Героя через Таверну.
- Выбор Героя через Диалоговое Окно.
- Выбор героя через нажатие по нему
- Выбор героя через нажатие клавиш
Основные используемые объекты в примерах:
"светлячок1" "светлячок2" "светлячок3" - юнит которым обычно выбирают героев.
"Герой1" "Герой2" "Герой3" - Герои которых обычно выбирают.
"область4" - Область в которой эти самые обычные герои обычно появляются.
"светлячок1" "светлячок2" "светлячок3" - юнит которым обычно выбирают героев.
"Герой1" "Герой2" "Герой3" - Герои которых обычно выбирают.
"область4" - Область в которой эти самые обычные герои обычно появляются.
Пример №1: Выбор Героя через Круг\точку\подход к герою.
Дополнительно используемые объекты:
"область1" "область2" "область3" - Области при заходе в которые появляются Обычные Герои
"область1" "область2" "область3" - Области при заходе в которые появляются Обычные Герои
В своей основе этот пример правильно называть "Выбор героя через область", а через круг, точку и т.д. это всего лишь декорация т.к. реально юнит выбирает героя при входе в область. Следовательно сначала поставим Героев на карту, сделаем "области" перед каждым из героев и юнита ,в середине этого безобразия, которым будем выбирать.
Следующим делаем Триггер:
Следующим делаем Триггер:
Для первого героя:
Для второго героя:
и так далее.
Как видно из данного примера на каждого созданного героя нужно делать дополнительную область и триггер. По этому это самый громоздкий и неудобный начальный пример выбора героев.
Пример №2: Выбор Героя через Таверну.
Дополнительно используемые объекты:
"Таверна" - Здание в котором выбирают Обычных Героев
"Таверна" - Здание в котором выбирают Обычных Героев
Следующий распространенный вопрос я думаю стал распространённым после Доты. И тут несколько вариантов.
Вариант А. Через покупку Предмета
Дополнительно используемые объекты:
"Предмет1" "Предмет2" "Предмет3" - предметы при покупки которых появляются Обычные Герои
"Предмет1" "Предмет2" "Предмет3" - предметы при покупки которых появляются Обычные Герои
Создаем Таверну в которой будем покупать предметы для выбора игрока. Создаем юнита даем способность инвентарь(Носильщик) и ставим по одному на каждого игрока, рядом с Таверной. Создаем Предметы "Предмет1" "Предмет2" "Предмет3" и ставим на продажу в таверне. Создаем героев "Герой1" "Герой2" "Герой3". Ставим "область4"
Пишем Триггеры:
Пишем Триггеры:
Вот так пишется нормальный триггер, 1 триггер в который при добавлении нового героя только добавляется функция If\Then\Else содержащая в условии предмет при покупке которого появляется герой и действие появления этого героя. Самое важное в триггере это условие "-Or - Any (Conditions) are true:" с указанием всех юнитов которыми выбирают(покупают) игроки, так как без него любой купленный предмет героем убирал бы любого героя из игры.
Вариант Б. Через обычную покупку героев.
Дополнительно используемые объекты:
"область5" - область создающаяся на 1-2 квадрата больше чем Таверна
"область5" - область создающаяся на 1-2 квадрата больше чем Таверна
Способ наименьших затрат так сказать Золотой. Потребуется только создать Таверну, поставить рядом с ней юнитов которые будут в зоне покупки таверны, делаем Героев и помещаем их в продажу в таверне, и области. Главная часть это "область5" делаем ее чуть больше чем таверна и помещаем ее под нее, и пишем Триггер:
Как видно мы покупаем героев из таверны но при покупке они не появляются рядом с таверной как обычно, а появляются в "область4". Дело в том что когда мы поместили "область5" под таверну, купленные герои по-прежнему появляются рядом с таверной, но уже в зоне "область5" и при помощи триггера моментально телепортируются в "область4". Как видно из примера нужно создать минимально пальце-мыше-движений.
Пример №3: Выбор Героя через Диалоговое Окно.
Дополнительно используемые объекты:
"переменная Диалог" - Переменная которая будет содержать основное окно диалога
"переменная Кнопка(массив)" - Переменная в которую мы будем записывать героев
"переменная Диалог" - Переменная которая будет содержать основное окно диалога
"переменная Кнопка(массив)" - Переменная в которую мы будем записывать героев
Этот пример предназначен для того чтобы не занимать место на карте. Нам для этого примера всего лишь потребуется создать Героев, переменные и триггеры:
Триггер при котором мы создаем Диалоговое окно и кнопки:
Теперь создаем триггер который будет управлять появлением героев при нажатии
В этой конструкции если создавать нового героя то во второй триггер добавляется If\Then\Else с условием нажатия кнопки и создания нового героя.
Пример №4: Выбор героя через нажатие по нему.
*Дополнительно используемые объекты:**
"Игрок 1" "игрок 2" "игрок 3" - игроки то есть я\ты\мы\вы\они и т.д.
"Игрок 1" "игрок 2" "игрок 3" - игроки то есть я\ты\мы\вы\они и т.д.
Интересный вариант по сравнению с остальными самый молодой. и тут не обошлось без вариантов. Нам для этого примера всего лишь потребуется создать Героев, выставить их на карте и:
Вариант А. Выбор героя при единичном выборе
То есть мы видим полянку с героями и при нажатии на любом герое он тут же появляется в нашем распоряжении:
Это самый простой вариант на один клик.
Вариант Б. Выбор героя при двойном клике
Дополнительно используемые объекты:
"Переменная Логическая(Массив)" - сюда будет записываться ваш выбор
"переменная Боевая единица(массив)"- а тут будет записан юнит который вы выбрали
"Переменная Логическая(Массив)" - сюда будет записываться ваш выбор
"переменная Боевая единица(массив)"- а тут будет записан юнит который вы выбрали
Самый оптимальный вариант для выбора героя через клик, есть вариант посмотреть что за герой, вывести информацию о нем, проигрывание какой-нибудь анимации и т.п.
Пример №5: Выбор Героя через нажатие на кнопки.
Дополнительно используемые объекты:
"Choce" -Переменная Целочисленная(массив) будет хранить данные выбора. Номер массива это номер игрока.
"камера1" "камера2" "камера3" - камеры показывающие Героев при выборе
"Choce" -Переменная Целочисленная(массив) будет хранить данные выбора. Номер массива это номер игрока.
"камера1" "камера2" "камера3" - камеры показывающие Героев при выборе
Очень экстравагантный выбор героя, не будем голословными и опишем этот пример.
Нам потребуется создать героев, область, камеры, переменную и поставить ей значение 1. Ставим Героя, вокруг него наводим марафет, ставим камеру и направляем на героя. Теперь повторите тоже самое с каждым героем. Вот теперь подошли к триггерам делаем два триггера на нажатие клавиш, в данном случае стрелок:
Нам потребуется создать героев, область, камеры, переменную и поставить ей значение 1. Ставим Героя, вокруг него наводим марафет, ставим камеру и направляем на героя. Теперь повторите тоже самое с каждым героем. Вот теперь подошли к триггерам делаем два триггера на нажатие клавиш, в данном случае стрелок:
Для Стрелки вправо:
Для Стрелки влево:
Ну и заключительный триггер это выбор стрелкой вверх:
Космети.
Так же не забываем что сделать выбор героя это не конец данного этапа, ведь его надо как то украсить. Поэтому в конце триггеров на появления героев Добавим для удобства перемещение камеру на героя:
-Камера - Pan camera for (Owner of (Triggering unit) to (Center of "область4") over 0.00 seconds
-Камера - Pan camera for (Owner of (Triggering unit) to (Center of "область4") over 0.00 seconds
Теперь не хватает какого-нибудь спец эффекта, и тут все поправимо:
-Спецэффект - Create a special effect attach to the original\head\chest of (Triggering unit) using Abilities\Spells\Human\ReviveHuman\ReviveHuman.mdl
-Спецэффект - Create a special effect attach to the original\head\chest of (Triggering unit) using Abilities\Spells\Human\ReviveHuman\ReviveHuman.mdl
Ну и последний штрих сделаем чтобы появившийся герой был выбран сразу для этого вписываем:
-Выбор - Select (Last created unit).
-Выбор - Select (Last created unit).
Хинты.
Если при выборе героя или когда комп выбирает себе героя у вас на некоторое время зависает игра, то сделайте следующее:
Вариант А.
Поставьте где-нибудь на карте в недоступном для игроков месте всех героев.
Вариант Б.
Сделайте триггер который по истечении определенного времени после создания карты создаст всех героев и убьет их.
и никаких тормозов))
Содержание
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован SomeFire
а именно условия и переменные