View Single Post
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: 122
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