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

📄 titanquests.lua

📁 时间太紧了
💻 LUA
📖 第 1 页 / 共 5 页
字号:
		TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
	end
	DropDownList1:Hide();
end

function TitanPanelQuests_ShowDungeon()
	if ( TitanGetVar(TITAN_QUESTS_ID, "ShowDungeon") ) then
		TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
	else
		TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", 1);
		TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
	end
	DropDownList1:Hide();
end

function TitanPanelQuests_ShowRaid()
	if ( TitanGetVar(TITAN_QUESTS_ID, "ShowRaid") ) then
		TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
	else
		TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", 1);
		TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
	end
	DropDownList1:Hide();
end

function TitanPanelQuests_ShowPVP()
	if ( TitanGetVar(TITAN_QUESTS_ID, "ShowPVP") ) then
		TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
	else
		TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", 1);
		TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
	end
	DropDownList1:Hide();
end

function TitanPanelQuests_ShowRegular()
	if ( TitanGetVar(TITAN_QUESTS_ID, "ShowRegular") ) then
		TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
	else
		TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", 1);
		TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
	end
	DropDownList1:Hide();
end

function TitanPanelQuests_ShowCompleted()
	if ( TitanGetVar(TITAN_QUESTS_ID, "ShowCompleted") ) then
		TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
	else
		TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", 1);
		TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
	end
	DropDownList1:Hide();
end

function TitanPanelQuests_ShowIncomplete()
	if ( TitanGetVar(TITAN_QUESTS_ID, "ShowIncomplete") ) then
		TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
	else
		TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", 1);
		TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
		TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
	end
	DropDownList1:Hide();
end

function TitanPanelQuests_ShowAll()
	TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
	TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
	TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
	TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
	TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
	TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
	TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
	TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
	DropDownList1:Hide();
end

--
-- Click Behavior toggle function
--
function TitanPanelQuests_ToggleClickBehavior()
	TitanToggleVar(TITAN_QUESTS_ID, "ClickBehavior");
end

--
-- Group Behavior toggle function
--
function TitanPanelQuests_ToggleGroupBehavior()
	TitanToggleVar(TITAN_QUESTS_ID, "GroupBehavior");
	TitanPanelRightClickMenu_Close();
end

--
-- build quest list (returns table of current active quests)
--
function TitanPanelQuests_BuildQuestList()

	local NumEntries, NumQuests;

	local Title, Level, Tag, isHeader, isCollapsed, isComplete;
	local questIndex;

	local Location;

	local useTag;
	local completeTag;
	local questWatched = "";
	local diff;

	local QuestList = { };

	NumEntries, NumQuests = GetNumQuestLogEntries();
	
	for questIndex=1, NumEntries do
		Title, Level, Tag, isHeader, isCollapsed, isComplete = GetQuestLogTitle(questIndex);

		if ( Level == 0 ) then
			Location = Title;
		else	
			local entry = { questID = questIndex, questTitle = Title, questLevel = Level, questTag = Tag, questisHeader = isHeader, questisComplete = isComplete, questLocation = Location };
			table.insert(QuestList, entry);
		end
	end	

	return QuestList;
end

--
-- debug
--
function TitanPanelQuests_DisplayTheList(thelist)
	local i = 0;
	for i=1, table.getn(thelist) do
		TitanPanelQuests_ChatPrint(i..":"..thelist[i].questLevel..":"..thelist[i].questTitle..":"..thelist[i].questLocation..":"..thelist[i].questID.."\n");
	end
end
	
--
-- display quest details window
--
function TitanPanelQuests_DisplayQuest()

	local questTitle, questLevel, questTag, questisHeader, questisCollapsed, questisComplete;
	local questDescription = "";
	local questObjectives = "";

	local diff, useTag, completeTag;

	local numObjectives = 0;

	local ObjectivesText = "";

    -- select the quest entry
    SelectQuestLogEntry(this.value[2]);
    QuestLog_SetSelection(this.value[2]);
	
	questDescription, questObjectives = GetQuestLogQuestText();

	questTitle, questLevel, questTag, questisHeader, questisCollapsed, questisComplete = GetQuestLogTitle(this.value[2]);	

	if ( questTag == ELITE ) then
		useTag = "+"
	elseif ( questTag == TITAN_QUESTS_DUNGEON ) then
		useTag = "d";
	elseif ( questTag == TITAN_QUESTS_RAID ) then
		useTag = "r";
	elseif ( questTag == TITAN_QUESTS_PVP ) then
		useTag = "p";
	else
		useTag = "";
	end 

	if ( questisComplete ) then
		useTag = "C";
		completeTag = "("..COMPLETE..")";
	else 
		completeTag = "";
	end

	diff = GetDifficultyColor(questLevel);

        -- find location
	local qid = 0;

	local questLocation = "";

	qid = this.value[2] - 1;

	for k = qid, 1, -1 do
		local qtitle, qlevel, qtag, qisheader, qiscollapsed, qiscomplete = GetQuestLogTitle(k);
		if ( qlevel == 0 ) then
			questLocation = qtitle;
			break;
		end
	end			
	-- end find location

	-- set title
	local newquestTitle = TitanUtils_GetColoredText("["..questLevel..useTag.."]",diff)..TitanUtils_GetHighlightText(questTitle);
	TitanQuests_Details_Title:SetText(newquestTitle);

	if ( IsCurrentQuestFailed() ) then
                questTitle = questTitle.." - ("..TEXT(FAILED)..")";
        end

	TitanQuests_Details_ScrollChild_QuestTitle:SetText(questTitle);

	-- add location to objectives
	local newquestObjectives = LOCATION_COLON.." "..questLocation.."\n\n"..questObjectives;
	TitanQuests_Details_ScrollChild_ObjectivesText:SetText(newquestObjectives);
	
	-- display quest timer 
        local questTimer = GetQuestLogTimeLeft();
        if ( questTimer ) then
                TitanQuests_Details.hasTimer = 1;
                TitanQuests_Details.timePassed = 0;
                TitanQuests_Details_ScrollChild_TimerText:Show();
                TitanQuests_Details_ScrollChild_TimerText:SetText(TEXT(TIME_REMAINING).." "..SecondsToTime(questTimer));
                TitanQuests_Details_ScrollChild_Objective1:SetPoint("TOPLEFT", "TitanQuests_Details_ScrollChild_TimerText", "BOTTOMLEFT", 0, -10);
        else
                TitanQuests_Details.hasTimer = nil;
                TitanQuests_Details_ScrollChild_TimerText:Hide();
                TitanQuests_Details_ScrollChild_Objective1:SetPoint("TOPLEFT", "TitanQuests_Details_ScrollChild_ObjectivesText", "BOTTOMLEFT", 0, -10);
        end

	-- display objectives
	numObjectives = GetNumQuestLeaderBoards();

	for i=1, numObjectives, 1 do
                local string = getglobal("TitanQuests_Details_ScrollChild_Objective"..i);
                local text;
                local type;
                local finished;
                text, type, finished = GetQuestLogLeaderBoard(i);
                if ( not text or strlen(text) == 0 ) then
                        text = type;
                end
                if ( finished ) then
                        string:SetTextColor(0.2, 0.2, 0.2);
                        text = text.." ("..TEXT(COMPLETE)..")";
                else
                        string:SetTextColor(0, 0, 0);
                end
                string:SetText(text);
                string:Show();
                QuestFrame_SetAsLastShown(string,TitanQuests_Details_ScrollChild_SpacerFrame);
        end

	for i=numObjectives + 1, MAX_OBJECTIVES, 1 do
                getglobal("TitanQuests_Details_ScrollChild_Objective"..i):Hide();
        end

	-- If there's money required then anchor and display it
	if ( GetQuestLogRequiredMoney() > 0 ) then
		if ( numObjectives > 0 ) then
			TitanQuests_Details_ScrollChild_RequiredMoneyText:SetPoint("TOPLEFT", "TitanQuests_Details_ScrollChild_Objective"..numObjectives, "BOTTOMLEFT", 0, -4);
		else
			TitanQuests_Details_ScrollChild_RequiredMoneyText:SetPoint("TOPLEFT", "TitanQuests_Details_ScrollChild_ObjectivesText", "BOTTOMLEFT", 0, -10);
		end
		
		MoneyFrame_Update("TitanQuests_Details_ScrollChild_RequiredMoneyFrame", GetQuestLogRequiredMoney());
		
		if ( GetQuestLogRequiredMoney() > GetMoney() ) then
			-- Not enough money
			TitanQuests_Details_ScrollChild_RequiredMoneyText:SetTextColor(0, 0, 0);
			SetMoneyFrameColor("UberQuest_Details_ScrollChild_RequiredMoneyFrame", 1.0, 0.1, 0.1);
		else
			TitanQuests_Details_ScrollChild_RequiredMoneyText:SetTextColor(0.2, 0.2, 0.2);
			SetMoneyFrameColor("UberQuest_Details_ScrollChild_RequiredMoneyFrame", 1.0, 1.0, 1.0);
		end
		TitanQuests_Details_ScrollChild_RequiredMoneyText:Show();
		TitanQuests_Details_ScrollChild_RequiredMoneyFrame:Show();
	else
		TitanQuests_Details_ScrollChild_RequiredMoneyText:Hide();
		TitanQuests_Details_ScrollChild_RequiredMoneyFrame:Hide();
	end
	
	if ( GetQuestLogRequiredMoney() > 0 ) then
                TitanQuests_Details_ScrollChild_DescriptionTitle:SetPoint("TOPLEFT", "TitanQuests_Details_ScrollChild_RequiredMoneyText", "BOTTOMLEFT", 0, -10);
        elseif ( numObjectives > 0 ) then
                TitanQuests_Details_ScrollChild_DescriptionTitle:SetPoint("TOPLEFT", "TitanQuests_Details_ScrollChild_Objective"..numObjectives, "BOTTOMLEFT", 0, -10);
        else
                if ( questTimer ) then
                        TitanQuests_Details_ScrollChild_DescriptionTitle:SetPoint("TOPLEFT", "TitanQuests_Details_ScrollChild_TimerText", "BOTTOMLEFT", 0, -10);
                else
                        TitanQuests_Details_ScrollChild_DescriptionTitle:SetPoint("TOPLEFT", "TitanQuests_Details_ScrollChild_ObjectivesText", "BOTTOMLEFT", 0, -10);
                end
        end

	if ( questDescription ) then
                TitanQuests_Details_ScrollChild_QuestDescription:SetText(questDescription);
                QuestFrame_SetAsLastShown(TitanQuests_Details_ScrollChild_QuestDescription,TitanQuests_Details_ScrollChild_SpacerFrame);
        end

	local numRewards = GetNumQuestLogRewards();
        local numChoices = GetNumQuestLogChoices();
        local money = GetQuestLogRewardMoney();

        if ( (numRewards + numChoices + money) > 0 ) then
                TitanQuests_Details_ScrollChild_RewardTitleText:Show();
                QuestFrame_SetAsLastShown(TitanQuests_Details_ScrollChild_RewardTitleText,TitanQuests_Details_ScrollChild_SpacerFrame);
        else
                TitanQuests_Details_ScrollChild_RewardTitleText:Hide();
        end

        TitanQuests_Items_Update("TitanQuests_Details_ScrollChild_");
        TitanQuests_Details_ScrollScrollBar:SetValue(0);
        TitanQuests_Details_Scroll:UpdateScrollChildRect();

	TitanQuests_Details_AbandonButton:SetText(ABANDON_QUEST);
	
	if ( GetQuestLogPushable() ) then
		TitanQuests_Details_ShareButton:Enable();
		TitanQuests_Details_ShareButton:SetText(TITAN_QUESTS_DETAILS_SHARE_BUTTON_TEXT);
	else
		TitanQuests_Details_ShareButton:Disable();
		TitanQuests_Details_ShareButton:SetText(TITAN_QUESTS_DETAILS_SHARE_BUTTON_TEXT);
	end

	-- Corgi: ATTN
	if ( GetNumQuestLeaderBoards(this.value[2]) > 0)  then
		if ( IsQuestWatched(this.value[2]) ) then
			TitanQuests_Details_WatchButton:Disable();
			
		elseif ( GetNumQuestWatches() >= MAX_WATCHABLE_QUESTS ) then
			TitanQuests_Details_WatchButton:Disable();
			
		else
			TitanQuests_Details_WatchButton:Enable();
			
		end
		

⌨️ 快捷键说明

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