📄 monkeyquestinit.lua
字号:
-- clean up the config hidden list
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_aQuestList = nil;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_aQuestList = {};
-- delete the objective list, we're about to rebuild it
MonkeyQuest.m_aQuestItemList = nil;
MonkeyQuest.m_aQuestItemList = {};
-- go through the quest list one more time and copy the entries from the temp list to the real list.
-- this gets rid of any list entries for quests the user doesn't have
for i = 1, iNumEntries, 1 do
-- strQuestLogTitleText the title text of the quest, may be a header (ex. Wetlands)
-- strQuestLevel the level of the quest
-- strQuestTag the tag on the quest (ex. COMPLETED)
local strQuestLogTitleText, strQuestLevel, strQuestTag, isHeader, isCollapsed, isComplete = GetQuestLogTitle(i);
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_aQuestList[strQuestLogTitleText] = {};
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_aQuestList[strQuestLogTitleText].m_bChecked =
MonkeyQuest.m_aQuestList[strQuestLogTitleText].m_bChecked;
-- Select the quest log entry for other functions like GetNumQuestLeaderBoards()
SelectQuestLogEntry(i);
-- here's a good place to create the objective list
if (GetNumQuestLeaderBoards() > 0) then
for ii = 1, GetNumQuestLeaderBoards(), 1 do
--local string = getglobal("QuestLogObjective"..ii);
local strLeaderBoardText, strType, iFinished = GetQuestLogLeaderBoard(ii);
MonkeyQuest_AddQuestItemToList(strLeaderBoardText);
end
end
end
-- Restore the currently quest log selection
SelectQuestLogEntry(tmpQuestLogSelection);
-- kill it
MonkeyQuest.m_aQuestList = nil;
end
function MonkeyQuestInit_ResetConfig()
-- reset all the config variables to the defaults, but keep the hidden list intact
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bDisplay = true;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bDefaultAnchor = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strAnchor = "ANCHOR_TOPLEFT";
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bObjectives = true;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iAlpha = MONKEYQUEST_DEFAULT_ALPHA;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameAlpha = MONKEYQUEST_DEFAULT_FRAME_ALPHA;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bMinimized = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameWidth = MONKEYQUEST_DEFAULT_WIDTH;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowHidden = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoHeaders = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoBorder = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bGrowUp = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameLeft = MONKEYQUEST_DEFAULT_LEFT;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameTop = MONKEYQUEST_DEFAULT_TOP;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameBottom = MONKEYQUEST_DEFAULT_BOTTOM;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowNumQuests = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bLocked = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideCompletedQuests = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideCompletedObjectives = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bAllowRightClick = true;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowTooltipObjectives = true;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideTitleButtons = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideTitle = false;
-- colours
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strQuestTitleColour = MONKEYQUEST_DEFAULT_QUESTTITLECOLOUR;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strHeaderOpenColour = MONKEYQUEST_DEFAULT_HEADEROPENCOLOUR;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strHeaderClosedColour = MONKEYQUEST_DEFAULT_HEADERCLOSEDCOLOUR;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strOverviewColour = MONKEYQUEST_DEFAULT_OVERVIEWCOLOUR;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strSpecialObjectiveColour = MONKEYQUEST_DEFAULT_SPECIALOBJECTIVECOLOUR;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strMidObjectiveColour = MONKEYQUEST_DEFAULT_MIDOBJECTIVECOLOUR;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strInitialObjectiveColour = MONKEYQUEST_DEFAULT_INITIALOBJECTIVECOLOUR;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strCompleteObjectiveColour = MONKEYQUEST_DEFAULT_COMPLETEOBJECTIVECOLOUR;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strZoneHighlightColour = MONKEYQUEST_DEFAULT_ZONEHILIGHTCOLOUR;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFontHeight = 12;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashFont = false;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashBorder = false;
-- noob tips
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowNoobTips = MONKEYQUEST_DEFAULT_SHOWNOOBTIPS;
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iQuestPadding = MONKEYQUEST_DEFAULT_QUESTPADDING;
-- finally apply the settings
MonkeyQuestInit_ApplySettings();
end
function MonkeyQuestInit_Font(bCrashFont)
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashFont = bCrashFont;
if (bCrashFont) then
-- change the fonts
--MonkeyQuestTitleText:SetFont("Interface\\AddOns\\MonkeyLibrary\\Fonts\\adventure.ttf", MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFontHeight + 2);
--MonkeyQuestInit_SetButtonFonts("Interface\\AddOns\\MonkeyLibrary\\Fonts\\myriapsc.ttf", MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFontHeight);
-- Chinese display fix
MonkeyQuestInit_SetButtonFonts("Fonts\\FZXHJW.ttf", MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFontHeight);
else
-- Default look
-- change the fonts
--MonkeyQuestInit_SetButtonFonts("Interface\\AddOns\\MonkeyLibrary\\Fonts\\framd.ttf", MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFontHeight);
--MonkeyQuestTitleText:SetFont("Fonts\\FRIZQT__.TTF", MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFontHeight + 2);
-- Chinese display fix
MonkeyQuestInit_SetButtonFonts("Fonts\\FZLBJW.ttf", MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFontHeight);
end
-- set the border
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoBorder == true) then
MonkeyQuestFrame:SetBackdropBorderColor(0.0, 0.0, 0.0, 0.0);
else
MonkeyQuestFrame:SetBackdropBorderColor(MonkeyQuest.m_colourBorder.r, MonkeyQuest.m_colourBorder.g, MonkeyQuest.m_colourBorder.b, 1.0);
end
-- check for MonkeyBuddy
if (MonkeyBuddyQuestFrame_Refresh ~= nil) then
MonkeyBuddyQuestFrame_Refresh();
end
end
function MonkeyQuestInit_Border(bCrashBorder)
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashBorder = bCrashBorder;
if (bCrashBorder) then
-- change the border colour
MonkeyQuest.m_colourBorder.r = MONKEYQUEST_DEFAULT_CRASHCOLOUR.r;
MonkeyQuest.m_colourBorder.g = MONKEYQUEST_DEFAULT_CRASHCOLOUR.g;
MonkeyQuest.m_colourBorder.b = MONKEYQUEST_DEFAULT_CRASHCOLOUR.b;
else
-- Default look
-- change the border colour
MonkeyQuest.m_colourBorder.r = TOOLTIP_DEFAULT_COLOR.r;
MonkeyQuest.m_colourBorder.g = TOOLTIP_DEFAULT_COLOR.g;
MonkeyQuest.m_colourBorder.b = TOOLTIP_DEFAULT_COLOR.b;
end
-- set the border
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoBorder == true) then
MonkeyQuestFrame:SetBackdropBorderColor(0.0, 0.0, 0.0, 0.0);
else
MonkeyQuestFrame:SetBackdropBorderColor(MonkeyQuest.m_colourBorder.r, MonkeyQuest.m_colourBorder.g, MonkeyQuest.m_colourBorder.b, 1.0);
end
-- check for MonkeyBuddy
if (MonkeyBuddyQuestFrame_Refresh ~= nil) then
MonkeyBuddyQuestFrame_Refresh();
end
end
function MonkeyQuestInit_SetButtonFonts(strFontName, iFontHeight)
local i = 0;
-- set the font for all buttons
for i = 1, MonkeyQuest.m_iNumQuestButtons, 1 do
getglobal("MonkeyQuestButton" .. i .. "Text"):SetFont(strFontName, iFontHeight);
end
end
function MonkeyQuestInit_ApplySettings()
-- init the look
MonkeyQuestInit_Font(MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashFont);
MonkeyQuestInit_Border(MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashBorder);
-- show or hide the main frame
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bDisplay == true) then
MonkeyQuestFrame:Show();
else
MonkeyQuestFrame:Hide();
end
-- make sure the minimize button has the right texture
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bMinimized == true) then
MonkeyQuestMinimizeButton:SetNormalTexture("Interface\\AddOns\\MonkeyLibrary\\Textures\\MinimizeButton-Down");
else
MonkeyQuestMinimizeButton:SetNormalTexture("Interface\\AddOns\\MonkeyLibrary\\Textures\\MinimizeButton-Up");
end
-- show or hide the title buttons
MonkeyQuestSlash_CmdHideTitleButtons(MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideTitleButtons);
-- set the alpha
MonkeyQuest_SetAlpha(MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iAlpha);
MonkeyQuest_SetFrameAlpha(MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameAlpha);
-- set the border
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoBorder == true) then
MonkeyQuestFrame:SetBackdropBorderColor(0.0, 0.0, 0.0, 0.0);
else
MonkeyQuestFrame:SetBackdropBorderColor(MonkeyQuest.m_colourBorder.r, MonkeyQuest.m_colourBorder.g, MonkeyQuest.m_colourBorder.b, 1.0);
end
-- set the width
MonkeyQuestFrame:SetWidth(MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameWidth);
-- set the quest padding
MonkeyQuestSlash_CmdSetQuestPadding(MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iQuestPadding);
-- finally refresh the quest list
MonkeyQuest_Refresh();
-- check for MonkeyBuddy
if (MonkeyBuddyQuestFrame_Refresh ~= nil) then
MonkeyBuddyQuestFrame_Refresh();
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -