Переменные в редакторе карт Warcraft 3
|
|
| Дата: Суббота, 28.05.2011, 16:28 | Сообщение # 1 |
Генералиссимус
Сообщений: 2873
|
Итак, DonLaonda, показывал как это делается: "http://wc3.3dn.ru/forum/68-1232-1". Я же наверно только повторюсь, но покажу так, чтобы было понятно новичку.
Для начала, расскажу про переменные. Переменные, это переменные. Немного добавлю от себя (Don'Laonda): ------------------ Суть переменных проще объяснить на коробках и гайках:
Представьте, что все юниты у нас на карте - гайки (все одинаковые). И как же нам понять какая из гаек главная ??? Всё просто - берем коробку и пишем на коробке "Главная гайка", ложим в коробку ту гайку, которую хотим сделать главной.
Теперь любой, кто подойдет к куче гаек и вдруг задумается "А какая гайка тут главная??" сразу поймет, прочитав надпись на коробке.
Переменные и есть "коробки", на которых можно написать что угодно.
Разные типы "коробок" нужны потому, что цифровые данные, так же как и физические вещества могут быть разного типа.
Ну не станете же вы воду наливать в спичечный коробок? ------------------
Они бывают многих типов: Основные (есть и в pascal например) это integer, boolean, и.т.п. Но учитывая, что это игра, тут переменных во много раз больше: "боевая единица", "спецэффект", и.т.п.
Обычно в начале, все наши юниты, возводятся в переменную, дабы легко ими управлять (и менять).
Мы занесли нашего мага в переменную Player1_unit1, типа "боевая единица".
Допустим, мы хотим сделать задание: убить 10 вражеских пехотинцев игрока 2 (синий).
Создаем новый триггер, который через 5 секунд после начала игры покажет нам задание:
Код |cffffff00TEXT|r отвечает за желтый цвет. Подробнее об этих цветах, лишь с тем отличием, что первые 2 цифры, это прозрачность, поэтому код состоит из восьми цифр, а не шести.
Далее создаем переменную Mission1_complete, типа "целочиселнная (integer)", которая будет считать количество убитых пехотицев:
Не забываем выключать триггер. Хоть тут и необязательно, но часто бывают ошибки, когда телепорт должен работать только 1 раз, но работает постоянно.
Получился вот такой триггер:
Создаем новый триггер, который будет прибавлять каждого убитого пехотинца в переменную Mission1_complete и при достижении 10 убитых, будет выводить выполнение миссии:
Событие: у игрока 2 убивают боевую единицу. Условие: тип убитой(!) боевой единицы является пехотинец. Действие: Добавить 1 в Mission1_complete. Если Mission1_complete равно 10, то вывести "миссия выполнена".
Теперь, когда мы убиваем пехотинца, в счетчик добавляется единица. При достижении 10 - миссия выполнена.
Добавим действие, который выведет, сколько нам осталось ещё убить:
Проверяем:
Готово!
Скачать полученную карту.
|
|
|
|
| Дата: Суббота, 28.05.2011, 19:06 | Сообщение # 2 |
Лейтенант
Сообщений: 78
|
Vanzer, можно узнать: в функциях есть хэш-таблицы, что это такое? И зачем они нужны?
Клара у Карла наклала в кораллы, а Карл у Клары наклал в кларнет.
|
|
|
|
| Дата: Суббота, 28.05.2011, 20:11 | Сообщение # 3 |
Генералиссимус
Сообщений: 2873
|
Что-то вроде базы данных. Можешь даже не трогать, смысла большого нет.
|
|
|
|
| Дата: Суббота, 28.05.2011, 20:43 | Сообщение # 4 |
Лейтенант
Сообщений: 78
|
Vanzer, просто видел, в триггерах на крюк мясника их применяют.
Клара у Карла наклала в кораллы, а Карл у Клары наклал в кларнет.
|
|
|
|
| Дата: Воскресенье, 29.05.2011, 04:25 | Сообщение # 5 |
Полковник
Сообщений: 152
|
А зачем нужно вводить в переменную юнитов? Кстати вводить нужно только тех которые в данный момент на карте т.е первоночально поставлены?
Сижу фигнёй страдаю.
|
|
|
|
| Дата: Воскресенье, 29.05.2011, 17:44 | Сообщение # 6 |
Генералиссимус
Сообщений: 2873
|
Мы ввели в переменную только мага и в этой карте мы это не используем. В следующей статье, это будет использоваться.
|
|
|
|
| Дата: Воскресенье, 29.05.2011, 23:55 | Сообщение # 7 |
Генералиссимус
Сообщений: 12997
|
Quote (Vanzer) Переменные, это переменные. Нифига!!! А я то думал гадал...
Quote (Vanzer) Мы занесли нашего мага в переменную Player1_unit1, типа "боевая единица". Quote (Vanzer) Мы ввели в переменную только мага и в этой карте мы это не используем. Мдэ... Прикольно =\
Quote (Cete) Vanzer, можно узнать: в функциях есть хэш-таблицы, что это такое? И зачем они нужны? Quote (Vanzer) Что-то вроде базы данных. Можешь даже не трогать, смысла большого нет. Если честно меня этот бред тоже интересовал... Кстати, ответ просто ппц =) Когда защищал курсач и мне задавали вопрос немного не по теме, я не знал что ответить, мне помог препод, он сказал, отвечать на подобные вопросы фразой "Это не было целью моего исследования" или типа того. Вот и тут так же, это вам не надо, так что не трогайте =))) А ещё вам не понадобится то-то и то-то =) Потому не лезте туда и не спрашивайте меня =))
это Ксопик!
|
|
|
|
| Дата: Понедельник, 30.05.2011, 00:27 | Сообщение # 8 |
Генералиссимус
Сообщений: 2873
|
Quote (XOPYC) Вот и тут так же, это вам не надо, так что не трогайте =))) А ещё вам не понадобится то-то и то-то =) Потому не лезте туда и не спрашивайте меня =)) Тыкайте, лазайте, делайте что хотите, но не спрашивайте меня что это)
Quote (XOPYC) Мдэ... Прикольно =\ В перспективе это будет цикл статей.
|
|
|
|
| Дата: Понедельник, 30.05.2011, 04:03 | Сообщение # 9 |
Полковник
Сообщений: 152
|
Quote (XOPYC) Quote (Vanzer) Переменные, это переменные.
Нифига!!! А я то думал гадал... ахахаах Улёт =) Quote (Vanzer) Quote (XOPYC) Мдэ... Прикольно =\ В перспективе это будет цикл статей. А когда будет следующая статья???
Сижу фигнёй страдаю.
|
|
|
|
| Дата: Понедельник, 30.05.2011, 12:28 | Сообщение # 10 |
Генералиссимус
Сообщений: 2873
|
Quote (Dragoon) А когда будет следующая статья??? как только, так сразу.
|
|
|
|