function()
aura_env.target_exists_aura = true --начальное значение истина
if UnitName('targettarget') --проверяем, существует ли вообще targettarget
then --если существует
local _, _, _, _, _, _, _, caster = UnitAura('targettarget', aura_env.aura_name) --эта фигня в caster записывает имя кастера, если аура висит и nil, если ее нет
if caster and caster == 'player' --проверяем что в caster не записался nil. если проверка пройдена, то проверяется, совпадает ли имя кастера с твоим
then --так вот, если аура висит и при этом твоя, то
aura_env.target_exists_aura = false --на выход подадим ложь, тобишь иконка не светится
end --случай, когда цельцель есть, а ауры вообще нет или когда она не твоя, смысла описывать нет, он у нас автоматом учтен в стартовой "истине"
else --а вот тут случай, когда цельцели нет
aura_env.target_exists_aura = false --и мы говорим что иконка нам не нужна
end
return aura_env.target_exists_aura
end
function()
aura_env.target_exists_aura = false
if UnitName('targettarget')
then
local _, _, _, _, _, _, _, caster = UnitAura('targettarget', aura_env.aura_name)
if caster and caster == 'player'
then
else
aura_env.target_exists_aura = true
end
end
return aura_env.target_exists_aura
end
А вообще по-хорошему надо было просто поставить not во второе условие и все бы само собой решилось без перестановок труфолсов
if not(caster and caster == 'player')
но я хз как lua работает с nil величинами и может ли он их отрицать, поэтому делал все через Жо