SyncDamage = {}
TimerStart(CreateTimer(), 0.0 ,false, function()
print("Start")
SyncDamage.Trigger = CreateTrigger()
for playerIndex = 0, bj_MAX_PLAYERS - 1 do
BlzTriggerRegisterPlayerSyncEvent(SyncDamage.Trigger, Player(playerIndex) , "BonusDamage", false)
end
TriggerAddAction(SyncDamage.Trigger, function()
SyncDamage[GetTriggerPlayer()] = tonumber(BlzGetTriggerSyncData())
print(GetPlayerName(GetTriggerPlayer()), SyncDamage[GetTriggerPlayer()])
end)
SyncDamage.Timer = CreateTimer()
TimerStart(SyncDamage.Timer, 0.2, true, function()
local totalAttack = BlzFrameGetText(BlzGetFrameByName("InfoPanelIconValue", 0))
if string.find(totalAttack, "|", 1, true) then
local totalAttackReverse = string.reverse(totalAttack)
local index = string.find(totalAttackReverse, "+", 1, true)
if not index then
index = string.find(totalAttackReverse, "-", 1, true)
else
index = index - 1
end
local bonusDamage
if not index then
bonusDamage = "0"
else
bonusDamage = string.sub(totalAttack, -index, -3)
end
--print(not SyncDamage[GetLocalPlayer()] or SyncDamage[GetLocalPlayer()] ~= tonumber(bonusDamage))
if not SyncDamage[GetLocalPlayer()] or SyncDamage[GetLocalPlayer()] ~= tonumber(bonusDamage) then
--print(bonusDamage)
BlzSendSyncData("BonusDamage", bonusDamage)
end
else
--print("no bonus")
if SyncDamage[GetLocalPlayer()] ~= 0 then
BlzSendSyncData("BonusDamage", "0")
end
end
end)
print("Done")
end)