Як зробити вибір героя через статті - warcraft 3

Самий часто задається питання: А як зробити вибір героя через. і багатьом хочеться сказати що через Упож.
Основа основ це створити юніта яким будемо вибирати героїв, по одному на гравця, скажімо "світлячок", Героїв якими гратимемо "Герой1" "Герой2" "Герой3", область в якій будуть з'являтися Герої "область4". Тож почнемо

У статті описані наступні приклади:
  1. Вибір Героя через Круг \ точку \ підхід до героя.
  2. Вибір Героя через таверну.
  3. Вибір Героя через Діалогове Вікно.
  4. Вибір героя через натискання по ньому
  5. Вибір героя через натискання клавіш

Основні використовувані об'єкти в прикладах:
"Светлячок1" "светлячок2" "светлячок3" - юніт яким зазвичай вибирають героїв.
"Герой1" "Герой2" "Герой3" - Герої яких зазвичай вибирають.
"Область4" - Область в якій ці самі звичайні герої зазвичай з'являються.

Додатково використовуються об'єкти:
"Область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" робимо її трохи більше ніж таверна і поміщаємо її під неї, і пишемо Тригер:

Як видно ми купуємо героїв з таверни але при покупці вони не з'являються поруч з таверна як зазвичай, а з'являються в "область4". Справа в тому що коли ми помістили "область5" під таверну, куплені герої як і раніше з'являються поруч з таверна, але вже в зоні "область5" і за допомогою тригера моментально переміщуються в "область4". Як видно з прикладу потрібно створити мінімально пальці-мише-рухів.

Додатково використовуються об'єкти:
"Змінна Діалог" - Змінна яка буде містити основне вікно діалогу
"Змінна Кнопка (масив)" - Змінна в яку ми будемо записувати героїв

Цей приклад призначений для того щоб не займати місце на карті. Нам для цього прикладу всього лише потрібно створити Героїв, змінні і тригери:

Тригер при якому ми створюємо Діалогове вікно і кнопки:

Тепер створюємо тригер який буде управляти появою героїв при натисканні

У цій конструкції якщо створювати нового героя то в другій тригер додається If \ Then \ Else з умовою натискання кнопки і створення нового героя.

* Додатково використовуються об'єкти: **
"Гравець 1" "гравець 2" "гравець 3" - гравці тобто я \ ти \ ми \ ви \ вони і т.д.

Цікавий варіант в порівнянні з іншими наймолодший. і тут не обійшлося без варіантів. Нам для цього прикладу всього лише потрібно створити Героїв, виставити їх на карті і:

Варіант А. Вибір героя при одиничному виборі

Тобто ми бачимо галявину з героями і при натисканні на будь-якому герої він тут же з'являється в нашому розпорядженні:

Це найпростіший варіант на один клік.

Варіант Б. Вибір героя при подвійному натисканні

Додатково використовуються об'єкти:
"Мінлива Логічна (Масив)" - сюди буде записуватися ваш вибір
"Змінна Бойова одиниця (масив)" - а тут буде записаний юніт який ви вибрали

Найоптимальніший варіант для вибору героя через клік, є варіант подивитися що за герой, вивести інформацію про нього, програвання який-небудь анімації і т.п.

Додатково використовуються об'єкти:
"Choce" -змінного Цілочисельна (масив) буде зберігати дані вибору. Номер масиву це номер гравця.
"Камера1" "камера2" "камера3" - камери показують Героїв при виборі

Дуже екстравагантний вибір героя, що не будемо голослівними і опишемо цей приклад.
Нам буде потрібно створити героїв, область, камери, змінну і поставити їй значення 1. Ставимо Героя, навколо нього наводимо марафет, ставимо камеру і направляємо на героя. Тепер повторіть те ж саме з кожним героєм. Ось тепер підійшли до триггерам робимо два тригера на натискання клавіш, в даному випадку стрілок:

Для Стрілки вправо:

Для Стрілки вліво:

Ну і заключний тригер це вибір стрілкою вгору:

Схожі статті