Страница 1 из 1

Определение количесва врагов в радиусе

Добавлено: 24 ноя 2023, 21:42
kio57
Привет народ. на всех сборках перестало определять мобцов рядом по условию "количество панелей существ в радиусе"
Всё остальное работает исправно( Подскажите куда копать? в сборках ничего не менялось. Новые создавал для проверки- не помогло.

Re: Определение количесва врагов в радиусе

Добавлено: 26 ноя 2023, 18:52
noname123
Привет. Это приколюха от близов, итемы в бою теперь не возвращают дистанцию.

Можно конечно сделать проверку через какой нибудь из своих спеллов до неймплейтов, но у вара такого спелла вроде нету. Если тебя устроит, то могу предложить сделать наоборот, проверить сколько неймплейтов в бою не попадают в радиус твоего спелла ("Героический бросок" 8-30м). Получается условие будет срабатывать когда мобы находятся возле тебя до 8 метров или если дальше 30. Не думаю что сильно часто будет ситуация встречаться когда второй моб на такой большой дистанции будет стоять.

Код: Выделить всё

function CheckUnitsIsNotInRange(spellid)
 local UnitsInRange = 0
 for i = 1,40 do
  if UnitExists("nameplate"..i) then
   if MyIsSpellInRange(spellid, "nameplate"..i) == 0 and UnitAffectingCombat("nameplate"..i) then
    UnitsInRange = UnitsInRange + 1
   end
  end
 end
 return UnitsInRange
end
UPD

если к этому добавить второе условие с проверкой дистанции до неймплейтов спелла ("Провокация" 0-30м) тогда будет всё нормально работать в любой ситуации.
Изображение

Код: Выделить всё

function CheckUnitsInSpellRange(spellid)
 local UnitsInRange = 0
 for i = 1,40 do
  if UnitExists("nameplate"..i) then
   if MyIsSpellInRange(spellid, "nameplate"..i) == 1 and UnitAffectingCombat("nameplate"..i) then
    UnitsInRange = UnitsInRange + 1
   end
  end
 end
 return UnitsInRange
end