ГлавнаяБлогКарты Warcraft 3Гайды для первой ДотыГайды для Доты 2 [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Зарегистрированные пользователи не видят всплывающей рекламы
Страница 1 из 11
Модератор форума: XOPYC, Vanzer, Goodie 
Форум » Картостроение в Warcraft 3 » Обучение » Квесты и переменные
Квесты и переменные
Дата: Воскресенье, 19.09.2010, 11:43 | Сообщение # 1
Генералиссимус
Проверенные
Сообщений: 2174
Награды: 8
Репутация: 68
Доброго времени суток! Я до сих-пор не знаю как делать квесты (дополнительные, основные, квест выполнен, изменён, провален) и что такое переменные? Помогите, пожалуйста, разобраться в главных компонентах нестандартной карты!

Сообщение отредактировал M@dHatter - Воскресенье, 19.09.2010, 11:43
 
Дата: Воскресенье, 19.09.2010, 20:41 | Сообщение # 2
Генералиссимус
Модераторы
Сообщений: 9040
Награды: 21
Репутация: 140
На счёт переменных объясню на пальцах:
a=1
b=a+1
c=b-a+3
Вот тебе пример переменных, т.е. это буквы которым присвоены числовые значения, я понятно изъясняюсь? =)
Вместо букв могут быть и слова, а присвоенными значениями могут быть и строчки и символы и т.д. но это не суть, остановимся только на числах =)

И так, что собственно по основному вопросу, аля квест:

Подготовка =)

1. Нам понадобится Герой, НПС дающий задание, Цель задания(кого будем убивать)
2. Поставили? Отлично. Создайте область около НПС, в неё должен зайти наш герой чтобы активировать Задание(триггер), так же добавьте жертве предмет, который выпадет при смерти, естественно это должен быть нужный нам предмет по заданию.
Собственно на этом подготовка закончена. Едем дальше.

Триггерство

1. Удаляем стандарт, создаём свою категорию и триггер.
2. Начинаем с того что создаём переменную типа задание, назовём её quest
3.Редактируем наш триггер
Событие:
___Выбираем {Боевая единица - Unit enters region} Далее [A unit enters Область 000 <gen>]___//Наш герой заходит в созданную вами зону и активирует триггер.
Условие:
___Выбираем {Player Comparison} Далее [(Owner of (Triggering unit)) равно Игрок 1 (Красный)]___// Проверяем какому игроку принадлежит юнит зашедший в зону.
Действие:
___Выбираем {Задание - Create Quest} Далее [Create a Основное quest titled Название with the description Описание квеста using icon pass ReplaceableTextures\CommandButtons\BTNAmbush.blp]___//Создаём задание с нашим названием, описанием и картинкой.
___Выбираем {Set Variable} Далее [Set quest = (Last create quest)]___// Присваиваем нашей переменной quest значение нового квеста
___Выбираем {Триггер - Turn off} Далее [Turn off (this trigger)]___// Выключаем этот триггер.

2. Создам второй триггер:
Событие:
___Выбираем {Боевая единица - Unit enters region} Далее [A unit enters Область 000 <gen>]___//Наш герой заходит в созданную вами зону и активирует триггер.
Условие:
___Выбираем {And} Далее [{Unit Comprasion}-[Entering unit равно Ваш герой] and {Boolean Comprasion}-[{Герой - Hero has item of Type}-[Наш герой has an item of type наш предмет] равно Да]]___// Проверяем наш ли это герой и есть ли у героя нужный нам НПС предмет.
Действие:
___Выбираем {Игрок - Add Property} Далее [Add 1000 to Игрок 1 (Красный) Золото (Текущ.)]___// Даём нашему герою награду 1000 золота
___Выбираем {Задание - Mark Quest As Complited} Далее [Mark quest is Выполено]___// Делаем наш квест выполненным
___Выбираем {Триггер - Turn off} Далее [Turn off (this trigger)]___// Выключаем этот триггер.

Никаких оповещений мы не ставили, при входе героя в область просто в квестах появится сам квест и его можно идти выполнять. При получении предмета и опять при входе в область квест будет выполнен. Никаких красивостей мы не добавляли.

Карта прилагается

Прикрепления: 1274681.w3x(28Kb)


это Ксопик!
 
Дата: Понедельник, 20.09.2010, 10:10 | Сообщение # 3
Генералиссимус
Проверенные
Сообщений: 2174
Награды: 8
Репутация: 68
Нашлось свободное время. Спасибо, XOPYC, попытаюсь сделать какой-либо квест.
 
Дата: Пятница, 07.01.2011, 22:17 | Сообщение # 4
Генералиссимус
Заблокированные
Сообщений: 2263
Награды: 8
Репутация: 85
Хорус молодец, хороший пример, но я не могу не внести свою лепту и хотел бы дополнить совсем не много.

Quote (XOPYC)
Выбираем {Set Variable} Далее [Set quest = (Last create quest)]___// Присваиваем нашей переменной quest значение нового квеста

Не нового квеста, а последнего созданного. Может это и понятно, но если не понятно, то в более сложных картах, например в многопользовательской могут возникнуть проблемы.

Quote (XOPYC)
a=1 b=a+1 c=b-a+3 Вот тебе пример переменных, т.е. это буквы которым присвоены числовые значения, я понятно изъясняюсь? =) Вместо букв могут быть и слова, а присвоенными значениями могут быть и строчки и символы и т.д. но это не суть, остановимся только на числах =)

Переменные своего рода контейнеры, коробочки. мы используем лишь название, а внутри может лежать всё, что угодно.
Правдо в коробку для цыфр мы не запихаем кучу букв.

Переменные должны быть написаны латинскими буквами и не могут начинаться с цыфры, так же нельзя использовать пробел, вместо него "_".

Но и без моих слов, пример Хоруса хорошь.

[cut=Только одно замечание в оформлении:]Событи, действие и условие надо бы выделить хотя бы жирным.[/cut]

 
Дата: Пятница, 07.01.2011, 22:32 | Сообщение # 5
Генералиссимус
Модераторы
Сообщений: 9040
Награды: 21
Репутация: 140
Quote (DonLaonda)
Событи, действие и условие надо бы выделить хотя бы жирным.

Было выделено... странно что тут не так О.о


это Ксопик!
 
Форум » Картостроение в Warcraft 3 » Обучение » Квесты и переменные
Страница 1 из 11
Поиск: