XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
DarkRaven Best

offline
Опыт: 8,116
Активность:
Отслеживание выгружемых юнитов
Доброго времени суток. Во время создания одной из способностей у меня возникла одна проблема. Я долго искал решение, но никак не смогу найти его. Суть такова: имеется юнит, он погружает на борт бнит он получает +20 к урону - это я сделать смог. А как сделать так, когда он выгружает юнита и этот урон отнимается. Я пробовал сделать через юнит применяет заклинание "выгрузить". Но отнимается единожды, в то время как выгружается весь "десант". К тому же можно выгружать юнитов в ручную, а это уже я вообще не знаю как отследить. Кто-нибудь может помочь мне составить триггер отслеживания на ГУИ, так как более менее понял редактор триггеров совсем недавно. Заранее спасибо.
Старый 28.04.2013, 22:06
Borodach

offline
Опыт: 5,837
Активность:
DarkRaven_Best,
C: любой БЕ - отдал приказ точка
любой БЕ - отдал приказ цель
любой БЕ - отдал приказ без указателя
У:ничего
Д:Игра вывести сообщение последний отданный приказ
В игре используешь выгрузить всех, одного или загрузить... смотришь какой приказ выдает
С: прииказ
У:отданый приказ равно твой
Д: добавить или убавить дамаг
Старый 28.04.2013, 22:42
Zetox

offline
Опыт: 1,738
Активность:
Можно, отследить погружение юнита, после перенести его координаты в какую либо область. После чего отслеживать выход, вход в область.
Старый 28.04.2013, 23:15
DarkRaven Best

offline
Опыт: 8,116
Активность:
Borodach, спасибо, сейчас буду пробовать что-нибудь сделать.
DarkRaven Best добавил:
Пока тему не закрывать...
Старый 29.04.2013, 13:57
DarkRaven Best

offline
Опыт: 8,116
Активность:
Отследить юнитов, высаженных в ручную удалось. Но возник следующий вопрос, как сделать так, чтобы при приказе выгрузить всех, он выгружал и считал юнита по одному. Конечно, можно сделать, что при этой команде урон сразу отнимался за всех юнитов, но высаживание можно прервать и тогда мы имеем в транспортном средстве, допустим, трёх юнитов, а урона уже нет. Конечно в голову приходит цикл: стоп-выгрузить-стоп... Но я не знаю к в пункте действие не знаю как обозначить боевую еденицу: Боевая единица - Order(Ordered Unit) to Выгрузить(Не знаю что вставить). Пытаюсь сделать муторно через отряды, но я хотел бы узнать есть ли более рабочий и адекватный способ?
Старый 30.04.2013, 19:21
Zetox

offline
Опыт: 1,738
Активность:
Цитата:
Сообщение от DarkRaven Best
более рабочий и адекватный способ?

Цитата:
Сообщение от Zetox
Можно, отследить погружение юнита, после перенести его координаты в какую либо область. После чего отслеживать выход, вход в область.
Старый 30.04.2013, 20:10
DarkRaven Best

offline
Опыт: 8,116
Активность:
Хм, можно попробовать...
Старый 30.04.2013, 21:25
Nordi

offline
Опыт: 893
Активность:
Так можно отследить когда юнит вышел из танспорта. Срабатывает триг когда юнит погружен. Но не получится вернуть сам транспорт. Можно хэштэйбл прикрутить или что-нить попроще для этого.
function HeroLeft takes nothing returns nothing
    local trigger t = GetTriggeringTrigger()
    //Действия когда юнит вышел
    call DestroyTrigger(GetTriggeringTrigger())
    set t = null
endfunction

function Trig_HeroInTransport_Actions takes nothing returns nothing
    local trigger trig = CreateTrigger()
    call TriggerRegisterUnitEvent( trig, GetTriggerUnit(), EVENT_UNIT_ISSUED_ORDER )
    call TriggerAddAction(trig, function HeroLeft)
    //Действия когда юнит погружен
    set trig = null
endfunction
Старый 01.05.2013, 16:21
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:51.