Собственно - возможно ли отследить незанятого работника?
Тоесть, я хочу сделать так, чтоб каждого незанятого работника подсвечивало сверху восклицательным знаком (модель talktome)
Думаю вешать баф с анимацией этой модели на афк работника.
Возможно ли как-то отловить это?
Тоесть, я хочу сделать так, чтоб каждого незанятого работника подсвечивало сверху восклицательным знаком (модель talktome)
Думаю вешать баф с анимацией этой модели на афк работника.
Возможно ли как-то отловить это?
Либо если есть идея как можно это оформить подругому, жду предложения.
Принятый ответ
Вообщем решение как обозначить незанятого раба простое пока не пришло(
Делаем способность А на основе Atol. Если не JNGP, то на основе Asph. Способности даём нужный эффект.
Далее делаем триггер.
Далее делаем триггер.
Событие: каждые 0.25 секунд игры
Действия
Установить Workers = Юниты на Вся карта типа Работник.
Выбрать всех юнитов в Workers и для каждого делать
Custom script: if GetUnitCurrentOrder(GetEnumUnit()) == 0 then
Добавить способность А Выбранному юниту.
Custom script: else
Удалить способность А у Выбранного юнита.
Custom script: endif
Custom script: call DestroyGroup(udg_Workers)
А вот и карта.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован PT153
Только вот мне не важно будет ли работник убегать или что-то еще. Мне важно будет ли он стоять афк без работы.
И как без переодичности и выборки на него набросить эффект анимации.
Желательно простым способом.
Я думал над способностью "выбрать воина" или "продать предмет/общие магазины"(магазин). Давать ее глобально по карте если приказ работника =0 (афк). Но она не выбирает работников, только героев или воинов с рюкзаком.
Так же думал про способность "спрятаться", типа приказ стоп набрасывает невидимость, а вместо этого вешать анимку (восклицательного знака), но опять же, как тогда убрать невидимость с воина (без проверки и переодичности)...
Отредактирован PT153
Далее делаем триггер.
По сабжу, твой вариант работает, спасибо!
Но мне он не подходит, я говорил что тригер с переодичностью не пойдет по ряду причин. Например потому, что у меня 2 тригера с переодичностью уже вшиты в карту. Третий даст нагрузку. 12 игроков - три тригера, на них по 20-30 рабочих... Вообщем, такое.
МОжет кто предложит что попроще, или сам придумаю решение.
если есть вариант предложи\покажи
Событие: 3 события Generic unit Отдал приказ цель-объект/цель-точка/без цели
Условие: Unit-type of (Triggering unit) равно Работник
Действие: If (Issued order) равно Стоп ИЛИ <пусто> и (Triggering unit) is in Unit group FREE_WORKERS равно Нет, Then Добавить спецэффект и внести в группу FREE_WORKERS, Else Ничего
If (Triggering unit) is in Unit group FREE_WORKERS равно Да и (Issued order) не равно Стоп ИЛИ <пусто> Then Убрать спецэффект и убрать из группы FREE_WORKERS, Else Ничего
Только какое-то удобное запоминание спецэффекта нужно сделать.
Отредактирован PT153
Любой другой способ нагружать будет ещё больше. Никак нельзя отследить, что приказ стал 0, в любом случае нужно для каждого юнита периодически смотреть текущий приказ. Либо общий таймер, либо индивидуальный.
8gabriel8: