Пользуюсь этой функцией --> call GroupEnumUnitsInRange(), пикаю юнитов в радиусе, ну и пикает вполне себе, всех кроме москитов. Есть ли другая функция, с помощью которой можно решить этот вопрос?

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

LainMikoroso, ты совсем нуб? Или хочешь меня извести? На jass пишет блин....
Да ты чертовски догадлив, 1 триггер куда мы суем события на каждого созданного даммика, события сидят на юнитах - нет юнита, нет события... (кароче если у вас меньше 10000+событий это неважно), так же это событие требует фильтр, создай фильтр, такой же как я предложил выше, только с проверкой что даммик не сдох...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
14
7 лет назад
0
ты совсем нуб? Или хочешь меня извести? На jass пишет блин....
Да ты чертовски догадлив, 1 триггер куда мы суем события на каждого созданного даммика, события сидят на юнитах - нет юнита, нет события... (кароче если у вас меньше 10000+событий это неважно), так же это событие требует фильтр, создай фильтр, такой же как я предложил выше, только с проверкой что даммик не сдох...
У меня 10000+ событий, будет...Что делать?
2
32
7 лет назад
2
LainMikoroso, да ну тебя нафиг....
0
14
7 лет назад
0
да ну тебя нафиг....
Всмысле, я серьезно. Как очистить события?
quq_CCCP:
LainMikoroso, да ну тебя нафиг....
Или потом просто триггер ремувнуть и новый создать?
0
32
7 лет назад
0
LainMikoroso, не надо, нет юнита = нет события, юнита надо удалить...
0
14
7 лет назад
0
не надо, нет юнита = нет события, юнита надо удалить...
Если юнит удаляется, то и событие автоматически, верно?
0
27
7 лет назад
Отредактирован MpW
0
есть еще один способ (это мне пришло в голову, вообще-то давно, но я это не реализовывал)
пример
  1. берем GroupPickUnitsOfPlayer про которую сказал бедный quq_CCCP,
  2. в этой функции прописываем фильтр
  3. в фильтре проверяем попала ли точка юнита Caster в круг
function Find_Dummy takes nothing returns nothing
local real x1 = GetUnitX(Caster)
local real y1 = GetUnitY(Caster)
local real x2 = GetUnitX(GetFilterUnit())
local real y2 = GetUnitY(GetFilterUnit())

local real dx = x2 - x1
local real dy = y2 - y1

local real r = 500. //здесь указываем радиус (сами укажите) !!!

return (dx*dx + dy*dx < r*r)
endfunction
...
set Caster = GetTriggerUnit() //эта глобалка юнита
call GroupEnumUnitsOfPlayer( grp, pl, Condition( function Find_Dummy ))
...
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.