Добавлен
call GroupEnumUnitsInRange(g,GetUnitX(u),GetUnitY(u),250,null) 
loop 
	set n = FirstOfGroup(g)
	exitwhen n == null 
	if IsUnitEnemy(n,GetOwningPlayer(u)) == true then
		call UnitDamageTarget(u,n,true,false,attack,damage,weapon) 
		set ef = AddSpecialEffectTarget("Objects\\Spawnmodels\\Critters\\Albatross\\CritterBloodAlbatross.mdl", n ,"origin")
		call DestroyEffect(ef)
	endif 
	call GroupRemoveUnit(g,n)
	set n = FirstOfGroup(g)
endloop
использую эту схему для внесения врагов в группу юнитов но баг в том что спецэфекты и на трупиках появляются как избежать такого (желательно без проверки мертв не мёртв)

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

function IsUnitDead takes unit u returns boolean
return GetUnitTypeId(u) == 0 or IsUnitType(u, UNIT_TYPE_DEAD)
endfunction
function IsTarget takes unit u,unit d returns boolean
return not IsUnitType(u,UNIT_TYPE_ANCIENT) and not IsUnitDead(u) and not IsUnitType(u, UNIT_TYPE_STRUCTURE) and not IsUnitType(u, UNIT_TYPE_MAGIC_IMMUNE) and IsUnitEnemy(u, GetOwningPlayer(d))
endfunction
всё таки без проверок не обойтись
0
24
9 лет назад
0
Для начала яснее скажи, что хочешь сделать.
В общем виде.
0
2
9 лет назад
0
короче пасивка при ударе с процентным шансом я наношу урон от силы и на юнитах вокруг от меня в 250 получают урон + над ними появляется эфект крови но вот незадача эфект появляется на разлагающихся юнитах как мне сделать так чтобы мертвяки не получали этот эфект и желательно без лишних проверок
0
15
9 лет назад
0
и желательно без лишних проверок
нда.
function IsUnitDead takes unit u returns boolean
return GetUnitTypeId(u) == 0 or IsUnitType(u, UNIT_TYPE_DEAD)
endfunction
function IsTarget takes unit u,unit d returns boolean
return not IsUnitType(u,UNIT_TYPE_ANCIENT) and not IsUnitDead(u)  and not IsUnitType(u, UNIT_TYPE_STRUCTURE) and not IsUnitType(u, UNIT_TYPE_MAGIC_IMMUNE) and IsUnitEnemy(u, GetOwningPlayer(d))
endfunction
Пользуйтесь на здоровье.
2
2
9 лет назад
2
function IsUnitDead takes unit u returns boolean
return GetUnitTypeId(u) == 0 or IsUnitType(u, UNIT_TYPE_DEAD)
endfunction
function IsTarget takes unit u,unit d returns boolean
return not IsUnitType(u,UNIT_TYPE_ANCIENT) and not IsUnitDead(u) and not IsUnitType(u, UNIT_TYPE_STRUCTURE) and not IsUnitType(u, UNIT_TYPE_MAGIC_IMMUNE) and IsUnitEnemy(u, GetOwningPlayer(d))
endfunction
всё таки без проверок не обойтись
Принятый ответ
0
11
9 лет назад
0
Ээх.. Вот если бы можно было свои условия создавать, чтобы не добавлять каждые по отдельности.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.