40 lines
1.2 KiB
Lua
40 lines
1.2 KiB
Lua
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<string, number> #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
|
|
|
|
|