Thread Tools Display Modes
Prev Previous Post   Next Post Next
02-15-24, 05:41 AM   #1
Hubb777
A Flamescale Wyrmkin
 
Hubb777's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2024
Posts: 134
Timer with an interval of 1 hour and 30 minutes

Hi. I was able to make a timer. But I can't figure out how to make it with an interval of 1 hour and 30 minutes.
Code:
local frame_x = 0      
local frame_y = -200    
f = CreateFrame("Button", "ZAMROTimer", UIParent, "UIDropDownMenuTemplate")
f:SetWidth(255)                                             
f:SetHeight(20)
f.text = f:CreateFontString(nil,"OVERLAY","GameTooltipText")
f.text:SetTextHeight(15)
f.text:SetAllPoints(f)
f:SetClampedToScreen(true)
f:SetPoint("CENTER",UIParent,"CENTER",frame_x,frame_y)
f:EnableMouse(true)
f:SetMovable(true)
f:RegisterForDrag("LeftButton")
f:RegisterForClicks("AnyUp")
f:Show()
f:RegisterEvent("PLAYER_ENTERING_WORLD")
f:SetScript("OnDragStart",function(this) 
this:StartMoving()end)
f:SetScript("OnDragStop",function(this)  
this:StopMovingOrSizing()
frame_x,frame_y = this:GetCenter()
frame_x = frame_x - GetScreenWidth() / 2
frame_y = frame_y - GetScreenHeight() / 2
this:ClearAllPoints()
this:SetPoint("CENTER",UIParent,"CENTER",frame_x,frame_y)
end)
----------------------------------------------------------------
if (not Region) then Region={} end
----------------------------------------------------------------
local w = "|cffffffff"
local o = "|cff00ff00"
----------------------------------------------------------------
local M, H, D, S, ZAM, ZAMROlasts, reg, reg2, info, unkForm, ZAMROUnc, ZAMROlastsUnc
if GetLocale() == "ruRU" then 
M = "м " 
H = "ч "
D = "д "
S = "с"
ZAM = "|cffFFFF33Большое Пиршество: "
ZAMROUnc = ""
ZAMROlastsUnc = ""
reg = ""
reg2 = ""
info = ""
unkForm = ""
relDate = ""
else
M = "m "
H = "h "
D = "d "
S = "s"
ZAM = "|cffFFFF33Community Feast: "
ZAMROUnc = ""
ZAMROlastsUnc = ""
reg = ""
reg2 = ""
info = ""
unkForm = ""
relDate = ""
end
----------------------------------------------------------------
local function ZAMROTimerCOMMAND(msg, editbox)
msg = msg:lower()
if msg == "eu" then
DEFAULT_CHAT_FRAME:AddMessage("|cffff8a00ZAMROTimer|r: "..reg.." |cff00ff00EU |cffdcdcdc(CET)")
Region = {"EU"}
else
DEFAULT_CHAT_FRAME:AddMessage("|cffff8a00ZAMROTimer|r: "..unkForm)
end
end
SlashCmdList["ZAMROTimer"] = ZAMROTimerCOMMAND
----------------------------------------------------------------
local menu = {
    { text = reg2, notCheckable = true, isTitle = true},
    { text = "|cff00ff00EU |cffdcdcdc(CET)", notCheckable = true, func = function() 
        DEFAULT_CHAT_FRAME:AddMessage("|cffff8a00ZAMROTimer|r: "..reg.." |cff00ff00EU |cffdcdcdc(CET)")
        Region = {"EU"} end },
    { text = info, notCheckable = true, func = function() ZAMTimeInfoMSG() end },
}
----------------------------------------------------------------
f:SetScript("OnUpdate",function(this)
local ZAMRO_release = 1707996600
if Region[1] == "EU" 
then
ZAMRO_release = 1707996600
end
----------------------------------------------------------------
local MP_D, MP_Hr, MP_M, MP_S, ZAMROTime_MP

if time() <= ZAMRO_release then
MP_D = floor((ZAMRO_release-time())/86400)
MP_H = floor(((ZAMRO_release-time())-(MP_D*86400))/1440)
MP_M = floor(((ZAMRO_release-time())-((MP_D*86400)+(MP_H*1440)))/60)
MP_S = floor((ZAMRO_release-time())-((MP_D*86400)+(MP_H*1440)+(MP_M*60)))
ZAMROTime_MP = ZAM..o..MP_D..w..D..o..MP_H..w..H..o..MP_M..w..M..o..MP_S..w..S
ZAMROTime_MP_Report = ZAMROUnc..MP_D..D..MP_H..H..MP_M..M..MP_S..S
else
MP_D = floor((time()-ZAMRO_release)/85500)
MP_H = floor(((time()-ZAMRO_release)-(MP_D*85500))/1440)
MP_M = floor(((time()-ZAMRO_release)-((MP_D*85500)+(MP_H*1440)))/60)
MP_S = floor((time()-ZAMRO_release)-((MP_D*85500)+(MP_H*1440)+(MP_M*60)))
ZAMROTime_MP = ZAM..o..MP_D..w..D..o..MP_H..w..H..o..MP_M..w..M..o..MP_S..w..S
ZAMROTime_MP_Report = ZAMROlastsUnc..MP_D..D..MP_H..H..MP_M..M..MP_S..S
end

function ZAMTimeInfoMSG()
DEFAULT_CHAT_FRAME:AddMessage("|cffff8a00ZAMROTimer|r: "..ZAMROTime_MP)
DEFAULT_CHAT_FRAME:AddMessage("|cffff8a00ZAMROTimer|r: "..reg2.." |cff00ff00"..Region[1])    
DEFAULT_CHAT_FRAME:AddMessage("|cffff8a00ZAMROTimer|r: "..relDate.."|cff00ff00"..date("%X %d.%m.%Y",ZAMRO_release))
end
----------------------------------------------------------------
this.text:SetText(ZAMROTime_MP)
end)
----------------------------------------------------------------
f:SetScript("OnClick",function(self,button,down)
if button == "RightButton" then
EasyMenu(menu, f, "cursor", 0,0, "MENU")
end
if ((button == "LeftButton") and (IsAltKeyDown() or IsControlKeyDown() or IsShiftKeyDown())) then 
 if ChatEdit_GetActiveWindow() then ChatEdit_GetActiveWindow():Insert(ZAMROTime_MP_Report) end end 
end)

f:Click("RightButton")
  Reply With Quote
 

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » Timer with an interval of 1 hour and 30 minutes


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off