Сейчас 18:12:38 Понедельник, 30 июня, 2014 год
Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я

Меню сайта

Категории

Наш опрос
Какой тип карт вам нравится больше всего?
Проголосовало: 140571

Сейчас на сайте
На сайте всего: 44
Гостей: 42
Пользователей: 2

Реклама

Главная » Статьи по WarCraft 3 » Создание карт » Триггеры
Массивы
Теория


Массивы, если вкратце, это просто множество переменных. Когда вы создаёте переменную, вы можете поставить галку "Массив" ('Array'). Тогда, если вы выберете эту переменную, чтобы назначить её для чего-либо (например, "Переменная"="Юнит"), вы увидите, что справа от переменной появилось поле [Index]. Вместо индекса нужно ставить целое число. Это может быть как просто число "1", "2" и т.д., так и целочисленная переменная (она же integer). Массивы, в основном, нужны для циклов, но пока что мы не будем усложнять урок, и пока не затронем циклы.

Итак, массивы можно использовать как обычные переменные, если вы присвоите чему-либо массив с целым числом. Помните пример из первого урока, где нам нужно было создать десять квестов? Чтобы это сделать, нам понадобится минимум сорок действий (на один квест - создать квест, назначить переменную, создать условие квеста, назначить переменную). Не так уж много для десяти квестов. Однако, получается, нам надо создать целых 20 переменных! А чтобы их создать, надо зайти в меню переменных, нажать "Создать новую", написать название, выбрать тип! Слишком много действий, и их можно сократить.

Создаём две переменные - Quests и QuestsR. В обоих ставим галки на "Массив" ('Array'). Теперь при создании первого квеста в качестве переменных используем Quest[1] и QuestR[1], при создании второго - Quest[2] и QuestR[2] и так далее. Всё просто.

*На этом моменте вы можете попробовать выполнить первое задание из практики.

Гораздо интереснее, как мы можем использовать эти массивы дальше, кроме как в качестве обычных переменных.

Как уже говорилось выше, вместо просто числа мы можем использовать целочисленную переменную. Представим, что мы решили сделать три вида погоды на карте, которые будут сменять друг друга через минуту. Сначала создаём массив типа 'Weather Effect' ("Погодный эффект"). Затем целочисленную переменную ('Integer'), пусть это будет 'int'.
При запуске карты создаём действия:


Создать погодный эффект=Дождь
Set Weather[0]=Последний созданный погодный эффект
Создать погодный эффект=Снег
Set Weather[1]=Последний созданный погодный эффект
Создать погодный эффект=Туман
Set Weather[2]=Последний созданный погодный эффект


Теперь создаём триггер, который запускается каждую минуту, его действия:

Выключить погодный эффект Weather[int]
Если (int меньше 2) (сравнение целых чисел), то (Set int=int+1), иначе (Set int=0)
Включить погодный эффект Weather[int]


Объяснение:
Итак, у нас есть три погодных эффекта, создающиеся в начале игры: дождь (Weather[0]), снег (Weather[1]) и туман (Weather[2]). Когда мы их создаём, они не включаются сразу, за это отвечает отдельный триггер по включению и выключению погодных эффектов. Каждые пять секунд срабатывает триггер, который выключает Weather[int]. Переменная int изначально равна нулю, а затем мы её меняем следующими действиями триггера:
Когда int меньше двух, то int увеличивается на один, таким образом, Weather[int], например, из Weather[0], то есть дождя, "превращается" в Weather[1], то есть в снег. Иначе (если int уже равно двум) мы обнуляем переменную, чтобы включался эффект Weather[0]. Обновлённый эффект мы и активируем третьим действием.
Таким образом, погода меняется каждую минуту. Если мы хотим сделать десять погодных условий, тогда наше "если" должно выглядеть так - (int меньше 9).

Практика


1. С помощью массива юнитов создайте трёх пехотинцев. Через 3 секунды одновременно увеличьте первого в размере на 200%, второго на 250% и третьего на 300%.
2. Создайте два триггера: один запускается вместе с картой, другой срабатывает каждые 3 секунды, уберите у второго галку "Изначально включён" ('Initially On'). В первом триггере с помощью массива юнитов создайте трёх пехотинцев. После этого в этом же триггере создайте ещё одно действие - 'Trigger - Turn On (Второй триггер)' ("Trigger - Включить (Второй триггер)"). Задача: по очереди с промежутком в три секунды увеличить размер каждого пехотинца на 200%. При этом Wait'ы ("Ждать") использовать нельзя. Также не забудьте для оптимизации выключить этот триггер, когда все три юнита поменяют свой размер.
Просмотров: 4038 Добавил: JohnsonKey Добавлено: 10 Июнь 2011 в 15:03:06
Комментариев: 11 |

Всего комментариев: 111 2 »
26 Ноябрь 2012 Спам
11. Ал (BarsTR)
А как сделать на примере этой темы что бы у крипа увеличился уровень после респа? %)

31 Август 2012 Спам
10. мухамед-эми (vezetnik97)
статья норм для начинающих понятнее будет

15 Июнь 2012 Спам
9. Сон Владимир Полекарпович (ppp123)
:'( :'( :'( это не то что я хотел :'( :'( :'(

16 Сентябрь 2011 Спам
8. Александр (Kakolookia)
Пригодится тем кто еще только начинает изучать переменные ^_^

18 Август 2011 Спам
7. Артём (Artem3123)
Хорошая статья

05 Август 2011 Спам
6. Aibyn (onl1ne)
норм статья

29 Июль 2011 Спам
5. Евгений (Genya)
Спасибо. Понял и выполнил задания ^_^

02 Июль 2011 Спам
4. Александр (NecroNezniy)
ммммм....мб пригодиться

01 Июль 2011 Спам
3. Рябов Александр (MinatoNimikaze)
Спс за статью

25 Июнь 2011 Спам
2. Johnson Key (JohnsonKey)
Прочитай это сначала:
http://warcraft3ft.info/board/peremennye/17-1-0-1346

1-10 11-11
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа
Логин:
Пароль:

Поиск

Случайная картинка

Случайный файл
[31 Июль 2008]
[Карты · Arena]
Map tong hop v 11.0 -
Качественно выполненная Arena. Очень интересные и разнообразные модели игроков и нестандартные заклинания. Полчища нейтралов. Одновременно может играть до десяти человек, командами 5х5. Карта без поддержки AI.

Новые карты

5 лучших по кол-ву добавленных статей
[ Duosora ] [ 58 ]
[ Messenger ] [ 52 ]
[ Bru ] [ 39 ]
[ Pand@ ] [ 35 ]
[ OrcRider ] [ 27 ]

Наша кнопка
Warcraft3FT.info - Всё для Warcraft 3 и DotA

Другие варианты

Статистика

Материалы:
Новости: 1022
Файлы: 8307
Статьи: 762
Картинки: 8202
Форум: 29788/971440
Комментарии: 58224
Copyright © 2006 - 2014 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©