eluna-scripts-ornfelt/lua/WowEmulationScriptPack/Lua/CustomQuest/ClientQuest.lua
2024-09-23 07:59:23 +02:00

138 lines
4.6 KiB
Lua

local AIO = AIO or require("AIO")
if AIO.AddAddon() then
return
end
local Quest = AIO.AddHandlers("Quest", {})
FrameTest = CreateFrame("Frame", "FrameQuest", UIParent, "UIPanelDialogTemplate")
local frame = FrameTest
frame:SetSize(200, 100)
frame:RegisterForDrag("LeftButton")
frame:SetPoint("CENTER")
frame:SetToplevel(true)
frame:SetClampedToScreen(true)
frame:SetMovable(true)
frame:EnableMouse(true)
frame:SetScript("OnDragStart", frame.StartMoving)
frame:SetScript("OnHide", frame.StopMovingOrSizing)
frame:SetScript("OnDragStop", frame.StopMovingOrSizing)
frame:Hide()
local title = frame:CreateFontString("fntTitle")
title:SetFont("Fonts\\FRIZQT__.TTF", 14, "OUTLINE, MONOCHROME")
title:SetShadowOffset(1, -1)
title:SetPoint("TOP", frame, "TOP", 0, -8)
title:SetText("Sidequest")
title:Show()
local can_complete = 0
local function click_complete(self, motion)
--if(can_complete)then
AIO.Handle("Quest", "CompleteQuest")
--end
end
local prog_text = FrameTest:CreateFontString("fntTitle")
prog_text:SetFont("Fonts\\FRIZQT__.TTF", 13, "OUTLINE, MONOCHROME")
prog_text:SetShadowOffset(1, -1)
prog_text:SetPoint("CENTER", FrameTest, "TOP", 0,-40)
prog_text:SetText("Get a Quest")
prog_text:Show()
local function CompleteButtonOnEnter(self, motion)
if(can_complete)then
FrameCompleteQuest:SetNormalTexture("Interface\\BUTTONS\\UI-DialogBox-Button-Down.blp")
else
FrameCompleteQuest:SetNormalTexture("Interface\\BUTTONS\\UI-DialogBox-Button-Disabled.blp")
end
end
local function CompleteButtonOnLeave(self, motion)
if(can_complete)then
FrameCompleteQuest:SetNormalTexture("Interface\\BUTTONS\\UI-DialogBox-Button-Up.blp")
else
FrameCompleteQuest:SetNormalTexture("Interface\\BUTTONS\\UI-DialogBox-Button-Disabled.blp")
end
end
local FrameCompleteQuest = CreateFrame("Button", "FrameCompleteQuest", frame, nil)
FrameCompleteQuest:SetSize(100, 35)
FrameCompleteQuest:SetPoint("BOTTOMLEFT", 11, 1)
FrameCompleteQuest:SetNormalTexture("Interface\\BUTTONS\\UI-DialogBox-Button-Disabled.blp")
FrameCompleteQuest:RegisterForDrag("LeftButton")
FrameCompleteQuest:SetToplevel(false)
FrameCompleteQuest:SetClampedToScreen(true)
FrameCompleteQuest:SetMovable(false)
FrameCompleteQuest:EnableMouse(true)
FrameCompleteQuest:SetScript("OnClick", click_complete)
FrameCompleteQuest:SetScript("OnDragStart", frame.StartMoving)
FrameCompleteQuest:SetScript("OnHide", frame.StopMovingOrSizing)
FrameCompleteQuest:SetScript("OnDragStop", frame.StopMovingOrSizing)
FrameCompleteQuest:SetScript("OnEnter", CompleteButtonOnEnter)
FrameCompleteQuest:SetScript("OnLeave", CompleteButtonOnLeave)
FrameCompleteQuest:Show()
local reward_item_id;
local function ItemTooltipOnEnter1(self, motion)
PlaySound(814)
GameTooltip:SetOwner(self, "ANCHOR_BOTTOM")
GameTooltip:SetHyperlink("item:"..reward_item_id)
GameTooltip:Show()
end
local FrameRewardIcon = CreateFrame("Button", "FrameCompleteQuest", frame, nil)
FrameRewardIcon:SetSize(32, 32)
FrameRewardIcon:SetPoint("BOTTOMRIGHT", -10, 13)
FrameRewardIcon:SetNormalTexture("Interface\\BUTTONS\\UI-DialogBox-Button-Disabled.blp")
FrameRewardIcon:RegisterForDrag("LeftButton")
FrameRewardIcon:SetToplevel(false)
FrameRewardIcon:SetClampedToScreen(true)
FrameRewardIcon:SetMovable(true)
FrameRewardIcon:EnableMouse(true)
FrameRewardIcon:SetScript("OnClick", click_complete)
FrameRewardIcon:SetScript("OnDragStart", frame.StartMoving)
FrameRewardIcon:SetScript("OnHide", frame.StopMovingOrSizing)
FrameRewardIcon:SetScript("OnDragStop", frame.StopMovingOrSizing)
FrameRewardIcon:SetScript("OnEnter", ItemTooltipOnEnter1)
FrameRewardIcon:SetScript("OnLeave", function() GameTooltip:Hide() end)
FrameRewardIcon:Show()
local complete_text = FrameCompleteQuest:CreateFontString("fntTitle")
complete_text:SetFont("Fonts\\FRIZQT__.TTF", 15, "OUTLINE, MONOCHROME")
complete_text:SetShadowOffset(1, -1)
complete_text:SetPoint("CENTER", FrameCompleteQuest, "CENTER", 0, 6)
complete_text:SetText("Complete")
complete_text:Show()
function Quest.Close()
frame:Hide()
end
function Quest.ShowFrameQuest(p, name, current, required, reward_id, reward_amt)
frame:Show()
prog_text:SetText(name.." ("..current.."/"..required..")")
if(current >= required)then
can_complete = 1;
FrameCompleteQuest:SetNormalTexture("Interface\\BUTTONS\\UI-DialogBox-Button-Down.blp")
else
can_complete = 0;
FrameCompleteQuest:SetNormalTexture("Interface\\BUTTONS\\UI-DialogBox-Button-Disabled.blp")
end
itemIcon = GetItemIcon(reward_id)
FrameRewardIcon:SetNormalTexture(itemIcon)
FrameRewardIcon:Show()
reward_item_id = reward_id
end
function swapListValues(list, v1, v2)
end