есть код когда я убираю в обоих триггерах иф все прекрасно работает, но если я доавбялю код то он не читает иф что не так?
код 1
do
  local a = InitGlobals -- записываем InitGlobals в переменную
  function InitGlobals() -- заменяем оригинальную InitGlobals своей
       a() -- вызываем оригинальную InitGlobals из переменной
       InitMyTrigger()
  end
end
do
function InitMyTrigger()
function AdrenalinSeconds()
local r = Rect(-1280.0, -1536.0, 1280.0, 992.0)
local g = CreateGroup()
GroupEnumUnitsInRect(g, r, nil)
while true do
	local u = FirstOfGroup(g)
	if u == nil then break end -- выходим из цикла при пустой группе
	local life = UNIT_STATE_LIFE
if GetUnitState(u,life) > 0.405 and GetUnitTypeId(u) == 'Hpal' and GetUnitAbilityLevel(u,'A000') > 0  then -- условия для перебора
	local mana = UNIT_STATE_MANA
local maxmana = UNIT_STATE_MAX_MANA
SetUnitState(u,mana,GetUnitState(u,maxmana)-GetUnitState(u,maxmana)*RMaxBJ(0,2)*0.01)	 -- действия для перебора
	end
	GroupRemoveUnit(g, u)
end
end
local t = CreateTrigger()
local cot = AdrenalinSeconds
TriggerRegisterTimerEvent(t,1.00,true)
TriggerAddAction(t, cot)
end
end
код 2
do
  local b = InitGlobals -- записываем InitGlobals в переменную
  function InitGlobals() -- заменяем оригинальную InitGlobals своей
       b() -- вызываем оригинальную InitGlobals из переменной
       InitMyTrigger0()
  end
end
do
function InitMyTrigger0()
function Adrenalindamaging()
local u1 = BlzGetEventDamageTarget() -- получил
local u2 = GetEventDamageSource() -- нанес
local mana = UNIT_STATE_MANA
local maxmana = UNIT_STATE_MAX_MANA
DisplayTimedTextToPlayer(Player(0),0,0,10,"NoIf")
if GetUnitTypeId(u1) == 'Hpal' and GetUnitAbilityLevel(u1,'A000') > 0 then
SetUnitState(u1,mana,GetUnitState(u1,maxmana)+GetUnitState(u1,maxmana)*RMaxBJ(0,5)*0.01)
DisplayTimedTextToPlayer(Player(0),0,0,10,"Damaged")
end
if GetUnitTypeId(u2) == 'Hpal' and GetUnitAbilityLevel(u2,'A000') > 0 then
SetUnitState(u2,mana,GetUnitState(u2,mana)-GetUnitState(u2,mana)*RMaxBJ(0,5)*0.01)
BlzSetEventDamage(GetUnitState(u2,mana)*RMaxBJ(0,5)*0.01+BlzGetEventDamage())
DisplayTimedTextToPlayer(Player(0),0,0,10,"Damaging")
end
end
function filterbool()
return GetUnitTypeId(BlzGetEventDamageTarget()) == 'Hpal' and GetUnitAbilityLevel(BlzGetEventDamageTarget(),'A000') > 0 
end
local t1 = CreateTrigger()
local cot2 = Adrenalindamaging
local evenk = EVENT_PLAYER_UNIT_DAMAGING
local p0 = Player(0)
local p1 = Player(1)
local p2 = Player(2)
local p3 = Player(3)
local p4 = Player(4)
local filterdamaging = Condition(filterbool)
TriggerRegisterPlayerUnitEvent(t1,p0,evenk,filterdamaging)
TriggerRegisterPlayerUnitEvent(t1,p1,evenk,filterdamaging)
TriggerRegisterPlayerUnitEvent(t1,p2,evenk,filterdamaging)
TriggerRegisterPlayerUnitEvent(t1,p3,evenk,filterdamaging)
TriggerRegisterPlayerUnitEvent(t1,p4,evenk,filterdamaging)
TriggerAddAction(t1,cot2)
end
end

Lua в отличии от жасса не умеет самостоятельно конвертировать строковые равкоды в числа - 'Hpal' для луа это не айди паладина, а ничего не значащая строка в четыре символа.
Используй FourCC('Hpal') чтобы получить число из равкода.
`
ОЖИДАНИЕ РЕКЛАМЫ...
9
У тебя просто каша какая-то, скажи что делает скилл.
24
Lua в отличии от жасса не умеет самостоятельно конвертировать строковые равкоды в числа - 'Hpal' для луа это не айди паладина, а ничего не значащая строка в четыре символа.
Используй FourCC('Hpal') чтобы получить число из равкода.
Принятый ответ
7
noyl:
У тебя просто каша какая-то, скажи что делает скилл.
Адреналин (пассивная) Расположение X 2 Y 1
Воитель не использует ману для способностей, вместо неё у него есть отдельный ресурс Адреналин, он показан в мпбаре.
Механика: его мп постоянно снижается на 2% от макс значения в секунду. Каждый раз, когда Воитель получает урон, он получает 5% от макс значения мп. Каждая атака воителя снижает его мп на 5% от ТЕКУЩЕГО значения, переводя эти 5% в дополнительный урон от атаки. Кроме того боевые способности так же расходуют этот ресурс для нанесения дополнительного урона.

      if GetUnitState(u,life) > 0.405 and GetUnitTypeId(u) == FourCC('Hpal') and GetUnitAbilityLevel(u,FourCC('A000')) > 0  then -- условия для перебора
работает спасибо
Чтобы оставить комментарий, пожалуйста, войдите на сайт.