View Single Post
04-08-24, 04:07 AM   #7
Hubb777
A Flamescale Wyrmkin
 
Hubb777's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2024
Posts: 122
I tried combining my code with yours. But it still doesn't work.

Lua Code:
  1. local addonName, addon = ...
  2. local frame = CreateFrame("Frame", "QuestCompletionFrame", UIParent)
  3. frame:SetSize(100, 100)
  4. frame:SetPoint("CENTER")
  5. frame:EnableMouse(true)
  6. frame:SetMovable(true)
  7. frame:RegisterForDrag("LeftButton")
  8. frame:SetScript("OnDragStart", frame.StartMoving)
  9. frame:SetScript("OnDragStop", frame.StopMovingOrSizing)
  10.  
  11. local text = frame:CreateFontString(nil, "OVERLAY", "GameFontNormal")
  12. text:SetPoint("CENTER")
  13.  
  14. local Quests_Completed = Quests_Completed or {}
  15.  
  16. local function QuestTurnedIn(...)
  17.     local questID, xpReward, moneyReward = ...
  18.     local isCompleted = C_QuestLog.IsQuestFlaggedCompleted(questID)   -- Returns true
  19.     print("Quest: ", questID,"XP: ", xpReward,"Money: ", moneyReward,"Completed: ",isCompleted)
  20.     Quests_Completed[questID].Completed = isCompleted
  21. end
  22.  
  23. local function QuestAccepted(...)
  24.     local questID = ...
  25.     local questLogIndex = C_QuestLog.GetLogIndexForQuestID(questID)
  26.     local info = { C_QuestLog.GetInfo(questLogIndex) }
  27.     print("Accepted Quest: ", questID, info["title"])
  28.     Quests_Completed[questID] = info
  29. end
  30.  
  31. frame:SetScript("OnEvent", function(self, event, ...)
  32.     if event == "PLAYER_LOGIN" then
  33.         local completedQuests = {}
  34.         local questIDs = {70893, 71995}
  35.  
  36.         for _, questID in ipairs(questIDs) do
  37.             local isCompleted = C_QuestLog.IsQuestFlaggedCompleted(questID)
  38.             completedQuests[questID] = isCompleted
  39.         end
  40.  
  41.         local localization = {
  42.             ["enUS"] = {
  43.                 ["quest70893"] = "|cFFDEB887Community Feast:|r",
  44.                 ["quest71995"] = "|cFFDEB887Trial of the Elements:|r",
  45.                 ["yes"] = "|cFF1EFF00Complete|r",
  46.                 ["no"] = "|cFFDC143CIncomplete|r"
  47.             }
  48.         }
  49.  
  50.         local locale = GetLocale()
  51.         local locStrings = localization[locale] or localization["enUS"]
  52.  
  53.         local questStatus = locStrings["quest70893"] .. " "
  54.         if completedQuests[70893] then
  55.             questStatus = questStatus .. locStrings["yes"]
  56.         else
  57.             questStatus = questStatus .. locStrings["no"]
  58.         end
  59.  
  60.         questStatus = questStatus .. "\n" .. locStrings["quest71995"] .. " "
  61.         if completedQuests[71995] then
  62.             questStatus = questStatus .. locStrings["yes"]
  63.         else
  64.             questStatus = questStatus .. locStrings["no"]
  65.         end
  66.  
  67.         text:SetText(questStatus)
  68.     elseif event == "QUEST_TURNED_IN" then
  69.         -- Triggers when pressing Complete Button
  70.         QuestTurnedIn(...)
  71.     elseif event == "QUEST_ACCEPTED" then
  72.         -- Triggers before Pressing Accept Button
  73.         QuestAccepted(...)
  74.     end
  75. end)
  76.  
  77. frame:RegisterEvent("PLAYER_LOGIN")
  78. frame:RegisterEvent("QUEST_TURNED_IN")
  79. frame:RegisterEvent("QUEST_ACCEPTED")
  Reply With Quote