-- Craft Research Timer (CRT) by @aTo (EU) -- v0.4.8 function CRT.CRAFT_Create() if (CRT.SV.Settings.mode == "Icon") then CRT.mode_width = CRT.SV.Settings.icon_width CRT.mode_height = CRT.SV.Settings.icon_height CRT.vertical_move = 30 elseif (CRT.SV.Settings.mode == "Text") then CRT.mode_width = CRT.SV.Settings.text_width CRT.mode_height = CRT.SV.Settings.text_height CRT.vertical_move = 0 end --- MAIN WINDOW --- local scale = {} scale[0] = CRT.SV.Settings.BS.Scale scale[1] = CRT.SV.Settings.CL.Scale scale[2] = CRT.SV.Settings.WO.Scale local alpha = {} alpha[0] = CRT.SV.Settings.BS.BackdropAlpha alpha[1] = CRT.SV.Settings.CL.BackdropAlpha alpha[2] = CRT.SV.Settings.WO.BackdropAlpha for id_craft = 0, 2, 1 do CRT.UI.CRAFT_TLW[id_craft] = WINDOW_MANAGER:CreateTopLevelWindow("CRT_CRAFT_TLW_"..id_craft) CRT.UI.CRAFT_TLW[id_craft]:SetDimensions(CRT.mode_width,CRT.mode_height) CRT.UI.CRAFT_TLW[id_craft]:SetHidden(false) CRT.UI.CRAFT_TLW[id_craft]:SetClampedToScreen(false) CRT.UI.CRAFT_TLW[id_craft]:SetMovable(CRT.SV.Settings.lock) CRT.UI.CRAFT_TLW[id_craft]:SetMouseEnabled(true) CRT.UI.CRAFT_TLW[id_craft]:SetDrawLayer(1) CRT.UI.CRAFT_TLW[id_craft]:SetScale(scale[id_craft]) if (id_craft == 0) then CRT.UI.CRAFT_TLW[id_craft]:SetHidden(not CRT.SV.Settings.BS.craft) CRT.UI.CRAFT_TLW[id_craft]:SetAnchor(TOPLEFT, GuiRoot, TOPLEFT, CRT.SV.Settings.BS.offset.X, CRT.SV.Settings.BS.offset.Y) CRT.UI.CRAFT_TLW[id_craft]:SetHandler("OnMouseUp", function(self) CRT.Save_position(id_craft)end) elseif(id_craft == 1) then CRT.UI.CRAFT_TLW[id_craft]:SetHidden(not CRT.SV.Settings.CL.craft) CRT.UI.CRAFT_TLW[id_craft]:SetAnchor(TOPLEFT, GuiRoot, TOPLEFT, CRT.SV.Settings.CL.offset.X, CRT.SV.Settings.CL.offset.Y) CRT.UI.CRAFT_TLW[id_craft]:SetHandler("OnMouseUp", function(self) CRT.Save_position(id_craft)end) elseif(id_craft == 2) then CRT.UI.CRAFT_TLW[id_craft]:SetHidden(not CRT.SV.Settings.WO.craft) CRT.UI.CRAFT_TLW[id_craft]:SetAnchor(TOPLEFT, GuiRoot, TOPLEFT, CRT.SV.Settings.WO.offset.X, CRT.SV.Settings.WO.offset.Y) CRT.UI.CRAFT_TLW[id_craft]:SetHandler("OnMouseUp", function(self) CRT.Save_position(id_craft)end) end CRT.UI.CRAFT_BD[id_craft] = WINDOW_MANAGER:CreateControlFromVirtual(CRT.name.."_Windows"..id_craft.."_BD",CRT.UI.CRAFT_TLW[id_craft], "ZO_DefaultBackdrop") CRT.UI.CRAFT_BD[id_craft]:SetAlpha(alpha[id_craft]) ---- WINDOWS 0 ---- -- icon CRT.UI.CRAFT_WD[id_craft] = {} CRT.UI.CRAFT_WD[id_craft][0] = {} if (CRT.SV.Settings.mode == "Icon") then CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"] = WINDOW_MANAGER:CreateControl("CRT_CRAFT_WD_"..id_craft.."_0_icon",CRT.UI.CRAFT_TLW[id_craft],CT_TEXTURE) CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"]:SetHidden(false) CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"]:SetDimensions(22,22) CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"]:SetAlpha(1) CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"]:SetAnchor(TOPLEFT,CRT.UI.CRAFT_TLW[id_craft],TOPLEFT,0,0) CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"]:SetMouseEnabled(true) -- CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"]:SetHandler("OnMouseEnter", function (self) ZO_Tooltips_ShowTextTooltip(self, RIGHT, updatetooltip) end) -- CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"]:SetHandler("OnMouseExit", function (self) ZO_Tooltips_HideTextTooltip() end) if (id_craft == 0) then CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"]:SetTexture("/esoui/art/icons/ability_smith_007.dds") elseif (id_craft == 1) then CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"]:SetTexture("/esoui/art/icons/ability_tradecraft_008.dds") elseif (id_craft == 2) then CRT.UI.CRAFT_WD[id_craft][0]["Craft_icon"]:SetTexture("/esoui/art/icons/ability_tradecraft_009.dds") end end CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"] = WINDOW_MANAGER:CreateControl("CRT_CRAFT_WD_"..id_craft.."_0_text",CRT.UI.CRAFT_TLW[id_craft],CT_LABEL) CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"]:SetHidden(false) CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"]:SetFont(CRT.font) CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"]:SetDimensions(CRT.mode_width,CRT.mode_height) CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"]:SetAlpha(1) CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"]:SetAnchor(TOPLEFT,CRT.UI.CRAFT_TLW[id_craft],TOPLEFT,CRT.vertical_move,0) CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"]:SetText("Loading") if(id_craft == 0) then CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"]:SetColor(CRT.SV.Settings.BS.Color.r, CRT.SV.Settings.BS.Color.g, CRT.SV.Settings.BS.Color.b, CRT.SV.Settings.BS.Color.a) elseif(id_craft == 1) then CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"]:SetColor(CRT.SV.Settings.CL.Color.r, CRT.SV.Settings.CL.Color.g, CRT.SV.Settings.CL.Color.b, CRT.SV.Settings.CL.Color.a) elseif(id_craft == 2) then CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"]:SetColor(CRT.SV.Settings.WO.Color.r, CRT.SV.Settings.WO.Color.g, CRT.SV.Settings.WO.Color.b, CRT.SV.Settings.WO.Color.a) end ---- WINDOWS 1 / 2 / 3 ---- for simcraft = 1, 3 , 1 do local x = 5 x = x + simcraft*20 CRT.UI.CRAFT_WD[id_craft][simcraft] = {} --// icon if (CRT.SV.Settings.mode == "Icon") then CRT.UI.CRAFT_WD[id_craft][simcraft]["item_icon"] = WINDOW_MANAGER:CreateControl("CRT_CRAFT_WD_"..id_craft.."_"..simcraft.."_icon",CRT.UI.CRAFT_TLW[id_craft],CT_TEXTURE) CRT.UI.CRAFT_WD[id_craft][simcraft]["item_icon"]:SetHidden(true) CRT.UI.CRAFT_WD[id_craft][simcraft]["item_icon"]:SetDimensions(20,20) CRT.UI.CRAFT_WD[id_craft][simcraft]["item_icon"]:SetAlpha(1) CRT.UI.CRAFT_WD[id_craft][simcraft]["item_icon"]:SetAnchor(TOPLEFT,CRT.UI.CRAFT_TLW[id_craft],TOPLEFT,0,x) CRT.UI.CRAFT_WD[id_craft][simcraft]["item_icon"]:SetMouseEnabled(true) if(CRT.SV.data.Craft[CRT.playername][id_craft][simcraft] ~= nil) then local tooltip = CRT.SV.data.Craft[CRT.playername][id_craft][simcraft]["Item_name"].." - ".. CRT.SV.data.Craft[CRT.playername][id_craft][simcraft]["Trait_description"] CRT.UI.CRAFT_WD[id_craft][simcraft]["item_icon"]:SetHandler("OnMouseEnter", function (self) ZO_Tooltips_ShowTextTooltip(self, TOP, tooltip) end) CRT.UI.CRAFT_WD[id_craft][simcraft]["item_icon"]:SetHandler("OnMouseExit", function (self) ZO_Tooltips_HideTextTooltip() end) end end --// text CRT.UI.CRAFT_WD[id_craft][simcraft]["text"] = WINDOW_MANAGER:CreateControl("CRT_CRAFT_WD_"..id_craft.."_"..simcraft.."_text",CRT.UI.CRAFT_TLW[id_craft],CT_LABEL) CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetHidden(true) CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetFont(CRT.font) CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetDimensions(CRT.mode_width,CRT.mode_height) CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetAlpha(1) CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetAnchor(LEFT,CRT.UI.CRAFT_TLW[id_craft],LEFT,CRT.vertical_move,x) if(id_craft == 0) then CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetColor(CRT.SV.Settings.BS.Color.r, CRT.SV.Settings.BS.Color.g, CRT.SV.Settings.BS.Color.b, CRT.SV.Settings.BS.Color.a) elseif(id_craft == 1) then CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetColor(CRT.SV.Settings.CL.Color.r, CRT.SV.Settings.CL.Color.g, CRT.SV.Settings.CL.Color.b, CRT.SV.Settings.CL.Color.a) elseif(id_craft == 2) then CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetColor(CRT.SV.Settings.WO.Color.r, CRT.SV.Settings.WO.Color.g, CRT.SV.Settings.WO.Color.b, CRT.SV.Settings.WO.Color.a) end if (CRT.SV.Settings.mode == "Text") then if(CRT.SV.data.Craft[CRT.playername][id_craft][simcraft] ~= nil) then CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetMouseEnabled(true) local tooltip = CRT.SV.data.Craft[CRT.playername][id_craft][simcraft]["Item_name"].." - ".. CRT.SV.data.Craft[CRT.playername][id_craft][simcraft]["Trait_description"] CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetHandler("OnMouseEnter", function (self) ZO_Tooltips_ShowTextTooltip(self, TOP, tooltip) end) CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetHandler("OnMouseExit", function (self) ZO_Tooltips_HideTextTooltip() end) end end end end end function CRT.CRAFT_Update(timestamp) for id_craft = 0, 2,1 do local MaxResearch = CRT.SV.data.Craft[CRT.playername][id_craft]["MaxResearch"] local Simu_craft = CRT.SV.data.Craft[CRT.playername][id_craft]["Simu_craft"] local title = "error" if (CRT.SV.Settings.mode == "Text" and id_craft == 0) then title = CRT.L["BS"] .. " : " .. "Simu_craft.. / "..MaxResearch elseif (CRT.SV.Settings.mode == "Text" and id_craft == 1) then title = CRT.L["Clothing"] .. " : "..Simu_craft.." / "..MaxResearch elseif (CRT.SV.Settings.mode == "Text" and id_craft == 2) then title = CRT.L["Woodwork"] .. " : "..Simu_craft.." / "..MaxResearch elseif (CRT.SV.Settings.mode == "Icon") then title = " "..Simu_craft.." / "..MaxResearch end CRT.UI.CRAFT_WD[id_craft][0]["Craft_Text"]:SetText(title) for simcraft = 1, 3,1 do if (CRT.SV.data.Craft[CRT.playername][id_craft][simcraft] ~= nil)then local currenttimer = CRT.SV.data.Craft[CRT.playername][id_craft][simcraft]["EndTimeStamp"] - timestamp - 1 local human_timer = CRT.Converthms(currenttimer) local msg = "error" if (CRT.SV.Settings.mode == "Icon") then CRT.UI.CRAFT_WD[id_craft][simcraft]["item_icon"]:SetHidden(false) CRT.UI.CRAFT_WD[id_craft][simcraft]["item_icon"]:SetTexture(CRT.SV.data.Craft[CRT.playername][id_craft][simcraft]["Item_icon"]) msg = human_timer elseif (CRT.SV.Settings.mode == "Text") then local Item_name = CRT.SV.data.Craft[CRT.playername][id_craft][simcraft]["Item_name"] msg = Item_name.." - "..human_timer end if (currenttimer > 0) then CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetHidden(false) CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetText(msg) else CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetHidden(false) CRT.UI.CRAFT_WD[id_craft][simcraft]["text"]:SetText(CRT.L["Finished"]) end end end end end