Add account wide battle pass timer
This commit is contained in:
39
FreshShit/BattlePassAccountWideTimer/init.lua
Normal file
39
FreshShit/BattlePassAccountWideTimer/init.lua
Normal file
@@ -0,0 +1,39 @@
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user