Запрет атаки через препятствие
|
|
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 - точку каста, точка куда я пытаюсь скакнуть и потом проверяем, находятся ли обе точки в пределах одной области, будь то игровая зона, или зона для квестов.
|
|
|
|