вот код
function move_text takes nothing returns nothing
local unit u
local texttag t
set t = LoadTextTagHandle(udg_hash,1,2)
set u = LoadUnitHandle(udg_hash,1,3)
call SetTextTagPosUnit(t, u, 0)
endfunction
function Actions takes nothing returns nothing
local trigger tr = CreateTrigger()
local unit u
local texttag t
local timer v = CreateTimer()
set udg_hash = InitHashtable()
set u = GetTriggerUnit()
call CreateTextTagUnitBJ( GetUnitName(GetTriggerUnit()), u, 0, 10, 100, 100, 100, 0 )
set t = bj_lastCreatedTextTag
call TriggerRegisterTimerEventPeriodic( tr, 0.05 )
call TriggerAddAction( tr, function move_text)
call SaveTextTagHandle(udg_hash,1,2,t)
call SaveUnitHandle(udg_hash,1,3,u)
call TimerStart(v,.01,true,function move_text)
call TriggerSleepAction(4.)
call TimerStart(v,.01,false,function move_text)
loop
exitwhen udg_i == 40
call DestroyTextTag(t)
set t = null
endloop
call DestroyTimer(v)
set v = null
endfunction
function InitTrig_vvod takes nothing returns nothing
local trigger t = CreateTrigger( )
call TriggerRegisterUnitInRangeSimple( t, 200.00, gg_unit_hkni_0000 )
call TriggerAddAction( t, function Actions )
set t = null
endfunction
В созданном тригере получается что каждые 0.05 сек берутся данные из таблицы и заносятся в переменные и делаются действия
Но мне нужно как то сделать так чтобы новый созданный тригер 1 раз брал данные из таблиц и все как ето сделать?
Поясню чтобы после 1-ого запуска вместо
unction move_text takes nothing returns nothing
local unit u
local texttag t
set t = LoadTextTagHandle(udg_hash,1,2)
set u = LoadUnitHandle(udg_hash,1,3)
call SetTextTagPosUnit(t, u, 0)
endfunction
стало
local unit u
local texttag t
call SetTextTagPosUnit(t, u, 0)
Заранее спасибо