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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
[СТАТЬЯ] Способ легкого создания уровеней для карт типа ТД
KartohaДата: Пятница, 04 Декабря 2009, 23:21:43 | Сообщение # 1
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Cодержание:
1.Краткое описание.
2.Загатовка переменных.
3.Триггеры.
4.Еще пара слов.

Часто делая что-нибудь вроде ТД люди создают множество действий, типо:
Действия:
"игра - сообщение уровень 1 - вурдалак"
"Create N вурдалак в области"

"игра - сообщение уровень 2 - зомби"
Create N зомби в области"
- и так на каждый уровень создают множество лишних действий.
В таких картах обычно очень много триггеров, или в одном триггере все волны - друзья!Этоже капец!(для примера таких карт можете открыть любую GreenTD)
Все можно сделать гораздо проще, сейчас я пошагово изложу алгоритм, а вы попробуйте его выполнить.
На вид всего много, но если попробовать то все намного проще!
Откройте в Редактор Триггеров.
(рассчитываю, что все в РО у вас готово)

<Заготовка переменных>

1.Откройте "переменные" (сtrl+b)
2.Создайте переменную Creep_UnitTypeAтипа "тип объекта" массив, размер укажите на примерное кол-во ваших волн.
3.Cоздайте переменную level типа "целочисленная" с начальным значением 0.
4.Создайте переменную EnemySpawnTimerтипа "таймер"
5.Создайте переменную MonstersInt типа "целочисленная" c начальным значением 0.
6.Cоздайте переменную LevelInfo типа "строка" массив, размер укажите на примерное кол-во ваших волн.
7.<Первый Триггер>
Cобытия:
Map Initialization
Условия:
Нет
Действия:
(здесь мы задаем начальные значения переменным, по объему не мало, зато думать ненадо!)(коментарии чтобы непутаться)
Comment---BasicMobInit---
Set Variable:
Set Creep_UnitTypeA[1] = Вурдалак (это первая волна, потом вторая, ну понятно вообщем)
Set Creep_UnitTypeA[2] = Зомби
Set Creep_UnitTypeA[3] = Пауки
Set Creep_UnitTypeA[4]= Банши
Set Creep_UnitTypeA[5] = Некроманты
Comment---MonsterInt---
set MonstersInt(20 - это количество крипов на волну).
Сomment---LevelInfo---
set LevelInfo[1] = "Волна 1 [Вурдалак]"
set LevelInfo[2] = "Волна 2 [Зомби]"
set LevelInfo[3] = "Волна 3 [Пауки]"
set LevelInfo[4] = "Волна 4 [Банши]"
set LevelInfo[5] = "Волна 5 [Некроманты]"

<первый триггер закончен, теперь триггер появление крипов>

8.<второй триггер>
События:
Таймер EnemySpawnTimer истекает
Условия:
Нет
Действия:
Set level = level + 1
Боевая Единица: Create MonstersInt Creep_UnitTypeA[level] в такой-то области.
Игра: Display to All Players for 5 seconds the text:<LevelInfo[level]>

<этот триггер собственно все>

9.<Теперь триггер на запуск таймера>События:
Потребление пищи у игрока (монстры) = 0
Условия:
нет
Действия:
Запустить EnemySpawnTimer
Сделать окно таймера, например "Атака + level"

Самый первый раз, мы запускаем таймер из любого триггера, например с событием "Map Inittializtion"
Здесь основные действия, а вы добавляйте в триггеры все что надо, я же изложил принцип.
Ну и понятное дело, вместо вурдалаков и зомби ставте своих монстров!

 

Pa3apTДата: Пятница, 04 Декабря 2009, 23:50:41 | Сообщение # 2
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
И чё? Ты в курсе что они будут стоять на своих областях?
 

H_A_PKДата: Суббота, 05 Декабря 2009, 00:27:35 | Сообщение # 3
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Kartoha, напиши пример тиригера чтобы мобы пёрли в указаною точку
Каждые 0.01
Действие
Отряд - приказать юнитам в облости 001 двигаться в центр игровой карты
Отряд - приказать юнитам в облости 002 двигаться в центр игровой карты
Отряд - приказать юнитам в облости 003 двигаться в центр игровой карты
Отряд - приказать юнитам в облости 004 двигаться в центр игровой карты


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

GonachДата: Суббота, 05 Декабря 2009, 13:52:25 | Сообщение # 4
5 уровень
Группа: Проверенные
Сообщений: 113
Награды: 0
Репутация: 21
Блокировки:
У меня они все разом появляются(((
 

KartohaДата: Суббота, 05 Декабря 2009, 16:03:59 | Сообщение # 5
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Pa3apT, ты непонял о чем статья.
Я описал, как в трех триггерах сделать хоть 50, хоть 100 волн.Я объяснил как упростить появление крипов.
А вот чтобы они бежали, атакавали и т.п. - это тут непричем. Это не статья "как сделать ТД" это "как упростить появление монстров, и описание уровеней". А то вон в грин ТД например вообще триггеров 50, на все волны.
H_A_PK, это движение крипов, а статья про появление.
Gonach, ну а ты как хотел? Если тебе надо чтобы по одному появлялись, скажи я объясню или дам пример.
 

m1x-panicДата: Суббота, 19 Декабря 2009, 11:27:38 | Сообщение # 6
3 уровень
Группа: Пользователи
Сообщений: 46
Награды: 0
Репутация: 2
Блокировки:
А можно на русском тригеры о_О
 

Pa3apTДата: Суббота, 19 Декабря 2009, 13:20:04 | Сообщение # 7
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
Kartoha, угу, тока эти 3 триггера в 3 запихиваются -.-
 

GonachДата: Понедельник, 28 Декабря 2009, 15:56:06 | Сообщение # 8
5 уровень
Группа: Проверенные
Сообщений: 113
Награды: 0
Репутация: 21
Блокировки:
Quote (Kartoha)
Я описал, как в трех триггерах сделать хоть 50, хоть 100 волн.Я объяснил как упростить появление крипов.

У меня все волны РАЗОМ ПОЯВЛЯЮТСЯ!!!!
 

KartohaДата: Четверг, 21 Января 2010, 22:20:50 | Сообщение # 9
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Quote (Gonach)
У меня все волны РАЗОМ ПОЯВЛЯЮТСЯ!!!!

Ты что-то не так сделал, у меня в карте подобный способ работает на 100%.
 

Small-botДата: Понедельник, 25 Января 2010, 10:26:05 | Сообщение # 10
5 уровень
Группа: Заблокированные
Сообщений: 124
Награды: 0
Репутация: 30
Блокировки:
Спасибо, отличная наработка!

<b>Alice</b>, из за тебя пропадает смысл в паролях, а так же постоянно будет требоваться пинать админа...(Enforcer)
 

KlayNДата: Суббота, 06 Февраля 2010, 13:14:56 | Сообщение # 11
3 уровень
Группа: Пользователи
Сообщений: 42
Награды: 0
Репутация: 14
Блокировки:
че за переменые? У мя они неоткрываются плиз люди помогите! :'(

Знайте мы все друзья а дружба это сила!!!
 

KartohaДата: Суббота, 06 Февраля 2010, 18:19:30 | Сообщение # 12
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Редактор триггеров --> Ctrl+b
Вопросы задавай в разделе "Вопросы по картостроению".
 

NightikДата: Суббота, 06 Февраля 2010, 18:40:07 | Сообщение # 13
7 уровень
Группа: Проверенные
Сообщений: 259
Награды: 0
Репутация: 9
Блокировки:
Kartoha, А ты поставь ждеть 3 секунды

Даш минус получишь обратно :(
Даш плюс получишь обратно :)
 

KartohaДата: Суббота, 06 Февраля 2010, 19:10:23 | Сообщение # 14
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Куда поставить?
 

StrikSДата: Среда, 24 Февраля 2010, 17:31:39 | Сообщение # 15
3 уровень
Группа: Заблокированные
Сообщений: 74
Награды: 0
Репутация: 10
Блокировки:
Картох, отличная наработка, думаю подойдет. Чтобы не было непоняток выложи еще и мапу с ней. Многие вопросы сразу отпадут! =)

Добавлено (24-02-2010, 17:31)
---------------------------------------------
Руководство тож понятное все получилось, но карта пригодилась бы юзерам.

 

evgenij95Дата: Четверг, 08 Апреля 2010, 19:33:44 | Сообщение # 16
7 уровень
Группа: Проверенные
Сообщений: 322
Награды: 0
Репутация: 28
Блокировки:
Kartoha,

ммм опиши плиз последний тригер полностью а то чё то пытался сделать а всё равно даже крипы не появляются! :(

Добавлено (07-04-2010, 23:30)
---------------------------------------------
может мапу посмотришь мою что я там не так написал? вот мапа http://narod.ru/disk/19494666000/arena.w3x.html (прикрепить не могу так что выложил на яндекс!) прошу проверить и сказать что не так!!! всё находиться в категории waves

Добавлено (08-04-2010, 19:33)
---------------------------------------------
алё!

 

AleckeiДата: Суббота, 25 Декабря 2010, 00:46:25 | Сообщение # 17
2 уровень
Группа: Пользователи
Сообщений: 21
Награды: 0
Репутация: 6
Блокировки:
Quote (evgenij95)
алё!

терпение, терпение


†Aleckei†IIIkeT_39RUS†
 

GerlemДата: Суббота, 25 Декабря 2010, 13:43:11 | Сообщение # 18
3 уровень
Группа: Проверенные
Сообщений: 50
Награды: 0
Репутация: 12
Блокировки:
А я делаю волны через несколько триггов:
прошло 30 сек - создать в области юнит
прошло 60 сек - созда...
 

DreiiДата: Суббота, 25 Декабря 2010, 14:04:51 | Сообщение # 19
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Gerlem, значит ты нуб

 

Pa3apTДата: Суббота, 25 Декабря 2010, 14:53:57 | Сообщение # 20
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
А я делаю волны через мою наработку, без утечек и прочего бреда
 

KartohaДата: Суббота, 25 Декабря 2010, 15:11:43 | Сообщение # 21
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Этот способ из Blizzard TD, в ней всё идет нормально из без лагов. Или ты теперь еще и Blizzard`ов будеш называть нубами?
И кстати если такой умный, выложи свою наработку, хотелось бы взглянуть.
 

Pa3apTДата: Понедельник, 27 Декабря 2010, 14:06:25 | Сообщение # 22
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
да буду

Добавлено (27-12-2010, 14:06)
---------------------------------------------
Kartoha, ты дурак, какая разница кто делал карту, если там до ******** утечек?

 

KartohaДата: Понедельник, 27 Декабря 2010, 14:38:37 | Сообщение # 23
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
ЛОЛЧТОЛИ? Во всех триггерах Blizzard TD по появлению и движению монстров устранены утечки, дай скрин где у них в этой карте утечки по появлению/движению крипов. Подкрепи свое утверждение фактами.

Прикрепления: 8223461.jpg (11.5 Kb) · 6708163.jpg (8.8 Kb)
 

Pa3apTДата: Понедельник, 27 Декабря 2010, 21:22:40 | Сообщение # 24
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
Code
function GetRandomLocInRect takes rect whichRect returns location
     return Location(GetRandomReal(GetRectMinX(whichRect), GetRectMaxX(whichRect)), GetRandomReal(GetRectMinY(whichRect), GetRectMaxY(whichRect)))
endfunction

function CreateUnitAtLocSaveLast takes player id, integer unitid, location loc, real face returns unit
     if (unitid == 'ugol') then
         set bj_lastCreatedUnit = CreateBlightedGoldmine(id, GetLocationX(loc), GetLocationY(loc), face)
     else
         set bj_lastCreatedUnit = CreateUnitAtLoc(id, unitid, loc, face)
     endif

     return bj_lastCreatedUnit
endfunction

Давай докажи мне что-нибудь
 

KartohaДата: Понедельник, 27 Декабря 2010, 22:11:21 | Сообщение # 25
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Quote (Kartoha)
ты теперь еще и Blizzard`ов будеш называть нубами?

Quote (Pa3apT)
да буду

Quote (Pa3apT)
какая разница кто делал карту, если там до хучи туевой утечек?

Quote (Kartoha)
дай скрин где у них в этой карте утечки по появлению/движению крипов

Я жду скрин, или ты пустозвон?
Quote (Pa3apT)
А я делаю волны через мою наработку

Quote (Pa3apT)
Code
function GetRandomLocInRect takes rect whichRect returns location
return Location(GetRandomReal(GetRectMinX(whichRect), GetRectMaxX(whichRect)), GetRandomReal(GetRectMinY(whichRect), GetRectMaxY(whichRect)))
endfunction

function CreateUnitAtLocSaveLast takes player id, integer unitid, location loc, real face returns unit
if (unitid == 'ugol') then
set bj_lastCreatedUnit = CreateBlightedGoldmine(id, GetLocationX(loc), GetLocationY(loc), face)
else
set bj_lastCreatedUnit = CreateUnitAtLoc(id, unitid, loc, face)
endif

return bj_lastCreatedUnit
endfunction

Давай докажи мне что-нибудь


Это твоя наработка создания волн?! xD
 

  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz