function AdrenalinSeconds()
local group g = CreateGroup()
local rect r = Rect(-608.0, -928.0, -256.0, -608.0)
DisplayTimedTextToPlayer(Player(0),0,0,10.00,"seconds")
local boolexpr filterr = Condition(unittypeadrenalin)
local code cot1 = adrenalinremovemana
GroupEnumUnitsInRect(g, r, filterr)
ForGroup(g,cot1)
end
function unittypeadrenalin()
return GetUnitTypeId(GetFilterUnit()) == 'Hpal' and GetUnitAbilityLevel(GetFilterUnit(),'A000') > 0
end
function adrenalinremovemana()
DisplayTimedTextToPlayer(Player(0),0,0,10.00,"group")
local unit u = GetEnumUnit()
local unitstate mana = UNIT_STATE_MANA
local unitstate maxmana = UNIT_STATE_MAX_MANA
SetUnitState(u,mana,GetUnitState(u,maxmana)-GetUnitState(u,maxmana)*RMaxBJ(0,2)*0.01)
end
local trigger t = CreateTrigger()
local code cot = AdrenalinSeconds
TriggerRegisterTimerEvent(t,1.00,true)
TriggerAddAction(t, cot)
Крч ребята когда ставлю вместо булекспра nil то все работает но если ставлю boolexpr то все рушится куда я ее только не передвигал

ScorpioT1000:
да, триггер в main создается? если нет, то предлагаю
вместо
local t = CreateTrigger()
обявить уникально глобальное имя типа
triggerSpellAdrenalin = CreateTrigger()
пробовал как и в .wct так и в .j один и тот же результат

сделал глобальной тот же результат

крч ребята я не понял но эт сработало InitGlobals мешает как то... что ли, стало работать
do
  local f = InitGlobals -- записываем InitGlobals в переменную
  function InitGlobals() -- заменяем оригинальную InitGlobals своей
       f() -- вызываем оригинальную InitGlobals из переменной
       InitMyTrigger()
  end

end
function InitMyTrigger()
function adrenalinremovemana()
DisplayTimedTextToPlayer(Player(0),0,0,10,"group")
local u = GetEnumUnit()
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
function Condition(unittypeadrenalin)
return GetUnitTypeId(GetFilterUnit()) == 'Hpal' and GetUnitAbilityLevel(GetFilterUnit(),'A000') > 0
end
function AdrenalinSeconds()
DisplayTimedTextToPlayer(Player(0),0,0,10,"seconds")
local r = Rect(-544.0, -864.0, -320.0, -640.0)
local filterr = unittypeadrenalin
local cot1 = adrenalinremovemana
local g = CreateGroup()
GroupEnumUnitsInRect(g, r, filterr)
ForGroup(g,cot1)
end
local t = CreateTrigger()
local cot = AdrenalinSeconds
TriggerRegisterTimerEvent(t,1.00,true)
TriggerAddAction(t, cot)
end

крч вывод ифы и булеаны нигде не работают а без них все прекрасно рабоатет
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
38
Странно, что вообще что-то работает, ведь ты пишешь не на lua :)
7
ScorpioT1000:
Странно, что вообще что-то работает, ведь ты пишешь не на lua :)
это луа но с API варкрафта) без обнулении
38
луа - нетипизированный язык, объявления будут типа
local g = CreateGroup()
все эти @param - только для подсказок в IDE типа VS Code
-- Copy vector from Unit X/Y/Z
-- @param u Unit
function copyFromUnit (self, u)
...
7
решил вот так
function Condition(unittypeadrenalin)
return GetUnitTypeId(GetFilterUnit()) == 'Hpal' and GetUnitAbilityLevel(GetFilterUnit(),'A000') > 0
end
function adrenalinremovemana()
local unit u = GetEnumUnit()
local unitstate mana = UNIT_STATE_MANA
local unitstate maxmana = UNIT_STATE_MAX_MANA
DisplayTimedTextToPlayer(Player(0),0,0,10.00,"group")
SetUnitState(u,mana,GetUnitState(u,mana)-GetUnitState(u,maxmana)*RMaxBJ(0,2)*0.01)
end
function AdrenalinSeconds()
local group g = CreateGroup()
local rect r = Rect(-608.0, -928.0, -256.0, -608.0)
DisplayTimedTextToPlayer(Player(0),0,0,10.00,"seconds")
local boolexpr filterr = unittypeadrenalin
local code cot1 = adrenalinremovemana
GroupEnumUnitsInRect(g, r, filterr)
ForGroup(g,cot1)
end
local trigger t = CreateTrigger()
local code cot = AdrenalinSeconds
TriggerRegisterTimerEvent(t,1.00,true)
TriggerAddAction(t, cot)
38
И правда компилится, но ты допускаешь грубейшие ошибки.
Я проверил
function f()
  local wtf x = 'test'
  print(x)
end

f()
print(x) -- выводится 'test'
Ты объявляешь локалку и глобалку, следующие строки эквивалентны:
local group g = CreateGroup()
и
local group 
g = CreateGroup()

Все твои имена будут светиться и меняться с каждым вызовом извне
7
ScorpioT1000:
И правда компилится, но ты допускаешь грубейшие ошибки.
Я проверил
function f()
  local wtf x = 'test'
  print(x)
end

f()
print(x) -- выводится 'test'
Ты объявляешь локалку и глобалку, следующие строки эквивалентны:
local group g = CreateGroup()
и
local group 
g = CreateGroup()

Все твои имена будут светиться и меняться с каждым вызовом извне
у меня он поработал 10-15 сек потом офнулся
что мне сделать чтобы он не выключался

ScorpioT1000:
луа - нетипизированный язык, объявления будут типа
local g = CreateGroup()
все эти @param - только для подсказок в IDE типа VS Code
-- Copy vector from Unit X/Y/Z
-- @param u Unit
function copyFromUnit (self, u)
...
сделал вместо local group g = CreateGroup() > local g = CreateGroup() теперь проверяю все равно выключился

и как мне писать теперь если локальная сразу равно глобальной
38
сделал вместо local group g = CreateGroup() > local g = CreateGroup() теперь проверяю все равно выключился
Во всём коде? Это именно везде так надо делать

в jass local тип имя =
в lua local имя =
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.