Tumble files around a bit
This commit is contained in:
3
WeakAuras/Projects/BattlePassTimer/duration.lua
Normal file
3
WeakAuras/Projects/BattlePassTimer/duration.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
function()
|
||||
return BattlepassInfo.currentDayOnlineTimeMinutes, 120, 1
|
||||
end
|
||||
6
WeakAuras/Projects/BattlePassTimer/event.lua
Normal file
6
WeakAuras/Projects/BattlePassTimer/event.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
-- CHAT_MSG_ADDON
|
||||
function(e, opcode, msg)
|
||||
if opcode ~= "UISMSG_TO_CLIENT" then return end
|
||||
BattlepassInfo.ParseApi(msg)
|
||||
return BattlepassInfo.dayRewardComplete == 0
|
||||
end
|
||||
4
WeakAuras/Projects/BattlePassTimer/event2.lua
Normal file
4
WeakAuras/Projects/BattlePassTimer/event2.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
--- TICKER_10000
|
||||
function()
|
||||
BattlepassInfo()
|
||||
end
|
||||
1
WeakAuras/Projects/BattlePassTimer/export
Normal file
1
WeakAuras/Projects/BattlePassTimer/export
Normal file
@@ -0,0 +1 @@
|
||||
!TVrd3jUnY)lCV82WRjCaHKSTVB7RaXzdPjqUyNnnnPye2cWfJf1FKp2R1)2VzKKn2gBGK29U9EhB2qSLgnAKMp0Ozg6xRVwFvc8HFFvV(Q1Ru7Okh0xDwFvt8)qNdjgtnDzZBZSzUqdDRX)FD(NhW)Sr)UvRCiIIHmxtQBl5q6R2Y26ZFM4AgoqJXS9TGM8mi2uCysG7pSV6l9gnYJ6dOPVQlDSfZr7L50(QJDzbZJau16ZuCELVMKEQYPNQC6PkNEQHuJpZ4rQRhGU(DpU6bvbStm8Hx9WfMNpX1xSYTCSKpncE0Bc)zebUwJhdyqmnAXnWFKtHKaxcGQGH0hPo(QbJgz9CFv92nv10v1AEnaiVN(QNrj2(twa7vUuoSQxPCXfqZZP22Dm9eKXqarQtyp1Zb6H)3MaH)imHoKzujqbivRo3M8cqrQMuCqI9TZuU4QtV5cbqlOz(AIWrKMOXlzMu5MfjWFcZT38O9NyUzeVPrudkMJH5q93ciU0WbNgyBho42jw(qJEu7rxXSW1BREAA9U8cLtHTalqy6klNPVO3I47BtNt88ch8rb3L4yatSCuTv6QPCnWhCH1jSDt8jCzfbqNITkwIQTVwrPlS(qC)ERt)5X0Ng)Zu7iISJdNOHH(CcHlyoOUoe7pfjwu)ie3wZi4YoPuHK)6WCGpnbUmcGUOrpQbZbyva9oJy5S5qhlDTzWdJaF0kblXMr4ALwocDd4XzbGIvm3ffa5ciPB3hu6C8xQzqQZyPgnSb2ZsTAAbO2aA5LL6YLyqxQXapQUatGcUlZMwanDWsTp)X5fqUJeQVfGP65Vs0joM65Uq9qlkzAuSNpYACmoIv(zb(2widR3nAx0PRcU9rCNkeV(jU8vokrMwEOkQg9z4LDmaeg45ZMjEFuGdFfTB5WZDP(bUoHdwOI00WGb6VDCgXcpN6yMWq5(cRz5P6WjQRz(crAKQwmJ3m3KG6PbY)c0ldL9nU1Yeno1eEViJKjmngzWu1KPlqoYKLpPAnkCGdZhmkqjtBcc3EQKhPMvA)Yus4a)juNc66dHd(x)r4ayLgE(QqsLlyJTC4BlfJUKaLeXHNRXmjVWBe3e2T0o3T)oZ2FhZsL30P9Eok(LnA2JH91V6Kd9(BGD7UGLVDljm2xQC0uFE4aXpVD8GK1c8e9dZbf11SMr74CPLtGp1JdA19wgwqldGZCP()dUqlUJBZGd9dhm2LsD4NBZHT0VBmAu1Q4VLIHXHLeaxOJKAb8wxaCK6t4aHGDcqrnQicrcnOGfXfI7AeovgtiU7foWIpdwa2MtSC92Dt2tldcrSL3sq(lIUkl2BGjUwwU2s7KaHWjrp4qBNXvaQd0objuVDGT)Dm3XR0Ej3g3lfTxjhM2EX7OLxEAP2E03cXGKsP1p35nJC5Hmnc8L7)BCMZ3a7rcrs(KFEUdlR8GpzOnTcy02aOoanafv6bhuzwk9T)(HdUVA9V7GJdhC1La(BzhqNJgibeKt35Su(qT6GKDEalzWFOwU9QoJz)FMzsBILHXRCQo84vptvf7E7)dWjkKziJEEGFK8qQEmP2wZa87MU3OJ04SO)HONVp8C0PzDQZJvaNxTe6KXheYNJ9sGXxHEmmbc9xPe7yqE1ysmklT79H)rPWbvQKIGXxl9lFt5sfOllKVSa)jDJKVa8xUaPZOLmsKlea3)h4UIK8WDXP6yxJSO2GfINO0PG2AWSHavLSJXu)RPpLBxGjiOl4cwTzZMBt9P5cLnZZ)e8iVC6Za6l)ocCDbNQGX1lw0j(KGngEBBlP)SlguM9GmNab3tyCZ5wPLkYXuIkS5200K5Cj1ZJmMU77UPZLQFuxRNUQY1Fs563HSCrBFurtVxx0NnToxQOFsZ7KIbLEWhnK9UBpRdCpm(qIpK8DIdjFx50S6ehWDfX1JUeToZBCoKRu2DoC1yQV4S00Qb44qk(7kvo)ZtKd9E0cz4V)b(ItfxDkFst)wfLFuhxCLICkjsqukdMfJPzcvwp3dT0YeSWDJiL6)s51IzHyDEJ(a80t0K)AXrKgqEyPXgqd5OMKhQoCdqvSUuEi4OnabcfU8g9XBYOxLwjGuWI3KkJSzm3DF1C4)E4GJQc)RCEYlVvhmRuKNKzTeMDcx5s9VoYlPZRRvQ5881m3aPn01yqJh0fFvC0Vh9ASE1153yguEcRnUQYZQz0pT1X5XTsZr(Gey1k13B1wBxZmknAVQrc2Hk0HWLAELUZN2iSCX(x65fO10lUt)ALBXJoE7NveEo4IcCF9zuWVm0nImkL7L6KpDD4ic78KeLBV7Lewlht6Z5aCkG8zs3Xw3UZkCTkLlwtbs(XKxsk9KxGluRWvQPYn3Vd(v8yenV7JLFf3GyHFM5EvG0mfUfU3W6bv2XG0bKMqNUKWeEPIuqtJT7NkUCt1m0d)J0GURWim33CU8nNj6YnRa2fEI5of(ZiWEHaMwOJ5aneoyiERntg3lnmcdtSmPO7)g0eJNh5wPPV1hQBmuEe7NiVamMaA)wlczzF1APcjTieq64CcyGJDzOo9anGaV1eQC(en0J5oKhy6wXbpV9IWGYbIh67wXZNykKWg4iFGWdMv6aRNoM5CabuQ1P9pQCTEn80V8JKErHT38fy1BzCs0(XWCJ5UPL3VYv(Wi4tCEP4OWBbcV6gRmvlc4Ylq2GuH5TUK59vVn(jE0afr3RBTQy6CsM5KtFFJJp(GJAuTAJghvVwTJ6pA)dBKiBkjMstQhWcDX4goC5atpIHB5kpp3fmVcIkPco6D8WqcBHxZtUJCitOwJN4dtgUPhfyBK7gfC7wIx5HPT1Rky1jcpUh8SnkacR6Kb9nQDrm4ZecyoT3Ygum58g1MNCcNwAA(RGeh1KAEj5zCBax2Yet1itOxLJ8gTEPcPSaO2RNfVbsbpj4RFlUbMM6SC4HDprU08fbCoBEvqDKws5opUA71D(4zAsY8mlttkOL3v5tXHwgJJCGlayhugCeXG(qBINpSD2I4(WnD2FXB7RIdicxs29bvfedhhk2pEthmImehaoK8TgbYoI0g9zgBMqYHJMH5MrV8YTK0XHu5JsGsI98jRjJs4wbox8mlD(WFRND1HTugFmkvHtox8poPs7F4Xh2xL5Ab2gKMepR31D(5ED1AEbg08NPMs1V6Iq2NxYMkifqjttuIKnTzqViztBe8(Iu9I6noMRm5QNE07BCyJJR1491(261o8aUrJd4OOlphmzT586ttY8eP6OXRithfQaMFIo(ZUG3GeehLuKvEUxEhBM3rBBwQKfJm(ij1887B5KnTUlJSh)Mi7XVUopxurhE2(SMA6OxZGrYEDZEGB06N7itkibpWIimkGw2CdGFbpKo(jOlxIUYe1dWV92x0bKekiIhfCrfziBYeLMc2ok8MCcx2wv24Z4xqRnob9cvO3MC0xvYh56gv(ECLEVlpj)L9ZkHKfiALeFjeSkxKGWULLuzoQE)x0dUeNxfzKB5So)xLlClD2KWhUtDT(C4G)zaXe9sa2A1wNVCstFXfedqG6WVleMbJ66EtiMSN(PiR61IVyqWqHRjCO8JT)ZFDd2h5WTS3NjMZnPsHwa9DXNSxlQ9fmfXHjU4bmuXrvD7HSKyIqiURDgiogZV4DM6aSoD7ccRsps4DCxIIuHdFSRqrYbXtHWDZdIpu8NYo0hT8SG7bd2CqVTEBma))FGbi909lmhObVk64fLKolBTujjlUsDcgIS04IaYy9BGsixmZrTqlUATKqWVreGi)LUu2kRwUef)rRTf)X2I)4lsXFKFXqTTmq2wgiflzSTGq2wqiBliKTfeY2cczBbHSTGq2wqiBliKTfeYxdfeYsIMvuniok8iIUBPRUO5D6Q9UP7jislTi5ApOIjOW7HhGRWBmTcB84sfSAApH4hTykDNIIchtsYdF2XYojrgl1VTQv2w1k)VxvRK5lRzoF14YM7)KvtqMcn4vuCbFPQGGA1ZVeo(cv8af)vQCnvsGme)jtMEMe3VC1eKxw6)Yxpbrv3Wgvib5vWdFn)vdnBPCKSyqs(DELxhdkg1F69gx2z6NDsvhdfw4czRVNL)oekZmNSCj4K0JaH0OokD1)Fp
|
||||
109
WeakAuras/Projects/BattlePassTimer/init.lua
Normal file
109
WeakAuras/Projects/BattlePassTimer/init.lua
Normal file
@@ -0,0 +1,109 @@
|
||||
if not WeakAurasSaved.Cyka then WeakAurasSaved.Cyka = {} end
|
||||
if not WeakAurasSaved.Cyka.LoginInfo then WeakAurasSaved.Cyka.LoginInfo = {} end
|
||||
|
||||
Today = date("%Y-%m-%d")
|
||||
if not WeakAurasSaved.Cyka.LoginInfo[Today] then WeakAurasSaved.Cyka.LoginInfo[Today] = {} end
|
||||
if not WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")] then
|
||||
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")] = {
|
||||
onlineTimeInMinutes = 0,
|
||||
claimed = 0,
|
||||
}
|
||||
end
|
||||
|
||||
local greenColor = "|cff00ff00"
|
||||
local noColor = "|r"
|
||||
BattlepassAccountInfo = ""
|
||||
local function UpdateAccountInfo()
|
||||
local ret = {}
|
||||
for char, info in pairs(WeakAurasSaved.Cyka.LoginInfo[Today]) do
|
||||
if info.claimed == 1 then
|
||||
char = string.format("%s%s %d%s", greenColor, char, info.onlineTimeInMinutes, noColor)
|
||||
else
|
||||
char = string.format("%s %d", char, info.onlineTimeInMinutes)
|
||||
end
|
||||
ret[#ret + 1] = char
|
||||
end
|
||||
BattlepassAccountInfo = table.concat(ret, "\n")
|
||||
end
|
||||
|
||||
-- [02:37 PM] Bluepotato
|
||||
-- [02:37 PM] onlineTimeInMinutes=120,
|
||||
-- [02:37 PM] claimed=1
|
||||
-- [02:37 PM] Smolpotato
|
||||
-- [02:37 PM] onlineTimeInMinutes=120,
|
||||
-- [02:37 PM] claimed=1
|
||||
-- [02:37 PM] Thiccpotato
|
||||
-- [02:37 PM] onlineTimeInMinutes=57,
|
||||
-- [02:37 PM] claimed=0
|
||||
|
||||
---@param input string
|
||||
---@param deliminer string
|
||||
---@return table<string>
|
||||
aura_env.Split = function(input, deliminer)
|
||||
local ret = {}
|
||||
for str in string.gmatch(input, "([^" .. deliminer .. "]+)") do
|
||||
table.insert(ret, str)
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
---@class BattlepassInfo
|
||||
---@field week number
|
||||
---@field getRew number
|
||||
---@field dayRewardComplete number
|
||||
---@field lostDay number
|
||||
---@field cost number
|
||||
---@field currentDayOnlineTimeMinutes number
|
||||
---@field currentDayOnlineTimeMilliseconds number
|
||||
BattlepassInfo = {
|
||||
PingApi = function()
|
||||
SendAddonMessage("UIMSG_TO_SERVER", "UIMSG_GET_ONLINETIME_DAY" .. "\t", "WHISPER", UnitName("player"))
|
||||
end,
|
||||
ParseApi = function(msg)
|
||||
local packets = aura_env.Split(msg, ":")
|
||||
if packets[1] ~= "UISMSG_EVT_WEEK_TIME" then return end
|
||||
|
||||
BattlepassInfo.currentDayOnlineTimeMilliseconds = tonumber(packets[2])
|
||||
BattlepassInfo.week = tonumber(packets[3]) + 1
|
||||
BattlepassInfo.getRew = tonumber(packets[4])
|
||||
BattlepassInfo.dayRewardComplete = tonumber(packets[5])
|
||||
BattlepassInfo.lostDay = tonumber(packets[6])
|
||||
BattlepassInfo.cost = tonumber(packets[7])
|
||||
BattlepassInfo.currentDayOnlineTimeMinutes = math.floor(BattlepassInfo.currentDayOnlineTimeMilliseconds / 60000)
|
||||
|
||||
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].onlineTimeInMinutes =
|
||||
BattlepassInfo.currentDayOnlineTimeMinutes
|
||||
WeakAurasSaved.Cyka.LoginInfo[Today][UnitName("player")].claimed = BattlepassInfo.dayRewardComplete
|
||||
|
||||
if BattlepassInfo.dayRewardComplete == 0 and BattlepassInfo.currentDayOnlineTimeMinutes >= 120 then
|
||||
BattlepassInfo.DoClaim()
|
||||
C_Timer.After(0.2, function() BattlepassInfo.PingApi() end)
|
||||
end
|
||||
|
||||
UpdateAccountInfo()
|
||||
end,
|
||||
DoClaim = function()
|
||||
SendAddonMessage("UIMSG_TO_SERVER", "UIMSG_WEEKLY_REW_GET" .. "\t", "WHISPER", UnitName("player"))
|
||||
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
|
||||
SendChatMessage("YEEE", "WHISPER", nil, UnitName("player"))
|
||||
end,
|
||||
}
|
||||
setmetatable(BattlepassInfo, {
|
||||
__call = BattlepassInfo.PingApi,
|
||||
__index = BattlepassInfo,
|
||||
__tostring = function()
|
||||
local ret = {}
|
||||
for k, v in pairs(BattlepassInfo) do
|
||||
table.insert(ret, k .. ": " .. tostring(v))
|
||||
end
|
||||
return table.concat(ret, "\n")
|
||||
end,
|
||||
})
|
||||
|
||||
for k, v in pairs(BattlepassInfo) do
|
||||
if type(v) == "number" then BattlepassInfo[k] = 0 end
|
||||
end
|
||||
BattlepassInfo()
|
||||
|
||||
-- Claiming rewards works fine
|
||||
-- But the bar does not hide once rewards are claimed
|
||||
Reference in New Issue
Block a user