Рамусик, попробуй в Execute
PHP код:
local function Execute(target, prefix, ...)
if not IsPlayerGUID(target) then
return
end
local value = ...
if (ATPlayers[target] == nil) then
ATPlayers[target] = CreatePlayer(target)
CreateFrameForPlayer(ATPlayers[target])
ForceUpdate()
end
...
в этой части клиента аддона закрыть доступ к условию if каким нибудь флагом после того как прорисовались фреймы на арене
как это я раньше реализовывал:
PHP код:
if (players[target] == nil and flagtwo == 0) then
players[target] = CreatePlayer(target)
--players[target].unit = target
CreateFrameForPlayer(players[target])
ForceUpdate()
end
где flagtwo у меня переопределялся на следующем OnUpdate для всех фреймов тоесть на следующей секунде фактически
и ForceUpdate я далее вызывал по OnUpdate
PHP код:
local total = 0
local function onUpdate(self,elapsed)
total = total + elapsed
if total >= 2 then
if (flag == 1) then
ForceUpdate()
end
flagtwo = 1
total = 0
end
end
local fram = CreateFrame("frame")
fram:SetScript("OnUpdate", onUpdate)
и там ещё в "глубине кода" было пару переопределений этих флагов для корректной работы.
в итоге всё работало замечательно. ведь можно легко его приписать и к этому аддону.