AurorLock 0 Report post Posted December 21, 2016 Is this not a way to accomplish it? PetHappinessFrame = PetHappinessFrame or CreateFrame("Messageframe", "AuroraLibPetHappinessFrame", UIParent) PetHappinessFrame:SetWidth(150) PetHappinessFrame:SetHeight(70) PetHappinessFrame:SetPoint("TOPLEFT", 400, -500) PetHappinessFrame:SetTimeVisible(6) --how long it will stay visible PetHappinessFrame:SetFadeDuration(.5) --how long it will spend fading out PetHappinessFrame:SetFont("Fonts\\FRIZQT__.ttf", 24, "OUTLINE") PetHappinessFrame:RegisterForDrag("LeftButton") PetHappinessFrame:SetScript("OnDragStart", PetHappinessFrame.StartMoving) PetHappinessFrame:SetScript("OnDragStop", PetHappinessFrame.StopMovingorSizing) 0 Share this post Link to post Share on other sites
Rhena 30 Report post Posted December 21, 2016 No you have to do it like this: PetHappinessFrame:SetScript("OnDragStart", function() this:StartMoving() end)PetHappinessFrame:SetScript("OnDragStop", function() this:StopMovingorSizing() end) 0 Share this post Link to post Share on other sites
AurorLock 0 Report post Posted December 21, 2016 (edited) Still not working :| AuroraLib = AceLibrary("AceAddon-2.0"):new("AceEvent-2.0", "AceConsole-2.0", "AceDB-2.0", "AceHook-2.1", "AceDebug-2.0") function AuroraLib:OnInitialize() -- Called when the addon is loaded PetHappinessFrame = PetHappinessFrame or CreateFrame("Messageframe", "AuroraLibPetHappinessFrame", UIParent) PetHappinessFrame:SetWidth(150) PetHappinessFrame:SetHeight(70) PetHappinessFrame:SetPoint("TOPLEFT", 400, -500) PetHappinessFrame:SetTimeVisible(6) --how long it will stay visible PetHappinessFrame:SetFadeDuration(.5) --how long it will spend fading out PetHappinessFrame:SetFont("Fonts\\FRIZQT__.ttf", 24, "OUTLINE") PetHappinessFrame:RegisterForDrag("LeftButton") PetHappinessFrame:SetScript("OnDragStart", function() this:StartMoving() end) PetHappinessFrame:SetScript("OnDragStop", function() this:StopMovingorSizing() end) PetHappinessFrame:AddMessage("Pet is Content!", 1,1,1) PetHappinessFrame.background = PetHappinessFrame:CreateTexture("Interface\\Tooltips\\UI-Tooltip-Background", "AuroraLibPetHappinessFrameBackground") PetHappinessFrame.background:SetTexture(1, 1, 1, 0.25) PetHappinessFrame.background:SetWidth(150) PetHappinessFrame.background:SetHeight(70) PetHappinessFrame.background:SetPoint("TOP", "AuroraLibPetHappinessFrame", "CENTER", 0, 20) hide() local slashOptions = { type = 'group', args={ happy = { type='execute', name="happy", desc="Shows the happiness and loyalty of your pet", func = function() self:showHappiness() end } } } self:RegisterChatCommand({ "/aurlib"}, slashOptions) -- self:RegisterEvent("CHAT_MSG_PET_INFO", "petUpdate") self:RegisterEvent("UNIT_HAPPINESS", "showHappiness") AuroraLib:SystemMessage("Loaded!") end function AuroraLib:OnEnable() -- Called when the addon is enabled end function AuroraLib:SystemMessage(msg) DEFAULT_CHAT_FRAME:AddMessage("|cFFFFC0CBAuroraLib|cFFFFFFFF: "..msg) end function AuroraLib:OnDisable() -- Called when the addon is disabled end function AuroraLib:COMBAT_LOG_EVENT() -- arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20 AuroraLib:SystemMessage("Combat log changed") end function AuroraLib:showHappiness() happiness, damagePercentage, loyaltyRate = GetPetHappiness() if not happiness then DEFAULT_CHAT_FRAME:AddMessage("No Pet") hide() else local happy = ({"Unhappy", "Content", "Happy"})[happiness] local loyalty = loyaltyRate > 0 and "gaining" or "losing" hide() if happy ~= "Happy" then if happy == "Content" then PetHappinessFrame:AddMessage("Pet is " .. happy .. "!", 1, 1, 0) else PetHappinessFrame:AddMessage("Pet is " .. happy .. "!", 1, 0, 0) end show() end end end function hide() PetHappinessFrame.background:SetTexture(1, 1, 1, 0) if PetHappinessFrame:IsVisible() then PetHappinessFrame:Hide() end end function show() PetHappinessFrame.background:SetTexture(1, 1, 1, 0.25) if not PetHappinessFrame:IsVisible() then PetHappinessFrame:Show() end end Edited December 21, 2016 by AurorLock 0 Share this post Link to post Share on other sites
shirsig 18 Report post Posted December 21, 2016 (edited) You also need f:EnableMouse(true) (maybe already set for messageframe) and f:SetMovable(true) Optionally also f:SetClampedToScreen(true) to prevent it from being moved off screen f:SetToplevel(true) to make it come to the top when clicked f:SetUserPlaced(true) to make the client remember its position (only works when the frame has a name) Edited December 21, 2016 by shirsig 0 Share this post Link to post Share on other sites