Сейчас 21:13:05 Четверг, 31 октября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Брокирование телепорта при использ. его на дру. территорию
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 областей на карте?... :D

 

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
Блокировки:
Не думаю... НО не плохая идея, к сожалению этих текстур не много....
 

  • Страница 1 из 1
  • 1
Поиск:

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