Хай народ. У меня есть проблемы по worleditor.
В общем я создаю карту на удержание где надо оборонять город от легиона орков и нежити. В общем:
--— Создал триггеры на созданий волн врагов.
--— Создал триггеры отправляющих их в атаку при вхождений в область. Вот один из них
Атака врагов идет по вот такой схема: враги заходят в 1 область - получают приказ атаковать 2 область, заходят в 2 область - получают приказ атаковать 3 и так далее.
--— У юнитов есть способности. В основном они кастуют заклинаний если их кто-то атакует или когда они сами будут кого-то атаковать. Вот один из них
Вот тут у меня появилась проблема. Допустим орк колдун зашел на область и получил приказ атаковать следующую область. Перед ним встретились враги и тут срабатывает триггер и колдун юзает свои скил. Убив врага он останавливается. ЧТО ПОЛУЧАЕТСЯ - изначально у него был приказ атаковать область, когда сработал триггер он получил другой приказ - юзать скил. ТУТ он теряет изначальный приказ, убивает врага и на этом останавливается. !!! МНЕ надо чтоб колдун шел атаковать дальше после юзание скила !!!, т.е он должен вернутся к первому приказу. Как-то можно вернуть изначальный приказ??
Вот я волны создал. Атака врагов проходят успешно. МНЕ еще надо чтоб они юзали свои скилы. Некроманты оживляли скелетов, колдуны обжигали и т.д. Как это можно сделать? Как их заставить юзать свои скилы при этом чтоб они не теряли свои приказ атаковать область???

Принятый ответ

Да сделай проще. Создай многоуровневую способность-пустышку. и когда отдаешь приказ атаковать в область, давай ему эту способность и с помощью неё отслеживай, какую область атаковать.
Например,
способность уровень 1, значит атаковать должен 1 область.
Уровень 2 - 2 область и т. д.
Не вижу смысла усложнять жизнь с хеш-таблицей.
Надеюсь понятно?) Отдал приказ, присвоил способность, после каста жди пару сек и в зависимости от уровня способности-пустышки отправляй в ту или иную область.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
7 лет назад
0
Похожие вопросы:

ответ
Tobi123:
Офк
Всё, разобрался. По совету nvc123 удалил руссификатор и появилось новое условие "Unit has specific Buff", за что ему огромное спасибо.
ответ
Урон настраивается через уровень способности, или как было сказано unit - damage target
команда для использования нестандартной способности берется от той способности, на основе которой ты её сделал, и если это цепь тралла - Unit - issue order with targetign a unit - orc - chain lighting
ответ
Ну решается всё довольно тривиально
Юнит атакован
приказ атакующего юнита не равен "атаковать"
б.е. - приказать атакующий ПКМ атакованного
При первой атаке произойдёт небольшая потеря времени, т.к. получив при каз юнит заново начнёт анимацию атаки. Зато орб будет прокать.
Алсо если приказать юниту перейти нападая на противников (триггерно или ручками) - приказ юнита будет какой-надо и орб будет срабатывать.
ответ
quq_CCCP, вот только это не позволит юзать книгу пока спелл не перезарядится
событие - юнит приводит способность в действие
в условии проверяем что это способность из нашего спелбука
потом триггерно нажимаем кнопку отмена(Esc)
в гуи это находится в разделе игра
называется вроде игрок нажимает отмена
в джасс это делается с помощью ForceUICancelBJ
в качестве игрока передаём владельца триггерного юнита
если это игрок а не какой нибудь AI скрипт то сработает
ответ
Читаем пока не поймем.

1
21
7 лет назад
1
Отдавать приказ заново каждые х секунд
0
3
7 лет назад
0
Отдавать приказ заного? но юнит может закастовать скил на любом месте. В карте есть 6-7 области к которым юнит заходит и получает приказ атаковать следующую область. Допустим он закоставал скил, а как мне знать какую сейчас область он атакует?
Вот схема
0
21
7 лет назад
0
Когда отдаешь приказ, сохраняешь нужную для него область, напр. в хэш-таблицу
Потом когда снова переотдаешь приказ, загружаешь нужную область для юнита
0
3
7 лет назад
0
так хэш. С ним еще некогда не пользовался. Ок попробую
0
12
7 лет назад
0
Слушай, что париться. Нужно сделать триггер в триггере который активирует спелл:
Что когда цель спелла умирает то включается другой триггер (который ты создашь) и этот триггер отдает юниту атаковать область.
Только нужно сделать условия чтобы узнать на какую область этот юнит ДО этого атаковал.
У меня есть небольшая идея для этого условия (сам не тестил, проверю когда будет время):
1.Сделай большую область в которой происходят ВСЕ действия\битвы (т.е. промежуточная область между 1-2 и 2-3 ну и 3-4 растянутой на все поле битвы.
2.Когда срабатывает тот триггер который ты создал, то сделай так чтобы он проверял в какой области находится юнит на момент убийства (наверное лучше будет сделать проверу Если Тогда Иначе \переменные (или что там еще написано) и каждую такую проверку на каждую БОЛЬШУЮ область (юнит не может находится в двух областях одновременно, ведь так?)) к примеру:
Если - юнит находится в Большой области A
Тогда - включить триггер который заставит его атаковать область 2
Иначе - (пусто)
И так на каждую Б.Область сделать после каждого убийства вражеского юнита.
P.s.Если у тебя не получиться, или ты не понимаешь как это осуществить - то напиши мне в личку, я отправлю тебе карту в которой я попробую сделать то что описал)
0
3
7 лет назад
0
Что когда цель спелла умирает?
Только вот спелы разные. напрмер - оживить мертвых не убиет цель. Или благодать
0
21
7 лет назад
0
не обязательно юзать хэш, сойдут и массивы, и вместо индекса юзать CustomValue
или сделать два массива, в одном юниты, в другом соответствующие области
таймером перебирать юнитов в массиве и отправлять в области с тем же индексом
3
4
7 лет назад
Отредактирован Alexander122
3
Да сделай проще. Создай многоуровневую способность-пустышку. и когда отдаешь приказ атаковать в область, давай ему эту способность и с помощью неё отслеживай, какую область атаковать.
Например,
способность уровень 1, значит атаковать должен 1 область.
Уровень 2 - 2 область и т. д.
Не вижу смысла усложнять жизнь с хеш-таблицей.
Надеюсь понятно?) Отдал приказ, присвоил способность, после каста жди пару сек и в зависимости от уровня способности-пустышки отправляй в ту или иную область.
Принятый ответ
0
3
7 лет назад
Отредактирован Evil_Google
0
A.W.K такая идея у меня тоже есть, но я не хочу пока создавать дополнительные области.Попробую сделать как говорят другие.
Alexander122, Очень интересный выход :) Добавил в заметку
0
32
7 лет назад
0
Мб стоит сделать волны на основе мили ИИ, посмотри кампанию эльфов крови, там из порталов вылуплялись демоны и шли атаковать Иллидана, думаю импортнуть ИИ и копернуть триггеры труда не составит.
А так вот пример, псевдо ИИ где юниты не только ищут врагов но и применяют способности в зависимости от обстоятельств и преследующий цель.
Загруженные файлы
0
18
7 лет назад
0
Ещё можно не париться со способностями, а присваивать юниту Custom value при входе в область, и проверять это значение вместо уровня способности.
Мне кажется, что это немного ускорит проверку (число занимает меньше места в памяти, чем способность, так ведь?).
1
32
7 лет назад
1
Maniac_91:
Ещё можно не париться со способностями, а присваивать юниту Custom value при входе в область, и проверять это значение вместо уровня способности.
Мне кажется, что это немного ускорит проверку (число занимает меньше места в памяти, чем способность, так ведь?).
Оказывается все способности юнита движок ищет перебором, а если у юнитов 100500 абилок, то это явно не лучшая идея, для этого есть атачи или хештаблица...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.