Сделал таймер, который после ожидания приказывает юнитам использовать таунт, но он не работает, почему?
function Trig_Pet_death_1_Func001A takes nothing returns nothing
    call IssueImmediateOrderBJ( GetEnumUnit(), "taunt" )
endfunction

function smert takes nothing returns nothing
    local timer t = GetExpiredTimer()
    call ForGroupBJ( GetUnitsOfPlayerAll(GetOwningPlayer(GetTriggerUnit())), function Trig_Pet_death_1_Func001A )
endfunction

function Trig_Pet_death_1_Actions takes nothing returns nothing
    local timer t = CreateTimer()
    local integer id = GetHandleId(t)
    call TimerStart(t, 1.00, false, function smert)
endfunction

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

вот почему не работает:
function smert takes nothing returns nothing
    local timer t = GetExpiredTimer()
    call ForGroupBJ( GetUnitsOfPlayerAll(GetOwningPlayer(GetTriggerUnit())), function Trig_Pet_death_1_Func001A )
endfunction
Сюда не передан GetTriggerUnit(), его нужно привязать на хендл таймера через хештаблицу
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
32
4 года назад
0
вот почему не работает:
function smert takes nothing returns nothing
    local timer t = GetExpiredTimer()
    call ForGroupBJ( GetUnitsOfPlayerAll(GetOwningPlayer(GetTriggerUnit())), function Trig_Pet_death_1_Func001A )
endfunction
Сюда не передан GetTriggerUnit(), его нужно привязать на хендл таймера через хештаблицу
Принятый ответ
0
37
4 года назад
0
А можно было просто сделать замыкание на lua)
0
32
4 года назад
Отредактирован Берги
0
Вот тоже самое на lua, не планируете перейти?
function Trig_Pet_death_1_Actions()
	local u=GetTriggerUnit()
	TimerStart(CreateTimer(), 1.00, false, function()
		ForGroupBJ( GetUnitsOfPlayerAll(GetOwningPlayer(u)), function()
			IssueImmediateOrderBJ(GetEnumUnit(), "taunt" )
		end)
	end)
end

нет хештаблиц, нет хендлов, нет обнулений, ну я забыл дописать DestroyTimer и сама ForGroupBJ плоха, но не важно
0
2
4 года назад
0
GetTriggerUnit() вернёт null - нужно передать игрока через хэш или указать конкретного.
0
12
4 года назад
0
Bergi_Bear:
Вот тоже самое на lua, не планируете перейти?
function Trig_Pet_death_1_Actions()
	local u=GetTriggerUnit()
	TimerStart(CreateTimer(), 1.00, false, function()
		ForGroupBJ( GetUnitsOfPlayerAll(GetOwningPlayer(u)), function()
			IssueImmediateOrderBJ(GetEnumUnit(), "taunt" )
		end)
	end)
end

нет хештаблиц, нет хендлов, нет обнулений, ну я забыл дописать DestroyTimer и сама ForGroupBJ плоха, но не важно
А где найти туториалы по Луа?
0
32
4 года назад
0
0
32
4 года назад
0
Щяс выяснится что у чувака 1.26..
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.