Собственно - возможно ли отследить незанятого работника?
Тоесть, я хочу сделать так, чтоб каждого незанятого работника подсвечивало сверху восклицательным знаком (модель 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)

А вот и карта.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
27
4 года назад
0
читал, что в новых патчах добавили boolean-проверку на бездействие. но это может быть не точно
0
28
4 года назад
0
prog, работник может стать незанятым и без приказа, например когда завершил постройку здания
1
23
4 года назад
1
Можно выбирать всех работников на карте и если их текущий приказ = null то значит работник стоит афк.
0
24
4 года назад
0
nvc123, мне казалось что stop отдается автоматически в любом случае, но, конечно, могу ошибаться, давно последний раз с этим работал.
0
9
4 года назад
0
Obelick:
Можно выбирать всех работников на карте и если их текущий приказ = null то значит работник стоит афк.
Тригер с проверкой переодичностью каждую 1 сек?
Не не пойдет, большая нагрузка на карту. либо я тебя не правильно понял.
прикрепи пример тригера что имеешь ввиду.
нужно что-то типа:
событие - воин отдал приказ стоп
условие - воин=работник (у меня они самоубийцы в по)
действие - повесить баф или добавить способность с бафом.
иначе - удалить баф/способность.
как-то так...

Steal nerves:
читал, что в новых патчах добавили boolean-проверку на бездействие. но это может быть не точно
1.26 нужен. новые версии кривее всего кривого((((
0
16
4 года назад
0
без мемхака?
0
27
4 года назад
0
Obelick, это тоже не всегда помогает к сожалению. как сказал nvc123
1
28
4 года назад
1
Достаточно просто отслеживать, что текущий приказ 0.

Не не пойдет, большая нагрузка на карту.
Совсем не большая нагрузка. В лазурных башнях период меньше, а лагов нет.
0
30
4 года назад
0
Попробуй ForceUIKey("`") (ну или какой там хоткей на выбор незанятых рабочих)

В лазурных башнях период меньше, а лагов нет.
В лазурных башнях максимум 5 рабочих на игрока
1
28
4 года назад
Отредактирован PT153
1
Steal nerves, это как раз-таки поможет, если приказ 0, то юнит ничего не делает.

В лазурных башнях максимум 5 рабочих на игрока
А причём тут рабочие? Любой игрок может построит 100500 финальных башен, для которых и делается цикл 4 раза в секунду.

В любом случае нагрузка никчёмная.
0
30
4 года назад
0
Подробнее опишу свою идею: запоминаем выделение игрока, после чего форсим выбор незанятых рабочих в цикле, добавляя их в исходно пустую группу. Когда выделится рабочий, уже находящийся в группе, считаем группу полной и всем рабочим без "!" вешаем "!", после чего выделяем тех юнитов, которые были выделены игроком.

Не уверен, что оно сработает, но сомнение есть только в том, можно ли зафорсить не буквенную клавишу, в остальном метод сработает 100%
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.