Хотелось бы узнать максимум вариантов как может быть отменено прицеливание.

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

  1. пауза стоп анпауза (можно без стоп попробовать)
  2. скрыть/показать юнита
  3. ForceUIKeyBJ (esc)
  4. Сайленс
  5. Удалить/добавить способность, правда в дефолтном понимании игра ещё не знает что способность прожали и нацеливают
  6. Может забыл, что, но любой способ сбивающий приказ нацеливания в игре, движение, смерть юнита, недостаток маны (например её сожгли)
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
26
5 лет назад
0
Зачем максимум когда достаточно Отменить?
Можно ещё попробовать снять и снова наложить выделение на юнита, если само по себе не сработает, то добавить крошечную задержку.
Либо скрыть/показать или запаузить/распаузить.
1
32
5 лет назад
1
  1. пауза стоп анпауза (можно без стоп попробовать)
  2. скрыть/показать юнита
  3. ForceUIKeyBJ (esc)
  4. Сайленс
  5. Удалить/добавить способность, правда в дефолтном понимании игра ещё не знает что способность прожали и нацеливают
  6. Может забыл, что, но любой способ сбивающий приказ нацеливания в игре, движение, смерть юнита, недостаток маны (например её сожгли)
Принятый ответ
0
27
5 лет назад
Отредактирован MpW
0
приказ отмена ESC, если это возможна?
как вариант тестовым путем все опробовать
просто создайте тестовую карту, создайте юнита unit. возьмите 3-5 разных абил с прицелами, дайте это юниту unit.
создаем триггер, который будет периодично срабатывать нв юните unit или на игроке, и пробуем в действиях то что выше написали разные фишки (неизвестно точно будет ли это все работать, поэтому надо проверить). И пробуем. Например, в триггере каждые 5 сек на юните unit вешают
пауза стоп анпауза
в игре берем выделяем юнита unit, пробуя просто прицел включить и не выбирая ничего. И подождать пока сработает триггер. Если прицел снимают, значит, метод рабочий. Иначе смотрите и ищете след метод
0
17
5 лет назад
0
Удалить/убить и создать новую копию.
0
13
5 лет назад
0
Версия 1.31
8gabriel8, отлавливаю начало прицеливания через дамми абилку, хочу отловить завершение прицеливания
0
29
5 лет назад
0
отлавливаю начало прицеливания через дамми абилку
Каким это образом интересно?
0
26
5 лет назад
0
Nelloy, может на 1.31 есть такая возможность, а на 1.26 пытались и не смогли. Дело в том, что прицеливание не является приказом юнита, а является функцией интерфейса, с которым функционал редактора ранее был очень мал. Расскажи подробнее о том, ради чего это задумал, может найдётся альтернативный вариант реализации

NazarPunk, скорее всего применяется абилка без цели, которая запускает способность, направленную на цель.
2
13
5 лет назад
Отредактирован Nelloy
2
Появилась идея по отслеживанию прицеливания наличием кнопки "Cancel"
NazarPunk, дамми и реальная имеют один хоткей, у юнита есть дамми способность (мгновенная без цели), при ее применении меняем на настоящую и нажимаем хоткей для владельца юнита. Зрительно разницы не видно. Кто-то на xgm описывал такой метод.
8gabriel8, на данный момент делаю способность, которая собирает саммонов в некотором построении, например в ширенгу. Хочу чтобы при наведении отображались будующее положение юнитов. В дальнейшем - реализация способностей с указанием 2-х точек, например, трещина из точки А в точку В. Или телекинез: выбираешь противника, затем куда его толкнуть. Или отображение области поражения в виде конуса, вариантов более чем достаточно.
0
25
5 лет назад
0
Nelloy:
Появилась идея по отслеживанию прицеливания наличием кнопки "Cancel"

В HoV сбиваю прицеливание так же через "Cancel"
  • С начало игрок нажимает дамми non_target способность.
  • После нажатия способность заменяется на другую target способность и включается таймер, который по истечении времени имитарует нажатие "Cancel" игроком и меняет способность обратно на non_target.
Что бы было меньше проблем лучше не использовать UnitAddAbility/UnitRemoveAbility, а дать герою сразу обе способности одна из которых будет прятаться через SetPlayerAbilityAvailable. Это убережет от неприятных сюрпризов и сохранит перезарядку.
0
13
5 лет назад
0
Jack-of-shadow, а как подбераешь время для таймера? Кто-то быстрее кликнет, кому-то и 15 сек мало
0
25
5 лет назад
Отредактирован Jack-of-shadow
0
Nelloy:
У меня в этом смысле чуть проще, так как там выстрел из лука. Проигрывается анимация натяжения и идет звуковой отсчет (кажется 4 секунды).
0
26
5 лет назад
0
Nelloy, не знаю, можно ли на 1.31 отслеживать, какой юнит из выбранных отображается на панели, так как выбор другого тоже сбивает приказ. А так при срабатывании дамми-способности другие варианты отмены прицеливания перечислили.
Только непонятно, как ты хочешь отслеживать кнопку Отмены.
0
32
5 лет назад
0
Можно исходя из разрешения экрана или через отлов нажатой кнопки (мемхак или последний патч), узнать был ли клик/прожатие интерфейса, следовательно было вызвано "меню" наведения способности, но то есть событие интерфейса, следовательно способность наводится, а там можно и курсор поотлавливать, чтобы узнать куда именно наводится, но это уже совсем другая история... есть наработки по этой теме но как же лень...
0
26
5 лет назад
0
У него нет проблем с началом наведения, но нужно отлавливать прекращение наведения.
0
32
5 лет назад
0
Только вот это локальные события, и их нужно синхронизировать.
0
13
5 лет назад
0
quq_CCCP, или заранее подготовить пул эффектов и делать все локально
0
13
5 лет назад
Отредактирован Nelloy
0
Bergi_Bear, 8gabriel8, Сделал через отслеживание нажатия Esc, ПКМ и еще нескольких событий, в том числе храню выбранных юнитов. Отследить наличие кнопки Cancel не смог.
0
32
5 лет назад
0
Nelloy, так у меня тут ещё мысли появились, но нужно полностью локально работать с интерфейсом, я так понял, ты хочешь получить некое глобально событие "Прицеливание способности отменено", я знаю как тебя помочь но мне надо больше инфы от тебя:
  1. Какая версия патча?
  2. Сколько будет таких способностей?
  3. Муи в сетевой или сингл/кампания?
Прочитал комментом выше что ты хочешь...
Nelloy:
Хочу чтобы при наведении отображались будующее положение юнитов
Так это меняет дело, мемхак или 131 в помощь, ибо в данный момент самое сложно узнать:
  1. Что была прожата способность проверки построения, про это я уже выше писал, локально узнаём что нажата кнопка Q или сделан клик по интерфейсу где расположена кнопка Q (событие получено)
  2. Далее надо следить за курсором и вокруг него собирают юнитов, чтобы при наведении на толпу из 10 суммонов, мы увидели их подующее расположение, а это уже можно подсветить эффектами, чтобы эффекты видел игрок, надо будет засинхронить положение курсора для всех игроков, и создать эффект видимости только у того кто навел, и тогда вроде как профит, мы видим примерное построение существо
  3. Если способность прожата то там уже проще... точка прожатия автоматически засинхронится событием, перестраиваем юнитов
  4. Если способность отменна, то тут да, надо удалить эффект временного расположения, а теперь и понятно зачем ты спрашивал этот вопрос, ибо способов отмены наведения просто масса.. и тут я честно говоря в тупике....
Просто кнопка отмены она интерфейсная и локальная и может быть вызвана даже без способностей, например попыткой отдать приказ движения или патруля, я вспомнил, когда то ставил перед собой такую задачу, но тогда я забил болт, и сделал автоотмену через 1 секунды после наведения, можно и больше сделать в твоём случае хватит 3х, чтобы игрок увидел построение и через 3 сек развидел, даже если ещё держит наведение.. пока, я только такое решение вижу, надо думать
1
13
5 лет назад
1
Bergi_Bear, патч 1.31 мультиплеер с муи.
1 - это определяю легко. У юнита стоит способность-пустышка с мгновенным применением и тем же хоткеем, что у оригинала. При использовании пустышки выдается событие "Targeting start", пустышка меняется на оригинал и прожимается соответсвующий хоткей для владельца юнита локально. Событие выдано, игрок целится - цель достигнута.
2 - да, примерно так и делаю. Для эффектов нет необходимости синхронизировать положение, поэтому заранее создаю пул эффектов для всех игроков и манипулирую нужными локально.
3 - при использовании оригинальной способности все действительно тривиально.
4 - упустим возможноть игровой отметы прицеливания, такие как сайленс, с ними проблем возникнуть не должно. Пока выяснил, что целящийся игрок может отменить прицеливание клавишей Esc и ПКМ (f10 и другие системные пока не проверял). Патч 1.31 позволяет это отслеживать, так что дело за тестами, чтобы выловить все возможности отмены.
Дело в общем-то в том, что я не делаю какую-то конкретную способность, а пилю свою систему каста, которой должно хватить на любые мои хотелки. Пока думаю должно хватить следующих событий:
  • UnitStartTargetingSpell
  • UnitTargetingSpell (вызывается по таймеру с периодом 0.03125)
  • UnitFinishedTargetingSpell
  • UnitStartCastingSpell
  • UnitCastingSpell (вызывается по таймеру с периодом 0.03125)
  • UnitCancelCastingSpell (отмена применения игроком)
  • UnitInterruptedCastingSpell (прерывание противником, например, сайленс, стан)
  • UnitFinishCastingSpell
1
29
5 лет назад
1
Может не сработать в случае, если игрок отправляет героя по шифту, в конце прожимает способность и меняет выбор.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.