ГлавнаяБлогКарты Warcraft 3Гайды для первой ДотыГайды для Доты 2 [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Зарегистрированные пользователи не видят всплывающей рекламы
Страница 3 из 6«123456»
Модератор форума: Goodie 
Форум » Картостроение в Warcraft 3 » Статьи » Как сделать свою TD карту (Для начинающих...)
Как сделать свою TD карту
Дата: Среда, 09.05.2012, 14:06 | Сообщение # 21
Генералиссимус
Модераторы
Сообщений: 9038
Награды: 21
Репутация: 140
Ну тут уже на твоё усмотрение... глянь темы где на вопросы отвечали, я вроде где то триггеры писал и там цветом выделял, может поможет)

это Ксопик!
 
Дата: Среда, 09.05.2012, 14:45 | Сообщение # 22
Генералиссимус
Модераторы
Сообщений: 2264
Награды: 9
Репутация: 70
Quote (DewidWill)
^GREAT^MAN^, учись у XOPYC-а.

Он свое мнение выразил, я свое ок?)
Я больше ничего не говорю про статью. Меня туда не включайте


Тот кто владеет информацией, тот владеет миром.
 
Дата: Среда, 09.05.2012, 14:51 | Сообщение # 23
Генералиссимус
Ньюсмейкер
Сообщений: 3631
Награды: 12
Репутация: 57
Да че ж вы на ровном месте критикуете друг друга :(
 
Дата: Среда, 09.05.2012, 20:22 | Сообщение # 24
Генералиссимус
Ньюсмейкер
Сообщений: 3631
Награды: 12
Репутация: 57
Прошу ответственных за этот раздел перенести следующий текст в топик этой темы (после последнего предложения) .


После того как вы это выполнили, мы должны приступить к созданию триггера, при котором крипы достигшие этой области исчезали, а шансов оставалось меньше, смотря сколько монстров прошло. Поэтому создаем триггер с названием END. Создаем событие:
Боевая единица - Unit enters region - с текстом: A unit enters END <gen>
где END - это наша конечная область движения крипов.
Потом условие, означающее, что этот юнит - это компьютер (т.е. крип). Получается:
Player comparison - (Owner of (Entering unit)) равно Игрок 12 коричневый
Ну и создаем действия:
Боевая единица - remove - Remove (entering unit) from the game
//Настраиваем переменную Set Variable - Set chances =(Chances - 1).
//Показываем это в таблице рекордов Таблица рекордов - change Unit Value - Change the value for Игрок 12 (коричневый) in Leaderboard (переменная) to chances (тоже наша переменная, не забывайте).
//Ну и надо показать это игроку, но я не буду расписывать как это сделать, вряд ли вы поймете, что я напишу, со своей то манерой объяснения :) . Посмотрите как это делать у меня на тест карте снизу.

Ну и надо сделать так, чтобы если шансов было 0 или меньше, то игрок проиграл, а если шансы не дошли до ноля, то сделать так, чтобы игрок выиграл, но этот триггер будет запускать другой триггер. О нем пойдет речь дальше. Я также не буду расписывать, как это сделать, так как он многоярусный и вы можете не сориентироваться. Просто кину триггер, а с моей мапы можете скопировать или посмотреть как это делается. Вот:
Триггер проигрыша:

Триггер выигрыша :D


С основыми настройками мы разобрались, теперь нам осталось настроить всего 2 функции в игре - это пути и волны. Итак, начнем с путей. Разберем на примере игрока зеленого. Поэтому создаем общую категорию - назвав pathing. И создаем следующий триггер с названием path (номер вашего пути с областью (т.е. номер игрока, например 4)) 4 Green Spawn. И в нем следующие триггеры:
Событие:
Боевая единица - A unit enters region - A unit enters 4 Green Spawn <gen>
//Где 4 Green Spawn - это ваша область, где появляются крипы для четвертого зеленого игрока.
Условие:
Player comparison - (Owner of (entering unit)) равно Игрок 12 (коричневый)
//Т.е. мы уточняем, что игрок вошедший в эту область - это крип.
Действия:
Боевая единица - Issue Order Targeting A Point - Order (enering unit) to Двигаться (Center of 4a <gen>)
//Т.е. входящий игрок двигается к области 4а (следующий поворот).
Все то же самое проделываем с другими игроками, не забывая доделать все пути для каждого игрока (т.е. продолжаем для, к примеру, зеленого игрока:
Код

Событие:
Боевая единица - A unit eners 4a <gen>   
Условие:
(Owner of (entering unit) равно Игрок 12 (коричневый))
Действие:
Боевая единица - Order (entering unit) to Двигаться (Center of 4b <gen>)

С общими путями проделываем то же самое.
Надеюсь суть того, как это делается вы поняли.

И вот последняя часть. Волны.
Создаем в начале переменную назвав ее Counter и задав функцию - Таймер.
Как сделали переменную, создайте новую категорию Waves и новый триггер Waves 1.
В нем создаем:
Код

Событие:
Время - Timer expires - Counter expires
//т.е. заканчивается отсчет

Пропускаем условия. СОздаем действия (буду писать только готовые функции):
Код
Обратный остчет - Destroy timerwindow (помните переменную?)
Set LVL = (LVL + 1)
//Set variable, т.е. это в настройках переменных
Таблица рекордов - Change value for Игрок 10 (светло-синий) in Leaderboard to LVL
//для 10, т.к. он у нас идет под этой строчкой. Leaderboard и LVL - это наши переменные.
Игра - Display to (All players) the text: Волна 1 из 60
//Т.е. мы уведомляем всех игроков, что пошла первая волна.
If (Игрок 7 (зеленый) slot status) равно Играет then do (Боевая единица - Create 20 Пехотинец1 for Игрок 12 (коричневый) at (Center of 4 Green Spawn <gen>) facing (Стандартная ориентация зданий degrees) else (do nothing)
//Т.е. взяли, к примеру, игрока 7 (зеленого). Создали функцию If/then/else. Выставили значения и получили следующее: Если (Игрок 7 (зеленый) играет, то Создать 20 Пехотинец1 для нашего компьютера в Середине области (Центр 4 Респавна крипов) и смотреть в стандартную ориентацию. Проделываем так для всех игроков.
Триггер - Turn of Wavstart2 <gen>
//О нем пойдет речь ниже.
Триггер - Turn of this trigger
//Этот триггер нам больше не нужен будет

Теперь создаем триггер Wavstart2. Он будет означать то, что если никого не останется в живых после 1 волны, то запустить 2 волну:
Код

События:
Время - Every 2 seconds of game time
//Т.е. проверять каждые 2 секунды игрового времени
Условие:
(Number of units in (Units in (Playable map area) owned by Игрок 12 (коричневый))) меньше или равно 0
//Кол-во игроков в подконтрольной зоне компьютера меньше или равно нолю
Действия:
Триггер - Run Waves2 <gen> (ignoring conditions)
//Запустить вторую волну
Триггер - Turn off this trigger
//Отключим этот триггер
Группа игроков - Pick every player in (All players) and do (Игрок - add 10 to (Picked player) Золото (текущ.))
//Т.е. мы даем каждому игроку определенное кол-во денег после каждой волны

Так делаем во всех волнах, только событие Counter expires больше не нужно. Удачи! И не забудьте в игровых константах время разложения всего до ноля, чтобы не лагало. Для этого заходим в Дополнительно - Игровые константы, ставим галочку над "использовать нестандартные игровые константы" - находим пункты времени разложения зданий/героев/крипов и.т.п. и ставим по нолям.
Моя карта лежит по данной ссылке. Если ссылка нерабочая сообщайте в комментариях к данной новости. [off]P.S. переделал карту Green TD, так как заново свою было лень делать [/off]
:)
Прикрепления: 2633878.jpg(69Kb) · 5962078.jpg(44Kb)


Сообщение отредактировал diestator - Среда, 09.05.2012, 22:04
 
Дата: Среда, 09.05.2012, 21:13 | Сообщение # 25
Генералиссимус
Модераторы
Сообщений: 2264
Награды: 9
Репутация: 70
diestator, Ай яй яй копипастер)))

Тот кто владеет информацией, тот владеет миром.
 
Дата: Среда, 09.05.2012, 22:05 | Сообщение # 26
Генералиссимус
Ньюсмейкер
Сообщений: 3631
Награды: 12
Репутация: 57
Quote (^GREAT^MAN^)
diestator, Ай яй яй копипастер)))

Ты про что? Про карту? Да мне реально лень было делать полностью. Я взял пример green td и немного изменил. Я в оффтопе написал. А если про текст обижаешь, дай мне ссыль где есть такой текст. Просто я писал это 1.5 часа если не больше, и столько же 1 часть. А ты говоришь что я скопипастил откуда-то

Добавлено (09.05.2012, 22:03)
---------------------------------------------
P.S. щас полазил в интернете по поводу текста, но ничего похожего не нашел

Добавлено (09.05.2012, 22:05)
---------------------------------------------
и да, я еще забыл дописать, чтобы на последней волне в wavstart? должна стоять функция включения триггера Win. Тоже прошу добавить в текст

 
Дата: Среда, 09.05.2012, 22:10 | Сообщение # 27
Генералиссимус
Модераторы
Сообщений: 2264
Награды: 9
Репутация: 70
diestator, ПРо карту)) лан не кипятись...
Наверное места не хватит для добавления, лучше скажи модерам пусть сделают твой текст первым


Тот кто владеет информацией, тот владеет миром.

Сообщение отредактировал ^GREAT^MAN^ - Четверг, 10.05.2012, 10:41
 
Дата: Среда, 09.05.2012, 22:10 | Сообщение # 28
Генералиссимус
Модераторы
Сообщений: 2264
Награды: 9
Репутация: 70


Тот кто владеет информацией, тот владеет миром.

Сообщение отредактировал ^GREAT^MAN^ - Четверг, 10.05.2012, 10:42
 
Дата: Четверг, 10.05.2012, 09:05 | Сообщение # 29
Генералиссимус
Ньюсмейкер
Сообщений: 4866
Награды: 13
Репутация: 72
Quote (diestator)
Прошу ответственных за этот раздел перенести следующий текст в топик этой темы (после последнего предложения) .

Тут нет ответственных. Придётся тебе админу или никзе докучать.

Quote (^GREAT^MAN^)
diestator, ПРо карту)) лан не кипятись...
Quote (^GREAT^MAN^)
Наверное места не хватит для добавления, лучше скажи модерам пусть сделают твой текст первым
даблпостинг


Мой ВК: http://vk.com/willmas
Ютьюб канал: https://youtube.com/777will7777
 
Дата: Четверг, 10.05.2012, 13:31 | Сообщение # 30
Генералиссимус
Ньюсмейкер
Сообщений: 3631
Награды: 12
Репутация: 57
Quote (DewidWill)
Тут нет ответственных. Придётся тебе админу или никзе докучать.

Странно
 
Форум » Картостроение в Warcraft 3 » Статьи » Как сделать свою TD карту (Для начинающих...)
Страница 3 из 6«123456»
Поиск: