⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lootbuttons.lua

📁 时间太紧了
💻 LUA
字号:
local GREY = "|cff999999";
local RED = "|cffff0000";
local WHITE = "|cffFFFFFF";
local GREEN = "|cff1eff00";
local PURPLE = "|cff9F3FFF";
local BLUE = "|cff0070dd";
local ORANGE = "|cffFF8400";

---------------------------------------------------------------------------------- Item OnEnter
-- Called when a loot item is moused over--------------------------------------------------------------------------------
function AtlasLootItem_OnEnter()
    if (this.itemID ~= 0) then
        local yOffset;
        local color = strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 3, 10);
        local name = strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 11);
        if(this.itemID ~= 0 and this.itemID ~= "" and this.itemID ~= nil) then
            Identifier = "Item"..this.itemID;
            DKP = AtlasLootDKPValues[Identifier];
            priority = AtlasLootClassPriority[Identifier];
        else
            DKP = nil;
            priority = nil;
        end
        --Lootlink tooltips
        if( AtlasLootOptions.LootlinkTT ) then
            --If we have seen the item, use the game tooltip to minimise same name item problems
            if(GetItemInfo(this.itemID) ~= nil) then
                AtlasLootTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 24);                AtlasLootTooltip:SetHyperlink("item:"..this.itemID..":0:0:0");
                if( this.droprate ~= nil) then
                    AtlasLootTooltip:AddLine(ATLASLOOT_DROP_RATE..this.droprate, 1, 1, 0);
                end
                if( DKP ~= nil and DKP ~= "" ) then
                    AtlasLootTooltip:AddLine(RED..DKP.." "..ATLASLOOT_DKP, 1, 1, 0);
                end
                if( priority ~= nil and priority ~= "" ) then
                    AtlasLootTooltip:AddLine(GREEN..ATLASLOOT_PRIORITY.." "..priority, 1, 1, 0);
                end
                AtlasLootTooltip:Show();
                if (LootLink_AddItem) then
                    LootLink_AddItem(name, this.itemID..":0:0:0", color);
                end
            else
                AtlasLootTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 24);
                LootLink_SetTooltip(AtlasLootTooltip, strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 11), 1);
                if( this.droprate ~= nil) then
                    AtlasLootTooltip:AddLine(ATLASLOOT_DROP_RATE..this.droprate, 1, 1, 0);
                end
                if( DKP ~= nil and DKP ~= "" ) then
                    AtlasLootTooltip:AddLine(RED..DKP.." "..ATLASLOOT_DKP, 1, 1, 0);
                end
                if( priority ~= nil and priority ~= "" ) then
                    AtlasLootTooltip:AddLine(GREEN..ATLASLOOT_PRIORITY.." "..priority, 1, 1, 0);
                end
                AtlasLootTooltip:AddLine(" ");
                AtlasLootTooltip:AddLine(ATLASLOOT_ERRORTOOLTIP_L4);
                AtlasLootTooltip:Show();
            end
        --Item Sync tooltips
        elseif( AtlasLootOptions.ItemSyncTT ) then
            ISync:ButtonEnter();
            if( this.droprate ~= nil) then
                GameTooltip:AddLine(ATLASLOOT_DROP_RATE..this.droprate, 1, 1, 0);
                GameTooltip:Show();
            end
            if( DKP ~= nil and DKP ~= "" ) then
                GameTooltip:AddLine(RED..DKP.." "..ATLASLOOT_DKP, 1, 1, 0);
            end 
            if( priority ~= nil and priority ~= "" ) then
                GameTooltip:AddLine(GREEN..ATLASLOOT_PRIORITY.." "..priority, 1, 1, 0);
            end
            if(GetItemInfo(this.itemID) ~= nil) then
                GameTooltip:AddLine(" ");
                GameTooltip:AddLine(ATLASLOOT_ERRORTOOLTIP_L4);
            end
            GameTooltip:Show();
        --Default game tooltips
        else            if(this.itemID ~= nil) then
                if(GetItemInfo(this.itemID) ~= nil) then                    AtlasLootTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 24);                    AtlasLootTooltip:SetHyperlink("item:"..this.itemID..":0:0:0");
                    if( this.droprate ~= nil) then
                        AtlasLootTooltip:AddLine(ATLASLOOT_DROP_RATE..this.droprate, 1, 1, 0);
                    end
                    if( DKP ~= nil and DKP ~= "" ) then
                        AtlasLootTooltip:AddLine(RED..DKP.." "..ATLASLOOT_DKP, 1, 1, 0);
                    end
                    if( priority ~= nil and priority ~= "" ) then
                        AtlasLootTooltip:AddLine(GREEN..ATLASLOOT_PRIORITY.." "..priority, 1, 1, 0);
                    end
                    AtlasLootTooltip:Show();
                else
                    AtlasLootTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 24);
                    AtlasLootTooltip:ClearLines();
                    AtlasLootTooltip:AddLine(RED..ATLASLOOT_ERRORTOOLTIP_L1);
                    AtlasLootTooltip:AddLine(BLUE..ATLASLOOT_ERRORTOOLTIP_L2.." "..this.itemID);
                    AtlasLootTooltip:AddLine(ATLASLOOT_ERRORTOOLTIP_L3);
                    AtlasLootTooltip:AddLine(" ");
                    AtlasLootTooltip:AddLine(ATLASLOOT_ERRORTOOLTIP_L4);
                    AtlasLootTooltip:Show();
                end            end
        end
    end
end
---------------------------------------------------------------------------------- Item OnLeave
-- Called when the mouse cursor leaves a loot item--------------------------------------------------------------------------------
function AtlasLootItem_OnLeave()
    --Hide the necessary tooltips
    if( AtlasLootOptions.LootlinkTT ) then
        AtlasLootTooltip:Hide();
    elseif( AtlasLootOptions.ItemSyncTT ) then
        if(GameTooltip:IsVisible()) then
            GameTooltip:Hide();
        end
    else
        if(this.itemID ~= nil) then		    AtlasLootTooltip:Hide();
            GameTooltip:Hide();	    end
    end
end

---------------------------------------------------------------------------------- Item OnClick
-- Called when a loot item is clicked on--------------------------------------------------------------------------------
function AtlasLootItem_OnClick(arg1)
	local color = strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 1, 10);	local id = this:GetID();	local name = strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 11);	local iteminfo = GetItemInfo(this.itemID);
    --If shift-clicked, link in the chat window
    if(arg1=="RightButton" and not iteminfo) then
        AtlasLootTooltip:SetHyperlink("item:"..this.itemID..":0:0:0");
     --   DEFAULT_CHAT_FRAME:AddMessage(ATLASLOOT_QUERY_MESSAGE..color.."["..name.."]".."|r"..ATLASLOOT_RECLICK_MESSAGE);
    elseif(arg1=="RightButton" and iteminfo) then
       -- DEFAULT_CHAT_FRAME:AddMessage(color.."|Hitem:"..this.itemID..":0:0:0|h["..name.."]|h|r"..ATLASLOOT_SAFE_MESSAGE);
       elseif(ChatFrameEditBox:IsVisible() and IsShiftKeyDown() and iteminfo and (AtlasLootOptions.SafeLinks or AtlasLootOptions.AllLinks)) then    	ChatFrameEditBox:Insert(color.."|Hitem:"..this.itemID..":0:0:0|h["..name.."]|h|r");	elseif(ChatFrameEditBox:IsVisible() and IsShiftKeyDown() and AtlasLootOptions.AllLinks) then		ChatFrameEditBox:Insert(color.."|Hitem:"..this.itemID..":0:0:0|h["..name.."]|h|r");
    elseif(ChatFrameEditBox:IsVisible()) then		ChatFrameEditBox:Insert(name);
    --If control-clicked, use the dressing room
    elseif(IsControlKeyDown() and iteminfo) then
        DressUpItemLink(this.itemID);	endend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -