if WeakAurasSaved.Cyka == nil then WeakAurasSaved.Cyka = {} end if WeakAurasSaved.Cyka.LoginInfo == nil then WeakAurasSaved.Cyka.LoginInfo = {} end Today = date("%Y-%m-%d") if WeakAurasSaved.Cyka.LoginInfo[UnitName("player")] == nil then WeakAurasSaved.Cyka.LoginInfo[UnitName("player")] = {} end if WeakAurasSaved.Cyka.LoginInfo[UnitName("player")][Today] == nil then WeakAurasSaved.Cyka.LoginInfo[UnitName("player")][Today] = {} end ---@param char string ---@return number aura_env.CalculateOnlineTime = function(char) ---@type number local loggedTime = 0 if WeakAurasSaved.Cyka.LoginInfo[char] == nil then return loggedTime end if WeakAurasSaved.Cyka.LoginInfo[char][Today] == nil then return loggedTime end for k, info in pairs(WeakAurasSaved.Cyka.LoginInfo[char][Today]) do if info.LogoutTime ~= nil then loggedTime = loggedTime + (info.LogoutTime - info.LoginTime) else loggedTime = loggedTime + (time() - info.LoginTime) end end return loggedTime end ---@return table #Charname - Timeonline in seconds aura_env.CalculateAllOnlineTime = function() local chars = {} for char, _ in pairs(WeakAurasSaved.Cyka.LoginInfo) do chars[char] = aura_env.CalculateOnlineTime(char) end return chars end