📄 monkeyquestinit.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
--]]
function MonkeyQuestInit_LoadConfig()
-- double check that we aren't already loaded
if (MonkeyQuest.m_bLoaded == true) then
-- how did it even get here?
return;
end
-- double check that variables loaded event triggered, if not, exit
if (MonkeyQuest.m_bVariablesLoaded == false) then
return;
end
-- add the realm to the "player's name" for the config settings
MonkeyQuest.m_strPlayer = GetCVar("realmName").."|"..MonkeyQuest.m_strPlayer;
-- check if the variable needs initializing
if (not MonkeyQuestConfig) then
MonkeyQuestConfig = {};
end
-- if there's not an entry for this
if (not MonkeyQuestConfig[MonkeyQuest.m_strPlayer]) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer] = {};
end
-- set the defaults if the variables don't exist
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bDisplay == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bDisplay = true;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strAnchor == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strAnchor = "ANCHOR_TOPLEFT";
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bObjectives == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bObjectives = true;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iAlpha == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iAlpha = MONKEYQUEST_DEFAULT_ALPHA;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameAlpha == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameAlpha = MONKEYQUEST_DEFAULT_FRAME_ALPHA;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bMinimized == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bMinimized = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_aQuestList == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_aQuestList = {};
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameWidth == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFrameWidth = MONKEYQUEST_DEFAULT_WIDTH;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowHidden == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowHidden = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoHeaders == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoHeaders = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoBorder == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bNoBorder = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bGrowUp == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bGrowUp = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowNumQuests == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowNumQuests = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bLocked == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bLocked = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideCompletedQuests == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideCompletedQuests = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideCompletedObjectives == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideCompletedObjectives = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bAllowRightClick == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bAllowRightClick = true;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowTooltipObjectives == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowTooltipObjectives = true;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideTitleButtons == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideTitleButtons = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideTitle == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bHideTitle = false;
end
-- colour config vars
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bColourTitle == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bColourTitle = false;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strQuestTitleColour == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strQuestTitleColour = MONKEYQUEST_DEFAULT_QUESTTITLECOLOUR;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strHeaderOpenColour == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strHeaderOpenColour = MONKEYQUEST_DEFAULT_HEADEROPENCOLOUR;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strHeaderClosedColour == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strHeaderClosedColour = MONKEYQUEST_DEFAULT_HEADERCLOSEDCOLOUR;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strOverviewColour == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strOverviewColour = MONKEYQUEST_DEFAULT_OVERVIEWCOLOUR;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strSpecialObjectiveColour == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strSpecialObjectiveColour = MONKEYQUEST_DEFAULT_SPECIALOBJECTIVECOLOUR;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strInitialObjectiveColour == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strInitialObjectiveColour = MONKEYQUEST_DEFAULT_INITIALOBJECTIVECOLOUR;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strMidObjectiveColour == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strMidObjectiveColour = MONKEYQUEST_DEFAULT_MIDOBJECTIVECOLOUR;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strCompleteObjectiveColour == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strCompleteObjectiveColour = MONKEYQUEST_DEFAULT_COMPLETEOBJECTIVECOLOUR;
end
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strZoneHighlightColour == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_strZoneHighlightColour = MONKEYQUEST_DEFAULT_ZONEHILIGHTCOLOUR;
end
-- font configs
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFontHeight == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iFontHeight = 12;
end
-- Crash font
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashFont == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashFont = false;
end
-- Crash border
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashBorder == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bCrashBorder = false;
end
-- Noob tips
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowNoobTips == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_bShowNoobTips = MONKEYQUEST_DEFAULT_SHOWNOOBTIPS;
end
-- quest padding
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iQuestPadding == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_iQuestPadding = MONKEYQUEST_DEFAULT_QUESTPADDING;
end
-- All variables are loaded now
MonkeyQuest.m_bLoaded = true;
-- finally apply the settings
MonkeyQuestInit_ApplySettings();
-- Let the user know the mod is loaded
if (DEFAULT_CHAT_FRAME) then
--DEFAULT_CHAT_FRAME:AddMessage(MONKEYQUEST_LOADED_MSG);
end
gLim_RegisterButton (
"Quest Minion",
"任务辅助",
"Interface\\AddOns\\MonkeyQuest\\Icon",
function()
ShowUIPanel(MonkeyBuddyFrame);
end,
1,
4
);
end
function MonkeyQuestInit_CleanQuestList()
-- make sure the hidden array is ready to go
local iNumEntries, iNumQuests = GetNumQuestLogEntries();
-- Remember the currently selected quest log entry
local tmpQuestLogSelection = GetQuestLogSelection();
MonkeyQuest.m_iNumEntries = iNumEntries;
-- go through the quest list and m_aQuestList is initialized
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);
MonkeyQuest.m_aQuestList[strQuestLogTitleText] = {};
-- put the entry in the hidden list if it's not there already
if (MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_aQuestList[strQuestLogTitleText] == nil) then
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_aQuestList[strQuestLogTitleText] = {};
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_aQuestList[strQuestLogTitleText].m_bChecked = true;
end
MonkeyQuest.m_aQuestList[strQuestLogTitleText].m_bChecked =
MonkeyQuestConfig[MonkeyQuest.m_strPlayer].m_aQuestList[strQuestLogTitleText].m_bChecked;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -