Сейчас 16:26:54 Пятница, 22 ноября, 2024 год
Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я

Меню сайта

Категории

Наш опрос
Ваша любимая раса?
Проголосовало: 177949

Сейчас на сайте
На сайте всего: 229
Гостей: 229
Пользователей: 0

Реклама

Главная » Статьи по 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'ы ("Ждать") использовать нельзя. Также не забудьте для оптимизации выключить этот триггер, когда все три юнита поменяют свой размер.
Просмотров: 5266 Добавил: JohnsonKey Добавлено: 10 Июня 2011 в 15:03:06
Комментариев: 11 |

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

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

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

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

18 Августа 2011
7. Артём (Artem3123) [Материал]
Хорошая статья

05 Августа 2011
норм статья

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
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа

Поиск

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

Случайный файл
[16 Июля 2008]
[Карты · Кампании]
Campaign of Zin’Ashari (Suromar) -
The Conquest of Suromar

  • Автор: Mephisto
  • Жанр: Кампания
  • Количество глав: 4
  • Язык: Английский

    Небольшая кампания о нагах.

    На протяжении тысячелетий наги жили в затопленных руинах старой столицы ночных эльфов Зин-Азшари.
    Предводительница нагов Вайши узнает от провидицы сирены о таинственном заключенном, что заточен глубоко в темницах ночных эльфов. Желая разузнать о нем больше, наги отправляются в путь. Их путь лежит через поселения людей и неизвестных зеленокожих.


  • Новые карты
    [07 Февраля 2016]
    Переезжаем на другой сайт, господа![Dota]
    [18 Октября 2015]
    Duel of Gods PreV[Другое]
    [18 Октября 2015]
    Hero of The Empire v1.18g[RPG]
    [17 Октября 2015]
    Servant War v1.05[Другое]
    [17 Октября 2015]
    Age of Vikings Edited v1.6[Другое]
    [17 Октября 2015]
    Strife of the Champions Beta v1.2[Arena]
    [17 Октября 2015]
    VirusBoll (rus)[Другое]
    [17 Октября 2015]
    Exterminators v1[AoS]
    [17 Октября 2015]
    The Lord Heroes v1.2[Другое]
    [17 Октября 2015]
    Versus heroe Arena 1.0 AI[Arena]

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

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

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

    Статистика

    Материалы:
    Новости: 1010
    Файлы: 8668
    Статьи: 680
    Картинки: 8256
    Форум: 30520/954989
    Комментарии: 58094
    Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
    Хостинг от uCoz