Есть ли способы сделать чтобы юнит не выбирался при клике?

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
32
4 года назад
2
От контекста зависит, например на текущем патче я бы сделал так...
  1. При создании заносим юнит в переменную, юнит создаётся с москитом
  2. Далее юнита можно всегда выбирать триггерно
  3. Если надо снова начать выделять юнита, можно ловить клик мыши рядом с юнитом....
Если любой патч и нодо чтобы враг был невыделяем, например типа способность, невыделяемый и нельзя навести... например сларк в ульте, срабатывают только скилы по площади, есть 1 старый баг по возвращению выделения после москита, я его не особо помню но на форуме 3жды упоминался (мне не надо и я не запомнил)
Исходные данные: юнит не выделяем и он москит, нужно вернуть выделение
  1. Удалить москита
  2. Скрыть юнита
  3. Показать юнита
как-то так
Принятый ответ
0
25
4 года назад
0
Москиты попробовал, после них его невозможно ни выбрать ни поймать через BlzGetMouseFocusUnit(), даже после отбирания москита и хайд анхайд.
Даже при EnableSelect(false, false) такого нет, и юнит под мышкой определяется триггерно.
В общем то задача в том, чтобы всегда был выбран только 1 юнит а остальные не выбирались кликом, но можно было по прежнему тригерно отловить клик на них.
0
32
4 года назад
0
В общем то задача в том, чтобы всегда был выбран только 1 юнит а остальные не выбирались кликом, но можно было по прежнему тригерно отловить клик на них
Если так то даже проще... но не всегда подойдёт, лично мне подошло
Я боролся с багом залипания левого клика, и успешно его одолел, но случайно сделал именно то, о чем ты спрашиваешь
	TimerStart(CreateTimer(), 0.01, true, function()
		-- hero - твой юнит
		ForceUIKeyBJ(GetOwningPlayer(hero),"M")
	end)
У меня юнит ходит триггерно на WASD и стандартная панель приказов на прочь убрана, так что мне это подходит
Как результат - не возможно выбрать другого юнита даже на 0,00001 сек, мельканий нет, хоть левой хоть правой жми
0
26
4 года назад
0
надо возвращать селект на своего юнита после селекта другого, либо на новых нативках убирать селект абсолютно, и определять при клике юнита под мышкой
0
25
4 года назад
0
У меня юнит ходит триггерно на WASD и стандартная панель приказов на прочь убрана, так что мне это подходит
Да у меня тоже на васд, но абилки и инвентарь используется.. чтобы убрать панель приказов надо все переносить на фреймы, а это месяцы работы
TimerStart(CreateTimer(), 0.01, true, function()
-- hero - твой юнит
ForceUIKeyBJ(GetOwningPlayer(hero),"M")
end)
Не сработало. И почему кстати "M"?
0
32
4 года назад
0
agentex, М а не важно что... мне главное было активировать режим нажатой клавиши, только тогда баг левого клика проходит, можно хоть атаку хоть патруль, но в твоём случае это не подойдёт, раз ты не отказался от инвентаря и панели приказов

М это приказ "Move", может у тебя у юнита нет его, так как нет вообще возможности ходить..
0
25
4 года назад
0
Понятно почему не сработало тогда, у меня отключены хоткеи команд через переопределение CommandStrings.txt.
Кстати, я так понял в новых версиях нет способа убрать стандартные команды? Раньше вроде работало call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_CONTROL, false)
0
37
4 года назад
0
В рефордже можно вообще переопределить клавиши через меню, так что это не вариант
0
26
4 года назад
0
agentex, каждые 0.03 секунды таймер проверяет выбранность юнита, если да, то убирает его из выделения.
0
26
4 года назад
Отредактирован Lord_Teo
0
Если имеем конкретного юнита, то можно сделать так:
Создаем в РО копию этого юнита, с возможностью "москиты".
Далее, триггеры:
Загруженные файлы
1
28
4 года назад
1
Лично я жду опцию из СК2 - выделить юнита можно, но управлять нельзя.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.