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

📄 monkeyquestslash.lua

📁 时间太紧了
💻 LUA
📖 第 1 页 / 共 2 页
字号:
--[[

	MonkeyQuest:
	Displays your quests for quick viewing.
	
	Website:	http://wow.visualization.ca/
	Author:		Trentin (monkeymods@gmail.com)
	
	
	Contributors:
	Celdor
		- Help with the Quest Log Freeze bug
		
	Diungo
		- Toggle grow direction
		
	Pkp
		- Color Quest Titles the same as the quest level
	
	wowpendium.de
		- German translation
		
	MarsMod
		- Valid player name before the VARIABLES_LOADED event bug
		- Settings resetting bug

--]]


-- define the dialog box for reseting config
StaticPopupDialogs["MONKEYQUEST_RESET"] = {
	text = TEXT(MONKEYQUEST_CONFIRM_RESET),
	button1 = TEXT(OKAY),
	button2 = TEXT(CANCEL),
	OnAccept = function()
		MonkeyQuestInit_ResetConfig();
		if (DEFAULT_CHAT_FRAME) then
			DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_RESET_MSG);
		end
	end,
	timeout = 0,
	exclusive = 1
};

-- function to register all the slash commands
function MonkeyQuestSlash_Init()
	-- this command toggles the Quest Monkey display
	SlashCmdList["MONKEYQUEST_DISPLAY"] = MonkeyQuestSlash_Parse;
	SLASH_MONKEYQUEST_DISPLAY1 = "/monkeyquest";
	SLASH_MONKEYQUEST_DISPLAY2 = "/mquest";
end

function MonkeyQuestSlash_Parse(msg)
	-- if not loaded yet then get out
	if (MonkeyQuest.m_bLoaded == false) then
		return;
	end

	if (msg == nil or msg == "" or string.find(msg, "help") ~= nil) then
		local i, j = string.find(msg, "help");
		
		if (i ~= nil) then
			MonkeyQuestSlash_CmdHelp(string.lower(string.sub(msg, j + 2)));
			return;
		end
				
		MonkeyQuestSlash_CmdHelp();
		return;
	end
	if (string.lower(msg) == "reset") then
		MonkeyQuestSlash_CmdReset();
		return;
	end
	if (string.lower(msg) == "open") then
		MonkeyQuestSlash_CmdOpen(true);
		return;
	end
	if (string.lower(msg) == "close") then
		MonkeyQuestSlash_CmdOpen(false);
		return;
	end
	if (string.lower(msg) == "showhidden") then
		MonkeyQuestSlash_CmdShowHidden(true);
		return;
	end
	if (string.lower(msg) == "hidehidden") then
		MonkeyQuestSlash_CmdShowHidden(false);
		return;
	end
	if (string.lower(msg) == "useoverviews") then
		MonkeyQuestSlash_CmdUseOverviews(true);
		return;
	end
	if (string.lower(msg) == "nooverviews") then
		MonkeyQuestSlash_CmdUseOverviews(false);
		return;
	end
	if (string.lower(msg) == "hideheaders") then
		MonkeyQuestSlash_CmdHideHeaders(true);
		return;
	end
	if (string.lower(msg) == "showheaders") then
		MonkeyQuestSlash_CmdHideHeaders(false);
		return;
	end
	if (string.lower(msg) == "hideborder") then
		MonkeyQuestSlash_CmdHideBorder(true);
		return;
	end
	if (string.lower(msg) == "showborder") then
		MonkeyQuestSlash_CmdHideBorder(false);
		return;
	end
	if (string.lower(msg) == "growup") then
		MonkeyQuestSlash_CmdGrowUp(true);
		return;
	end
	if (string.lower(msg) == "growdown") then
		MonkeyQuestSlash_CmdGrowUp(false);
		return;
	end
	if (string.find(msg, "alpha") ~= nil) then
		local i, j = string.find(msg, "%d+");
		
		if (i ~= nil) then
			MonkeyQuestSlash_CmdAlpha(tonumber(string.sub(msg, i, j), 10));
		end
		return;
	end
	if (string.find(msg, "width") ~= nil) then
		local i, j = string.find(msg, "%d+");
		
		if (i ~= nil) then
			MonkeyQuestSlash_CmdWidth(tonumber(string.sub(msg, i, j), 10));
		end
		return;
	end
	if (string.find(msg, "fontheight") ~= nil) then
		local i, j = string.find(msg, "%d+");
		
		if (i ~= nil) then
			MonkeyQuestSlash_CmdFontHeight(tonumber(string.sub(msg, i, j), 10));
		end
		return;
	end
	if (string.find(msg, "tipanchor") ~= nil) then
		local i, j = string.find(msg, "=");
		
		if (i ~= nil) then
			MonkeyQuestSlash_CmdTipAnchor(string.sub(msg, i + 1));
		end
		return;
	end
	if (string.lower(msg) == "shownumquests") then
		MonkeyQuestSlash_CmdShowNumQuests(true);
		return;
	end
	if (string.lower(msg) == "hidenumquests") then
		MonkeyQuestSlash_CmdShowNumQuests(false);
		return;
	end
	if (string.lower(msg) == "lock") then
		MonkeyQuestSlash_CmdLock(true);
		return;
	end
	if (string.lower(msg) == "unlock") then
		MonkeyQuestSlash_CmdLock(false);
		return;
	end
	if (string.lower(msg) == "colourtitleon" or string.lower(msg) == "colortitleon") then
		MonkeyQuestSlash_CmdColourTitleOn(true);	
		return;
	end
	if (string.lower(msg) == "colourtitleoff" or string.lower(msg) == "colortitleoff") then
		MonkeyQuestSlash_CmdColourTitleOn(false);	
		return;
	end
	if (string.lower(msg) == "hidecompletedquests") then
		MonkeyQuestSlash_CmdHideCompletedQuests(true);
		return;
	end
	if (string.lower(msg) == "showcompletedquests") then
		MonkeyQuestSlash_CmdHideCompletedQuests(false);
		return;
	end
	if (string.lower(msg) == "hidecompletedobjectives") then
		MonkeyQuestSlash_CmdHideCompletedObjectives(true);
		return;
	end
	if (string.lower(msg) == "showcompletedobjectives") then
		MonkeyQuestSlash_CmdHideCompletedObjectives(false);
		return;
	end
	if (string.lower(msg) == "showtooltipobjectives") then
		MonkeyQuestSlash_CmdShowTooltipObjectives(true);
		return;
	end
	if (string.lower(msg) == "hidetooltipobjectives") then
		MonkeyQuestSlash_CmdShowTooltipObjectives(false);
		return;
	end
	if (string.lower(msg) == "allowrightclick") then
		MonkeyQuestSlash_CmdAllowRightClick(true);
		return;
	end
	if (string.lower(msg) == "disallowrightclick") then
		MonkeyQuestSlash_CmdAllowRightClick(false);
		return;
	end
	if (string.lower(msg) == "hidetitlebuttons") then
		MonkeyQuestSlash_CmdHideTitleButtons(true);
		return;
	end
	if (string.lower(msg) == "showtitlebuttons") then
		MonkeyQuestSlash_CmdHideTitleButtons(false);
		return;
	end
	if (string.lower(msg) == "hidetitle") then
		MonkeyQuestSlash_CmdHideTitle(true);
		return;
	end
	if (string.lower(msg) == "showtitle") then
		MonkeyQuestSlash_CmdHideTitle(false);
		return;
	end

	-- didn't match any others, print out the help msg
	MonkeyQuestSlash_CmdHelp();
end

function MonkeyQuestSlash_CmdHelp(strCommand)
	if (not DEFAULT_CHAT_FRAME) then
		return;
	end
	
	if (strCommand == nil) then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_MSG);
		return;
	end
	if (strCommand == "reset") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_RESET_MSG);
		return;
	end
	if (strCommand == "open") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_OPEN_MSG);
		return;
	end
	if (strCommand == "close") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_CLOSE_MSG);
		return;
	end
	if (strCommand == "showhidden") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_SHOWHIDDEN_MSG);
		return;
	end
	if (strCommand == "hidehidden") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_HIDEHIDDEN_MSG);
		return;
	end
	if (strCommand == "useoverviews") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_USEOVERVIEWS_MSG);
		return;
	end
	if (strCommand == "nooverviews") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_NOOVERVIEWS_MSG);
		return;
	end
	if (strCommand == "tipanchor") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_TIPANCHOR_MSG);
		return;
	end
	if (strCommand == "alpha") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_ALPHA_MSG);
		return;
	end
	if (strCommand == "width") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_WIDTH_MSG);
		return;
	end
	if (strCommand == "fontheight") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_FONTHEIGHT_MSG);
		return;
	end
	if (strCommand == "hideheaders") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_HIDEHEADERS_MSG);
		return;
	end
	if (strCommand == "showheaders") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_SHOWHEADERS_MSG);
		return;
	end
	if (strCommand == "hideborder") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_HIDEBORDER_MSG);
		return;
	end
	if (strCommand == "showborder") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_SHOWBORDER_MSG);
		return;
	end
	if (strCommand == "growup") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_GROWUP_MSG);
		return;
	end
	if (strCommand == "growdown") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_GROWDOWN_MSG);
		return;
	end
	if (strCommand == "hidenumquests") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_HIDENUMQUESTS_MSG);
		return;
	end
	if (strCommand == "shownumquests") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_SHOWNUMQUESTS_MSG);
		return;
	end
	if (strCommand == "lock") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_LOCK_MSG);
		return;
	end
	if (strCommand == "unlock") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_UNLOCK_MSG);
		return;
	end
	if (strCommand == "colourtitleon" or strCommand == "colortitleon") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_COLOURTITLEON_MSG);
		return;
	end
	if (strCommand == "colourtitleoff" or strCommand == "colortitleoff") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_COLOURTITLEOFF_MSG);
		return;
	end
	if (strCommand == "hidecompletedquests") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_HIDECOMPLETEDQUESTS_MSG);
		return;
	end
	if (strCommand == "showcompletedquests") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_SHOWCOMPLETEDQUESTS_MSG);
		return;
	end
	if (strCommand == "hidecompletedobjectives") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_HIDECOMPLETEDOBJECTIVES_MSG);
		return;
	end
	if (strCommand == "showcompletedobjectives") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_SHOWCOMPLETEDOBJECTIVES_MSG);
		return;
	end
	if (strCommand == "fontheight") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_FONTHEIGHT_MSG);
		return;
	end
	if (strCommand == "showtooltipobjectives") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_SHOWTOOLTIPOBJECTIVES_MSG);
		return;
	end
	if (strCommand == "hidetooltipobjectives") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_HIDETOOLTIPOBJECTIVES_MSG);
		return;
	end
	if (strCommand == "allowrightclick") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_ALLOWRIGHTCLICK_MSG);
		return;
	end
	if (strCommand == "disallowrightclick") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_DISALLOWRIGHTCLICK_MSG);
		return;
	end
	if (strCommand == "hidetitlebuttons") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_HIDETITLEBUTTONS_MSG);
		return;
	end
	if (strCommand == "showtitlebuttons") then
		DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_SHOWTITLEBUTTONS_MSG);
		return;
	end
	
	-- made it to the end just print the default help
	DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_HELP_MSG);
end

function MonkeyQuestSlash_CmdReset()
	StaticPopup_Show("MONKEYQUEST_RESET");
end

function MonkeyQuestSlash_CmdOpen(bOpen)
	MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bDisplay = bOpen;
	
	if (bOpen == true) then
		MonkeyQuest_Show();
	else
		MonkeyQuest_Hide();
	end
	
	-- check for MonkeyBuddy
	if (MonkeyBuddyQuestFrame_Refresh ~= nil) then
		MonkeyBuddyQuestFrame_Refresh();
	end
end

function MonkeyQuestSlash_CmdShowHidden(bShow)
	MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowHidden = bShow;
	MonkeyQuest_Refresh();
	
	-- check for MonkeyBuddy
	if (MonkeyBuddyQuestFrame_Refresh ~= nil) then
		MonkeyBuddyQuestFrame_Refresh();
	end
end

function MonkeyQuestSlash_CmdUseOverviews(bOverviews)
	MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bObjectives = bOverviews;
	MonkeyQuest_Refresh();
	
	-- check for MonkeyBuddy
	if (MonkeyBuddyQuestFrame_Refresh ~= nil) then
		MonkeyBuddyQuestFrame_Refresh();
	end
end

function MonkeyQuestSlash_CmdHideHeaders(bHide)
	MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoHeaders = bHide;
	MonkeyQuest_Refresh();
	
	-- check for MonkeyBuddy
	if (MonkeyBuddyQuestFrame_Refresh ~= nil) then
		MonkeyBuddyQuestFrame_Refresh();
	end
end

function MonkeyQuestSlash_CmdHideBorder(bNoBorder)
	MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoBorder = bNoBorder;
	
	if (bNoBorder == true) then
		MonkeyQuestFrame:SetBackdropBorderColor(0.0, 0.0, 0.0, 0.0);
	elseif (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashBorder == true) then
		MonkeyQuestFrame:SetBackdropBorderColor(MONKEYQUEST_DEFAULT_CRASHCOLOUR.r, MONKEYQUEST_DEFAULT_CRASHCOLOUR.g, MONKEYQUEST_DEFAULT_CRASHCOLOUR.b, 1.0);

⌨️ 快捷键说明

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