Add afk and battlepass timer for easier battle pass experience

This commit is contained in:
2024-03-23 01:07:50 +01:00
parent f161030237
commit 1fb30875a9
10 changed files with 68 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
-- CHAT_MSG_SYSTEM
function(e, msg)
if msg == nil then return false end
if string.find(msg, "You are now Away") then
aura_env.KickTime = GetTime() + 25 * 60
aura_env.AfkSince = GetTime()
return true
end
if string.find(msg, "You are no longer Away") then
aura_env.KickTime = 0
aura_env.AfkSince = 0
return false
end
end

View File

@@ -0,0 +1,8 @@
-- TICKER_500
function(e)
local timeToKick = aura_env.KickTime - GetTime()
if timeToKick > 0 and timeToKick < 60 then
WeakAuras.ScanEvents("PLAY_SOUND", "Interface\\Sounds\\quack.ogg")
end
return timeToKick > 0
end

View File

@@ -0,0 +1,4 @@
-- TICKER_500
function(e)
return math.floor(GetTime() - aura_env.AfkSince), math.floor(aura_env.KickTime - aura_env.AfkSince), 1
end

View File

@@ -0,0 +1 @@
!DFvBVPnsq4)lr6KsURGWaH0kD9KietHwceX60goHmEXEnSxm7s9UMK0p4F73SVySjnPnnF4(Wjsm2dZm7SZ(mpZyFhFpF0gFuK6p4wXwC6TFHgjx7p2PH95jXXcI8g)XGG7npOV)Hk3JzHR5PxXPmPpQN7yp3PwRNYLyjLZ0QDGKl5reFu3R9M4JwIdVDvkpJf1JNWtHyzSJYIXn1xBPV22VFN32(02N50(ToVRPZPT64hx70w(WAktPRwrsfgl92lqF7dBHfkmti5WEvKTKSJWKOS4y69(Of96I8wG86ofunkl1eTiNtBabSwtF0acobYj7T9QuI2w0vUJgv46fRPQnKKUHezTuajJbD9wCj6dlqZqEUxQYbKKKHrQivwgv1QLh8ivZ)yCglufnhtEtEWgXQtY)yEG5dnwljp49VppGrtYdKRjS8GuImlf(ogNii5bew0H2iG8cBv9ykl6yWEWVhnJNLhGtbTz87Yd6Eh(HJoX6V92w8bdjOfe2U6FIgERhSvHiip4deP6(JbZ(J8GMNMh875bDA8dmVB8Tikl8XM)DguSFKPzKYF9xDBLhKWzaA41T7EX7JgpF8BopoCdax2JDmyulCJH3qS4JmgfUUnb)aGLrrKLaQ1tR7a3rx1)6rgLkr7s4du18QRa(vq8xSVArbF9g27tUtxa1nvrUvotlYfBWY11Jt480JRaCQ9ez1tEZbA)ehppNvo20BrzyzW90P8Q1H)0nscpeRQ4GiWJRIf9P)thDpb2wbyRA7FPqobyasCG4)uxc9mi1VqW32fwqrDuiM5Q3LhF0vJ6oBbAY1JV4ivjWqMKKgJdjZNJuCRI5Z)AgW0wNVA1rN8mLt7R4ECeEaE1W1zZApbeefrf)Jo3TJOAp8aCr)GNrnn5pGtbnPHC2IWk0(oAAFhnTVJI2hUQ0tTBy4Kpd086gkn7a4tss8JA7SeN2778MUjs)ZENtZMn60UrBNoT70OTQ9rNYviIiWsfMM4Vek6s5Rsjcba9dPIdAHz68nZiiB5uYk4NR07rJSu4biwwa)xwtsUxUqSghXV7MI2NofgaEs97wTm3(BBTp(csqA9I5QCH79BvHoq2DWA(dBUwXjgTNveH1CkKxMTn9T1s3bzNLje)ZRecgokVbqP0KR9gnCSR9hpysHHJhdfAJC77vmcXSkdvO1)Faign(HYJ3u14depD2z8eLFnwEZJTufgi63uWSgQdGwVUda5))paMo8dd(V4eODzXbKQxYtJun1mFBJlD57EzCRdBVxs4ppbA1SssXkHeTcwzeqbQMkOFwcWH)L1uOAVqdHoyBByWwtORwRGhQEgjCSDczsOEO5SejTGRlmbleFNuTZEKqPLa58eGm1oa8fxa0Ncs3ivIMerIUeFVI)XKq6Ncddyomr9M66og8WgoxU(kl9KAdEO5uMY8unPKxvQidxR23zsW3t2kT8wf0WcnTUfpOJu1XCwkiSSzspmaiyRohNo)6H1kFQgszG1o1QOVzGnn2YIk0oZnz31dZdopbZadYOqJf6S2dyNkV52EF1h9no0wr)IfzsUgxZd3vW7FwJwnkyIhqJIiWaiJD)8(x5O3pVsnwLvHjKWsSU()oZ78CMYV4KTRnsHmsmDLn9WuRVUXGkA72)tQ26qkLNsHMV25Ggmz6W)EYyVUJ0whrRKGXm6gJAQCReNkllhyCgP8TpSJMiikxiu2UbtzVCTHXGPI1Vy9LMEZMaDFKP3ZuDmgXxy70FE5Ksp7SYpZSXhgyc18ivbvDJIMWeZ3pxZ8ljruCXClNZVhWyDtjmSwIAcMQX1s9dgNUCFLMpQzDNo1B5J2bNNTBQo69)3p

View File

@@ -0,0 +1,2 @@
aura_env.KickTime = 0
aura_env.AfkSince = 0

View File

@@ -0,0 +1,16 @@
-- PLAYER_ENTERING_WORLD PLAYER_LEAVING_WORLD
function(e)
if WeakAurasSaved.Cyka.LoginInfo[UnitName("player")] == nil then WeakAurasSaved.Cyka.LoginInfo[UnitName("player")] = {} end
local index = #WeakAurasSaved.Cyka.LoginInfo[UnitName("player")]
if e == "PLAYER_ENTERING_WORLD" then
WeakAurasSaved.Cyka.LoginInfo[UnitName("player")][index + 1] = {LoginTime = GetTime()}
if WeakAurasSaved.Cyka.LoginInfo[UnitName("player")][index] ~= nil then
WeakAurasSaved.Cyka.LoginInfo[UnitName("player")][index].LogoutTime = GetTime()
end
elseif e == "PLAYER_LEAVING_WORLD" then
WeakAurasSaved.Cyka.LoginInfo[UnitName("player")][index].LogoutTime = GetTime()
end
end
--/run WeakAuras.ScanEvents("PLAYER_ENTERING_WORLD")

View File

@@ -0,0 +1,4 @@
-- TICKER_1000
function(e)
return true
end

View File

@@ -0,0 +1,4 @@
-- TICKER_1000
function(e)
return math.floor(aura_env.CalculateOnlineTime()), 7200, 1
end

View File

@@ -0,0 +1 @@
!DFvB3PTnu4)lzNDoWzJmmqs6(q)aH4uiJAYb700U2AqyldQXiXKLjq3Q)TVREXVqiTLKTZ(WoKawYxDFtspp3RVLVNV7sF3q5FWJjRq87ULekw47y10mEuuucw8wFhycuQybJpALGWOjWke(UB1V335KMsbObGaxZiu4v9SD8ShBuZyMajxMsp7mZRzHyF3U34nY3Dgk4U5CwknShlMXbt4yjxHtl13TvF3X)YtFrNt6CMvNxy9RTSoP9P(rnoPT0DeCY85yEIELEftOEC7kWqbPjcge0jPZWRXuHBAuezJV7KEDD9M461DSxUqtwqKUMGSeltrPCDe4A57QwkeIlqISPVgNKGMJl151CSsNUxBpCyPjB0iB61d7(o7XtuPMboVAYTJgp8IIPhA39nLZEvuknqAYA46zxLnv)HeLn9wm6UUG)K4IwJdpU327qhpKnNqhqJyV)gkr4GwIRD0Qy0wm)O6FmB6lFz2ukjoBQybM(80q20)8lztX0WsNjMfGaDsOH4nkj(HNUIVA3ydR91JE0m1rg)Vyf5FEYM99gF(NYMAzcoL8EWUTA4RWc5Z1Q)L9T2ZApqBrWwz)1o7f7P9)HX0hLcXsf7hj7BQD2mXXj4hzhyNdL)BVbCioRYj1E6vnA8l80QNFp2narTL36sQ9voZuxI4GJJheAaTuxst8DFcxglWe0OiM7)PuZdgmckeIgBKcrSVRoAbWd8maNXtT2(2dV(YBgQfQeFsaFaCUNnMLXt6JrXaa(3gl6IcSmjMK3GE)geVwnB28RG5WXIuoK1xIelookMX41qGkMGPRpUhkoingjWJOXekwV5v)NZMEwRMnHFSu7DLj9kw7XtQvHlpCxtWtXglTd6TrBpsY2nKK8jLkxJLuxBHVud80IPiMGDeqssaJojOcLKLIsYsrjzjPKGVLYrfyoff)gGcsr216uPMjl1zBjhRaXfL7SugfxsTyYdjyWCWzvqHlre6HlDeHsswCWYlKeU8kmTx(IoNDw7t70SzNoN2YcQba4v7uH9TsOgItqcPMX(Z2PuH3PP4tNngp3uNGHkwzE55gWQtG)lpWJ3iMKSafYU)T51tyLVaqtY3BKs)4pUYm8a2tuYfXKNSS3SIdC13J2UJn)M1AurjAPFxUh2WkFECCKPMhDzmfM0L8z5rOMMPwtsiZIX(NBgVt5sdCCuGox6LxhvHLYx)NGZYKOTLLwXL1qH9u5eNro25R8TpCLsNrJ(41hUsn6gVHdaXfY48zTbi()6gW4bVQ))T7aDkVCaP6zmEOKXq)RXdvxulMlrfuDkgh89tFgjRe)MzWHYcxD)Jueh4FVmngQk52fe4wDUemtG0rJySatMVqvVVVBmdPACinbdoXYziHglahO6SinwqYXAdIrjj7nRksEWKcdAY5XayUP5GlUqzKUHY8poeh(A0gPP0zNl5aTRo362BSTTZdfgWqbH5k8iVQOqAK9cam52ykhE9ajoEeka)HEiydNo)Ce)d3mOr5OgUYfyygsumnMtoBQSZR0AH67BsDTnNjuMYoE9ndYMEEmIENrUEF)7uFMbCAMwYyQJZSG15KoN1STKBLauHNJeIy81qUxYldXBQCw2fC2O6O7T3mhinKzpOMdKaPU0FVUbqD)CXRwONfcZiYCDPneQ0uL4(9jHHyOwch73iVsW4eGh3uFr)rJh87JC86ouPJqsLEhrb5dkOfvANOiidztmC3NxwtWxPW7dP9MDBG57wb)tRJPh0D0vFRQJuYwult99AMsKltZYxfX4ztV7NLDAjngb8hYkeHNu7jx3D9SPHShVLgPY3PE8dTtLcxw)a0tvT90vJs9R7Y6XAhb6a5jzLYUfom9Vt7ovhuugPu1QYiRwpLgvQKLXG(lN03T1XwNECBF31WfLoTKxp9)7p

View File

@@ -0,0 +1,14 @@
if WeakAurasSaved.Cyka == nil then WeakAurasSaved.Cyka = {} end
if WeakAurasSaved.Cyka.LoginInfo == nil then WeakAurasSaved.Cyka.LoginInfo = {} end
aura_env.CalculateOnlineTime = function()
local time = 0
for k, info in ipairs(WeakAurasSaved.Cyka.LoginInfo[UnitName("player")]) do
if info.LogoutTime ~= nil then
time = time + (info.LogoutTime - info.LoginTime)
else
time = time + (GetTime() - info.LoginTime)
end
end
return time
end