📄 monkeyquestslash.lua
字号:
--[[
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 + -