Сейчас 19:42:52 Понедельник, 29 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Запрет атаки через препятствие (Запретить атаку и телепортацию через препятствие)
Запрет атаки через препятствие
MonStarДата: Среда, 28 Ноября 2012, 21:07:14 | Сообщение # 1
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 6
Блокировки:
Мне нужно запретить возможность атаки через препятствие дальнобойным юнитам, а так же телепортацию через препятстиве или просто в определённую зону.
Пример такого припятствия ниже по ссылке
http://saveimg.ru/show-image.php?id=30145b9c3ec5456ac633194984803720


АДМИН МУДАК!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

NaturekidДата: Четверг, 29 Ноября 2012, 11:21:16 | Сообщение # 2
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
похожая тема была.
Но вряд ли тебе понравится предложенное там решение.
Следует проверять проходимость точек впереди атакующего, да и то этого мало будет.


 

MonStarДата: Четверг, 29 Ноября 2012, 11:35:50 | Сообщение # 3
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 6
Блокировки:
Блин, тоесть не слишком заумных решений на GUI или Jass я так понимаю нет?

Добавлено (29 Ноября 2012, 11:35:50)
---------------------------------------------
А на счет телепортации скачком и подобными я уверен на 100%, я даже где-но наработку видел, но не могу найти снова. Может поможет кто?


АДМИН МУДАК!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

SirNikolasДата: Четверг, 29 Ноября 2012, 11:36:32 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Пак наработок по World Editor.

 

NaturekidДата: Четверг, 29 Ноября 2012, 12:06:02 | Сообщение # 5
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Quote (MonStar)
Блин, тоесть не слишком заумных решений на GUI или Jass я так понимаю нет?

есть
Чуть позже накатаю, т.к. самому интересно чекнуть.

Добавлено (29 Ноября 2012, 12:01:15)
---------------------------------------------
http://rghost.ru/41882886

Ну она немного не совершенная.

Добавлено (29 Ноября 2012, 12:06:02)
---------------------------------------------
Решение то не заумное, тока представь скока памяти кушать будет при большом количестве атакеров. Если это -только дл героев - ещё ладно...


 

MonStarДата: Четверг, 29 Ноября 2012, 12:14:18 | Сообщение # 6
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 6
Блокировки:
Quote (Naturekid)
Ну она немного не совершенная.

Добавлено (29 Ноября 2012, 12:06:02)
---------------------------------------------
Решение то не заумное, тока представь скока памяти кушать будет при большом количестве атакеров. Если это -только дл героев - ещё ладно...


Ну этот способ решает ровно половину мне нужного, за него спасибо. Как я понял по написанному, он будет работать только для прямой атаки по юниту. Впринципе такая атака не частая и сильно грузить не должно. Но вот для какой-нибудь волны, которая летит на 1000 аое и бьет всех по пути не подойдет, а жаль (

p.s. за пак наработок спасибо, именно его я и видел, даже архив в загрузках лежит среди хлама


АДМИН МУДАК!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

SirNikolasДата: Четверг, 29 Ноября 2012, 12:27:56 | Сообщение # 7
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
После "Отставить" задай какую-нибудь переменную в true и в конце цикла припиши:
CS: exitwhen udg_SomeVariable


 

NaturekidДата: Четверг, 29 Ноября 2012, 12:48:01 | Сообщение # 8
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Quote (SirNikolas)
После "Отставить" задай какую-нибудь переменную в true и в конце цикла припиши: CS: exitwhen udg_SomeVariable

хммм, это прекратит цикл, не долистывая его?

Добавлено (29 Ноября 2012, 12:48:01)
---------------------------------------------

Quote (MonStar)
Но вот для какой-нибудь волны, которая летит на 1000 аое и бьет всех по пути не подойде

Ну ты КОНЕЧНО ЗАХОТЕЕЕЕЛ! Прервать так ты только триггерную волну сможешь. Насколько я знаю.


 

SirNikolasДата: Четверг, 29 Ноября 2012, 17:59:02 | Сообщение # 9
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Да. Перед циклом, само собой, нужно поставить ее в false.
Кстати, сначала не обратил внимания, как ты разрушаемые перебираешь. Для чего есть Pick every destructable in rect?


 

NaturekidДата: Четверг, 29 Ноября 2012, 18:12:05 | Сообщение # 10
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
SirNikolas, не совсем догнал... Вообщем если есть случаное разрушаемое в ректе - то значит проход заслонён, примитивный принцип. Или ты про что?
А насчёт екситвен спс, пригодиццо где-нибудь.


 

SirNikolasДата: Четверг, 29 Ноября 2012, 18:14:58 | Сообщение # 11
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Naturekid)
если есть случайное разрушаемое в ректе
Зачем заставлять компьютер еще и выбирать случайный разрушаемый?


 

NaturekidДата: Четверг, 29 Ноября 2012, 20:02:00 | Сообщение # 12
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
SirNikolas, у тебя есть фкнкция определеия наличия декора в области или подсчёта их в области?
Делал спонтанно, так что мб чего не углядел, но вроде таких функций нету.


 

SirNikolasДата: Четверг, 29 Ноября 2012, 20:08:29 | Сообщение # 13
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
EnumDestructablesInRect же.

 

NaturekidДата: Четверг, 29 Ноября 2012, 20:13:46 | Сообщение # 14
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
ну да, гж. Ты мне её в гуях покажи =D

 

SirNikolasДата: Четверг, 29 Ноября 2012, 20:18:02 | Сообщение # 15
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:


 

NaturekidДата: Четверг, 29 Ноября 2012, 20:20:49 | Сообщение # 16
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
SirNikolas, ну мы пикнули декор и что дальше? Увеличиваем целочисленную же? Ну лан. я в принципе верю, что обращение к целочисленной ест меньше памяти чем выбор случайной декорации.

Добавлено (29 Ноября 2012, 20:20:49)
---------------------------------------------
Впопыхах об этой функции не подумал)


 

SirNikolasДата: Четверг, 29 Ноября 2012, 20:21:21 | Сообщение # 17
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Мы пикнули, и если что-то пикнулось, то стопаем аттаккера.

 

NaturekidДата: Четверг, 29 Ноября 2012, 20:28:23 | Сообщение # 18
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Хм, прокнуло. Ваще с "нет разрушаемого объекта" и с "нет предмета" какие-то затупки у меня были <_<
По видимому ошибки были в другом, а я не на то думал.
Думал ща пикну и проверю тип пикнутой не равно "нет разрушаемого объекта" и не прокнет. Прокнуло.


 

MonStarДата: Четверг, 29 Ноября 2012, 20:35:26 | Сообщение # 19
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 6
Блокировки:
Я не совсем понял принцип работы, может я предложу такой же. Возникла идея расставить декорации запрещяющие передвижение по местности. При попытке атаковать создать регион между двумя юнитами и проверить, есть ли в этом регионе конкретная декорация. Если да, отставить атаку

АДМИН МУДАК!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

SirNikolasДата: Четверг, 29 Ноября 2012, 20:37:36 | Сообщение # 20
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Можно и так, но придется геометричить, добавляя в регион области.

 

God_of_lightДата: Четверг, 29 Ноября 2012, 20:45:24 | Сообщение # 21
6 уровень
Группа: Проверенные
Сообщений: 206
Награды: 0
Репутация: 185
Блокировки:
MonStar, насчет скачка - у меня в проекте сделана простая вещь, есть место где выполняются квесты, туда и оттуда телепортироваться нельзя.
Как идет проверка? При касте "скачковых" магий проверяю две точки:
1) P1 - точка кастера, там где стоит герой\юнит
2) P2 - точку каста, точка куда я пытаюсь скакнуть
и потом проверяем, находятся ли обе точки в пределах одной области, будь то игровая зона, или зона для квестов.


 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Запрет атаки через препятствие (Запретить атаку и телепортацию через препятствие)
  • Страница 1 из 1
  • 1
Поиск:

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