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

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

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

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