Брокирование телепорта при использ. его на дру. территорию
|
|
besitzeRuf | Дата: Суббота, 31 Октября 2009, 23:58:02 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 168
Награды: 0
Репутация: 5
Блокировки:
| Собственно прошу мне посоветовать, как решить такую проблему... Допустим есть карта маленького размера,разделенная на 4 части декорациями.... Типа 4 разных дуэльных зоны где дерутся герои... Скажем, у каждого есть способность телепорт (скачок от мев) . Так как сделать так, чтобы герой не мог попасть на другую любую зону на карты... Прошу учесть, что таких зон радом друг с другом может быть 20-40 ))) Есть идеи чтобы было меньше гемороя? Добавлено (31-10-2009, 23:58) --------------------------------------------- Хотя вроде решил.... только не знаю, если это самый лучший способ... вот он : границы этих "областей" сделай блокираторами путей видимости или как-то так.... тоесть юнит за их пределом ни видит ни может туда идти.... потом сделал триггер, который Событие : Юнит начинает применять способность Условие: Способность = Скачок Действие: Видимость - Create an initially заблокировать visibly modifier for Owner of Unit(Casting unit) emitting Черная Маска from position of (Casting unit) to a radius 5000 . Ваше мнение? можно проще?
|
|
|
|
Enforcer | Дата: Воскресенье, 01 Ноября 2009, 00:06:04 | Сообщение # 2 |
Энф Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
| Можно попробовать сделать его не на основе телепорта а на основе Создания юнита в указанной спеллом точке Основу спелла можно взять заклинание которая вызывает Дамми в указанной героем точке. Например змеи Ловца Духов. Создаешь переменную StopTeleport[Номер игрока]=Ложь Создаешь триггер Герой применяет заклинание Условие: Заклинание = "Телепорт" StopTeleport[Номер игрока]=Ложь Ждешь 1 сек Если StopTeleport[Номер игрока]=Ложь то Перенести Героя в точку Дамми Удалить Дамми из игры. Создаешь другой триггер где при условии вхождения в зону и входящий юнит = дамми, то StopTeleport[Номер игрока]=Истина Создаешь зоны куда нельзя телепортироваться и добавляешь их в этот триггер. Вот мой способ.
|
|
|
|
besitzeRuf | Дата: Воскресенье, 01 Ноября 2009, 00:46:47 | Сообщение # 3 |
6 уровень
Группа: Проверенные
Сообщений: 168
Награды: 0
Репутация: 5
Блокировки:
| да нет, в том-то и дело, что по всей области можно телепортироваться, но из области в область нет... просто скачок не работает, если зона не разведана...но допустим.. в начале игры герой дерется с другим гером в одной зоне, она раскрывается, он побеждает, потом дерется с противником в другой зоне, но первая зона уже разведана, значит он может использовать скачок туда... Мне такого скачка не надо... поэтому в своем примере я после скачка я просто обнуляю этот туманили что там..но одно но.. герой может на время пропасть... (ну понятно... долго обрабатывается это все..) Пока для меня этот самый лучший способ... а про области думать не хочу... не очень хочется создавать около 408 зон плюс триггеры контролирующие перемещение....
|
|
|
|
Ogare | Дата: Воскресенье, 01 Ноября 2009, 09:16:14 | Сообщение # 4 |
7 уровень
Группа: Проверенные
Сообщений: 441
Награды: 0
Репутация: 43
Блокировки:
| Попробуй сделать не моментальный телепорт, а движение каждые 0.01 секунду и сделай на это время героя прозрачным. так он тупо через стену не пройдет.
Сообщение отредактировал Ogare - Воскресенье, 01 Ноября 2009, 09:16:29 |
|
|
|
Enforcer | Дата: Воскресенье, 01 Ноября 2009, 10:06:37 | Сообщение # 5 |
Энф Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
| besitzeRuf, Добавь условие в триггер вхождения, что если герой уже находится в этой зоне, то может телепортироваться. Для этого надо создать еще один триггер вхождения где запоминать последнюю область местоположения героя.
|
|
|
|
besitzeRuf | Дата: Воскресенье, 01 Ноября 2009, 14:00:12 | Сообщение # 6 |
6 уровень
Группа: Проверенные
Сообщений: 168
Награды: 0
Репутация: 5
Блокировки:
| Quote (Enforcer) besitzeRuf, Добавь условие в триггер вхождения, что если герой уже находится в этой зоне, то может телепортироваться. Для этого надо создать еще один триггер вхождения где запоминать последнюю область местоположения героя. Тоесть мне для этого надо создать 48 областей на карте?...
|
|
|
|
Enforcer | Дата: Воскресенье, 01 Ноября 2009, 23:48:14 | Сообщение # 7 |
Энф Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
| 48 это еще фигня. Еще банальней ты можешь уменьшить дистанцию скачка Мэв. То есть он просто не сможет перепрыгнуть через декорацию.
|
|
|
|
POMA220 | Дата: Понедельник, 02 Ноября 2009, 06:59:53 | Сообщение # 8 |
6 уровень
Группа: Заблокированные
Сообщений: 152
Награды: 0
Репутация: 25
Блокировки:
| Делаешь 4 области Юнит покидает одну из областей Переменная перенос = нет Переместить юнита (мгновенно) в ту же область 4 триггера, 4 области
Долой панд! Время tee пришло!
|
|
|
|
besitzeRuf | Дата: Понедельник, 02 Ноября 2009, 13:38:19 | Сообщение # 9 |
6 уровень
Группа: Проверенные
Сообщений: 168
Награды: 0
Репутация: 5
Блокировки:
| Quote (POMA220) Делаешь 4 области Юнит покидает одну из областей Переменная перенос = нет Переместить юнита (мгновенно) в ту же область 4 триггера, 4 области Да нет, я у триггерах немного шарю, но мне щас очень надо знать, какой способ самый эффективный, быстрый в создании... и мне как будующему программисту хотелось бы не повторяться, тоесть не делать 48 идентицных областей + тригы (если точно, то тех зон будет 48, +/- еще какие нибудь побольше, карты у меня гигант))) я еще придумал, ведь игрок будет иметь только одного юнита на протяжении всей игры, значит я могу только для него обнулить разведку всей карты, когда он окажеться в этой зоне.
|
|
|
|
Akvarium | Дата: Понедельник, 02 Ноября 2009, 18:03:39 | Сообщение # 10 |
8 уровень
Группа: Проверенные
Сообщений: 581
Награды: 1
Репутация: 87
Блокировки:
| besitzeRuf, расстояния между областями сделай большими для тп
|
|
|
|
besitzeRuf | Дата: Понедельник, 02 Ноября 2009, 18:15:41 | Сообщение # 11 |
6 уровень
Группа: Проверенные
Сообщений: 168
Награды: 0
Репутация: 5
Блокировки:
| делал, и с помощью темной зоны в рельефе ограничивал...
|
|
|
|
Enforcer | Дата: Понедельник, 02 Ноября 2009, 21:59:20 | Сообщение # 12 |
Энф Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
| Пока ищешь решение пройдет больше времени чем сделать как я предлагаю.
|
|
|
|
besitzeRuf | Дата: Понедельник, 02 Ноября 2009, 23:19:24 | Сообщение # 13 |
6 уровень
Группа: Проверенные
Сообщений: 168
Награды: 0
Репутация: 5
Блокировки:
| я вообще-то пока сделал по своему....
|
|
|
|
POMA220 | Дата: Вторник, 03 Ноября 2009, 05:22:15 | Сообщение # 14 |
6 уровень
Группа: Заблокированные
Сообщений: 152
Награды: 0
Репутация: 25
Блокировки:
| Боевая еденица начинает применять способность And All (conditions) are true (Ability beign cast) Равно Скачок (Terrain type at (Target point of ability beign cast)) равно (ну скажем) Летний Лордерон: почва Order (Casting Unit) to Оставить Завязано на текстуре почвы, почти то же самое, что и области, но может тебе пойдёт.
Долой панд! Время tee пришло!
|
|
|
|
besitzeRuf | Дата: Четверг, 05 Ноября 2009, 08:38:23 | Сообщение # 15 |
6 уровень
Группа: Проверенные
Сообщений: 168
Награды: 0
Репутация: 5
Блокировки:
| Не думаю... НО не плохая идея, к сожалению этих текстур не много....
|
|
|
|