level 2
hc9989
楼主
最近在玩怀旧魔兽世界1.12的私服,得到一个很好的地图插件,唯一有个缺陷就是调节地图透明度的时候人物移动的那个箭头指南针也跟着透明了,这样我就很难看到透明后的地图上我所处的位置以及所面对的方向,所以请会修改的大神帮忙修改一下,修改成当调节地图透明度的时候,人物指南针不跟着变成透明,并且把这个指南针变大一点变成高亮显示。
并配上两张图,一张是透明的,一张是不透明的。
因为代码太长,只能分段贴了
下面是Lua里面的内容
-- MetaMap
-- Written by MetaHawk - aka Urshurak
METAMAP_TITLE = "MetaMap";
METAMAP_TOC = 11200;
METAMAP_VERSION = METAMAP_TOC.."-"..7;
METAMAP_NAME = METAMAP_TITLE.." v"..METAMAP_VERSION;
METAMAPFWM_NAME = "MetaMapPOI";
METAMAP_ICON = "Interface\\WorldMap\\WorldMap-Icon";
METAMAP_MAP_PATH = "Interface\\AddOns\\MetaMap\\Maps\\";
METAMAP_ICON_PATH = "Interface\\AddOns\\MetaMap\\Icons\\";
METAMAP_IMAGE_PATH = "Interface\\AddOns\\MetaMap\\Images\\"
METAMAP_SHADER_PATH = "Interface\\AddOns\\MetaMap\\Shaders\\"
METAMAP_MAPCREDITS = "地图由Niflheim制作";
TITAN_METAMAP_ID = METAMAP_TITLE;
TITAN_METAMAP_FREQUENCY = 1;
METAMAPMENU_BUTTON_HEIGHT = 16;
METAMAPLIST_SCROLL_FRAME_BUTTON_HEIGHT = 20;
METAMAPLIST_SCROLL_FRAME_BUTTONS_SHOWN = 30;
METAMAP_SORTBY_NAME = "name";
METAMAP_SORTBY_DESC = "desc";
METAMAP_SORTBY_LEVEL = "level";
METAMAP_SORTBY_LOCATION = "location";
MetaMap_Details = {
name = METAMAP_TITLE,
description = METAMAP_DESC,
version = METAMAP_VERSION,
releaseDate = "November 26, 2005",
author = "MetaHawk",
email = "[email protected]",
website = "",
category = MYADDONS_CATEGORY_MAP,
}
MetaMapOptions = {};
MetaMap_ZoneNames = {};
MetaMap_ZoneNames[0] = {};
MetaMap_ZoneNames[1] = {};
MetaMap_ZoneNames[2] = {};
MetaMap_NoteList = {};
MetaMap_NoteFilter = {};
MetaMapNotes_Options = {};
MetaMapNotes_MiniNote_Data = {};
MetaMapNotes_PartyNoteData = {};
MetaMapNotes_Relocate = {};
MetaMapNotes_LastLineClick = {};
MetaMap_CurrentMap = 0;
MetaMap_ListOffset = 0;
MetaMap_VarsLoaded = false;
MetaMap_FilterName = "";
MetaMap_PingTime = 15;
MetaMap_FullScreenMode = false;
MetaMapContainer_CurrentFrame = nil;
MetaMap_CurrentSaveSet = 1;
MetaMap_sortDone = true;
MetaMap_sortType = METAMAP_SORTBY_NAME;
MetaMap_OptionsInfo = nil;
MetaMapNotes_LastNote = 0;
MetaMapNotes_LastLine = 0;
MetaMapNotes_TempData_Id = "";
MetaMapNotes_TempData_Name = "";
MetaMapNotes_TempData_Creator = "";
MetaMapNotes_TempData_xPos = "";
MetaMapNotes_TempData_yPos = "";
MetaMapNotes_TempData_Icon = "";
MetaMapNotes_TempData_TextColor = "";
MetaMapNotes_TempData_Info1Color = "";
MetaMapNotes_TempData_Info2Color = "";
MetaMapNotes_TempData_LootID = nil;
MetaMapNotes_SetNextAsMiniNote = 0;
MetaMapNotes_LastLineClick.time = 0;
MetaMapNotes_Qnote = false;
MetaMapNotes_MiniNote_IsInCity = false;
MetaMapNotes_MiniNote_MapzoomInit = false;
MetaMapNotes_vnote_xPos = nil;
MetaMapNotes_vnote_yPos = nil;
MetaMapNotes_PartyNoteSet = false;
local MetaMapNotes_Mininote_UpdateRate = 0;
local MetaMap_OrigWorldMapButton_OnClick;
local MetaMap_OrigChatFrame_OnEvent;
METAMAPMENU_LIST = {
{name = METAMAP_OPTIONS_COORDS},
{name = METAMAP_OPTIONS_MINICOORDS},
{name = METAMAP_OPTIONS_SHOWNOTES},
{name = METAMAP_ACTION_MODE},
{name = METAMAP_OPTIONS_SAVESET},
{name = METAMAP_OPTIONS_SHADESET},
{name = "Spacer"},
{name = METAMAP_OPTIONS_EXT},
{name = METAMAP_FLIGHTMAP_OPTIONS},
{name = METAMAP_GATHERER_OPTIONS},
{name = METAMAP_BWP_OPTIONS},
{name = METAMAP_OPTIONS_USEMAPMOD},
{name = METAMAP_KB_TEXT},
{name = METAMAP_QST_TEXT},
{name = METAMAP_OPTIONS_FWM}
};
MetaMap_Default = {
["SaveSet"] = 1,
["MetaMapAlpha1"] = 1.0,
["MetaMapAlpha2"] = 0.60,
["BDshader1"] = 0.0,
["BDshader2"] = 0.0,
["MetaMapScale1"] = 0.75,
["MetaMapScale2"] = 0.55,
["MetaMapTTScale1"] = 1.0,
["MetaMapTTScale2"] = 0.75,
["ActionMode1"] = false,
["ActionMode2"] = false,
["MetaMapButtonPosition"] = 220,
["ShadeSet"] = 1,
["MiniColor"] = 4,
["MetaMapZone"] = 1,
["ZoneShiftVersion"] = 0,
["MetaMapCoords"] = true,
["MetaMapMiniCoords"] = true,
["MetaMapButtonShown"] = true,
["TooltipWrap"] = true,
["ShowCreator"] = true,
["MenuMode"] = false,
["UseMapMod"] = false,
["ShowMapList"] = false,
["LastHighlight"] = true,
["LastMiniHighlight"] = true,
["AcceptIncoming"] = true,
["MiniParty"] = true,
["ListColors"] = true,
["ZoneHeader"] = false,
["UsePOI"] = false,
["WKBalwaysOn"] = false,
["QSTalwaysOn"] = false,
["FWMalwaysOn"] = false,
["BWPalwaysOn"] = false,
["SortList"] = false,
}
function MetaMap_SetWorldMap()
BlackoutWorld:Hide();
WorldMapZoomOutButton:Hide();
WorldMapFrame:SetMovable(true);
WorldMapMagnifyingGlassButton:Hide();
WMF_OldScript = WorldMapFrame:GetScript("OnKeyDown")
WorldMapFrame:SetScript("OnKeyDown", nil);
UIPanelWindows["WorldMapFrame"] ={ area = "center",pushable = 0 };
SetMapToCurrentZone();
end
function MetaMapTopFrame_OnLoad()
math.randomseed(GetTime());
this:RegisterEvent("ADDON_LOADED");
this:RegisterEvent("VARIABLES_LOADED");
this:RegisterEvent("PLAYER_ENTERING_WORLD");
this:RegisterEvent("WORLD_MAP_UPDATE");
this:RegisterEvent("ZONE_CHANGED_NEW_AREA");
if (IsAddOnLoaded("FuBar")) then
MetaMap_FuBar_OnLoad();
end
end
function MetaMapFrameDropDown_OnLoad()
UIDropDownMenu_ClearAll(MetaMapFrameDropDown);
UIDropDownMenu_Initialize(MetaMapFrameDropDown, MetaMapFrameDropDown_Initialize);
UIDropDownMenu_SetWidth(175);
end
function MetaMapContainerFrame_OnLoad()
this:SetWidth(WorldMapButton:GetWidth() - MetaMap_MapListFrame:GetWidth()-1);
this:SetHeight(WorldMapButton:GetHeight()-41);
this:SetFrameLevel(this:GetParent():GetFrameLevel()
+3
);
MetaMapContainer_Header:SetFrameLevel(this:GetFrameLevel()+2);
MetaMapContainer_Footer:SetFrameLevel(this:GetFrameLevel()+2);
MetaMapContainer_CloseButton:SetFrameLevel(MetaMapContainer_Footer:GetFrameLevel()+2);
end
function MetaMapNotes_OnLoad()
MiniNotePOI.TimeSinceLastUpdate = 0;
SlashCmdList["MAPNOTE"] = MetaMapNotes_GetNoteBySlashCommand;
for i = 1, table.getn(METAMAPNOTES_ENABLE_COMMANDS) do
setglobal("SLASH_MAPNOTE"..i, METAMAPNOTES_ENABLE_COMMANDS[i]);
end
SlashCmdList["MININOTE"] = MetaMapNotes_NextMiniNote;
for i = 1, table.getn(METAMAPNOTES_MININOTE_COMMANDS) do
setglobal("SLASH_MININOTE"..i, METAMAPNOTES_MININOTE_COMMANDS[i]);
end
SlashCmdList["MININOTEONLY"] = MetaMapNotes_NextMiniNoteOnly;
for i = 1, table.getn(METAMAPNOTES_MININOTEONLY_COMMANDS) do
setglobal("SLASH_MININOTEONLY"..i, METAMAPNOTES_MININOTEONLY_COMMANDS[i]);
end
SlashCmdList["MININOTEOFF"] = MetaMapNotes_ClearMiniNote;
for i = 1, table.getn(METAMAPNOTES_MININOTEOFF_COMMANDS) do
setglobal("SLASH_MININOTEOFF"..i, METAMAPNOTES_MININOTEOFF_COMMANDS[i]);
end
SlashCmdList["QUICKNOTE"] = MetaMapNotes_Quicknote;
for i = 1, table.getn(METAMAPNOTES_QUICKNOTE_COMMANDS) do
setglobal("SLASH_QUICKNOTE"..i, METAMAPNOTES_QUICKNOTE_COMMANDS[i]);
end
end
function MetaMapTopFrame_OnShow()
if(not MetaMap_VarsLoaded) then return; end
MetaMap_CurrentMap = GetCurrentMapZone();
StaticPopup1:SetFrameStrata("FULLSCREEN");
if(MetaMap_FullScreenMode) then
MetaMapNotesEditFrame:SetParent("WorldMapFrame");
MetaMapNotesSendFrame:SetParent("WorldMapFrame");
end
local continent, zone = MetaMap_NameToZoneID(GetRealZoneText());
if(zone == 0) then return; end
local pX, pY = GetPlayerMapPosition("Player");
if(pX == 0 and pY == 0 and continent == 0) then
MetaMapOptions.MetaMapZone = zone;
MetaMap_Toggle(true)
end
end
function MetaMapTopFrame_OnHide()
SetMapToCurrentZone();
MetaMapNotes_HideAll()
MetaMap_Toggle(false);
MetaMap_ToggleDR(0);
MetaMapOptions.SaveSet = MetaMap_CurrentSaveSet;
MetaMapContainerFrame:Hide();
StaticPopup1:SetFrameStrata("DIALOG");
MetaMapNotesEditFrame:SetParent("UIParent");
MetaMapNotesEditFrame:SetFrameStrata("FULLSCREEN");
MetaMapNotesSendFrame:SetParent("UIParent");
MetaMapNotesSendFrame:SetFrameStrata("FULLSCREEN");
if(MetaMapContainer_CurrentFrame) then
MetaMapContainer_CurrentFrame:Hide();
end
end
function MetaMap_OnEvent(event)
if(event == "ADDON_LOADED" and arg1 == "MetaMap") then
MetaMap_SetWorldMap();
for option, value in MetaMap_Default do
if(MetaMapOptions[option] == nil) then MetaMapOptions[option] = value; end
end
MetaMap_Default = nil;
for i=0, 9, 1 do
if(MetaMap_NoteFilter[i] == nil) then MetaMap_NoteFilter[i] = true; end
end
MetaMap_LoadZones();
MetaMap_VerifyData();
MetaMap_FilterInit();
end
if(event == "VARIABLES_LOADED") then
MetaMap_CurrentSaveSet = MetaMapOptions.SaveSet;
MetaMapOptions_Init();
MetaMapMenu_Init();
if(myAddOnsFrame_Register) then
myAddOnsFrame_Register(MetaMap_Details);
end
if MetaMapNotes_MiniNote_Data.icon == "party" then
MetaMapNotes_ClearMiniNote(true);
end
if MetaMapNotes_MiniNote_Data.icon ~= nil then
MiniNotePOITexture:SetTexture(METAMAP_ICON_PATH.."Icon"..MetaMapNotes_MiniNote_Data.icon);
end
MetaMap_OrigWorldMapButton_OnClick = WorldMapButton_OnClick;
WorldMapButton_OnClick = MetaMapNotes_WorldMapButton_OnClick;
MetaMap_OrigChatFrame_OnEvent = ChatFrame_OnEvent;
ChatFrame_OnEvent = MetaMap_ChatFrame_OnEvent;
MetaMap_SetNUNtooltip();
if(MetaMapOptions.WKBalwaysOn) then MetaMap_LoadWKB(3); end
if(MetaMapOptions.BWPalwaysOn) then MetaMap_LoadBWP(0, 3); end
if(MetaMapOptions.QSTalwaysOn) then MetaMap_LoadQST(2); end
if(MetaMapOptions.FWMalwaysOn) then MetaMap_LoadFWM(); end
MetaMap_VarsLoaded = true;
end
if(event == "INSTANCE_MAP_UPDATE") then
if(not MetaMap_VarsLoaded) then return; end
if(not IsAddOnLoaded("MetaMapWKB") and not IsAddOnLoaded("MetaMapQST")) then
MetaMapContainer_ShowFrame();
else
if(IsAddOnLoaded("MetaMapWKB")) then
MetaKB_OnEvent("INSTANCE_MAP_UPDATE");
end
if(IsAddOnLoaded("MetaMapQST")) then
QST_OnEvent("INSTANCE_MAP_UPDATE");
end
end
MetaMapNotes_HideAll();
MetaMap_Refresh();
MetaMap_ZoneHeader();
end
if(event == "WORLD_MAP_UPDATE") then
if(not MetaMap_VarsLoaded) then return; end
if(MetaMap_CurrentMap ~= GetCurrentMapZone() and MetaMapFrame:IsVisible()) then
MetaMap_Toggle(false);
end
MetaMap_CurrentMap = GetCurrentMapZone();
if(MetaMapOptions.usePOI) then
MetaMapPOI_OnEvent(1);
end
if(not IsAddOnLoaded("MetaMapWKB") and not IsAddOnLoaded("MetaMapQST")) then
MetaMapContainer_ShowFrame();
end
if(MetaMap_CurrentMap ~= 0) then
MetaMapNotes_HideAll();
end
MetaMapOptions_Init();
MetaMapNotes_MapUpdate();
MetaMap_ZoneHeader();
end
if(event == "ZONE_CHANGED_NEW_AREA") then
if(not MetaMap_VarsLoaded) then return; end
SetMapToCurrentZone();
MetaMapNotes_MiniNote_OnUpdate(0);
if(MetaMapOptions.usePOI) then
MetaMapPOI_OnEvent(2);
end
if(WorldMapFrame:IsVisible()) then
MetaMapNotes_MapUpdate();
end
MetaMapNotes_HideAll();
end
if(event == "PLAYER_ENTERING_WORLD") then
if(not MetaMap_VarsLoaded) then return; end
MetaMap_CurrentMap = GetCurrentMapZone();
local continent, zone = MetaMap_NameToZoneID(GetRealZoneText());
if(zone == 0) then return; end
local pX, pY = GetPlayerMapPosition("Player");
if(pX == 0 and pY == 0 and continent == 0) then
MetaMapOptions.MetaMapZone = zone;
MetaMap_Toggle(true);
end
end
if(event == "MINIMAP_UPDATE_ZOOM") then
MetaMapNotes_MinimapUpdateZoom();
end
end
function MetaMap_ChatFrame_OnEvent(...)
local event = unpack(arg);
if(strsub(event, 1, 16) == "CHAT_MSG_WHISPER" and strsub(arg1, 1, 6) == "<MapN>") then
if(arg2 ~= UnitName("player")) then
MetaMapNotes_GetNoteFromChat(arg1, arg2);
end
else
MetaMap_OrigChatFrame_OnEvent(unpack(arg));
end
end



2015年07月28日 19点07分
1
并配上两张图,一张是透明的,一张是不透明的。
因为代码太长,只能分段贴了
下面是Lua里面的内容
-- MetaMap
-- Written by MetaHawk - aka Urshurak
METAMAP_TITLE = "MetaMap";
METAMAP_TOC = 11200;
METAMAP_VERSION = METAMAP_TOC.."-"..7;
METAMAP_NAME = METAMAP_TITLE.." v"..METAMAP_VERSION;
METAMAPFWM_NAME = "MetaMapPOI";
METAMAP_ICON = "Interface\\WorldMap\\WorldMap-Icon";
METAMAP_MAP_PATH = "Interface\\AddOns\\MetaMap\\Maps\\";
METAMAP_ICON_PATH = "Interface\\AddOns\\MetaMap\\Icons\\";
METAMAP_IMAGE_PATH = "Interface\\AddOns\\MetaMap\\Images\\"
METAMAP_SHADER_PATH = "Interface\\AddOns\\MetaMap\\Shaders\\"
METAMAP_MAPCREDITS = "地图由Niflheim制作";
TITAN_METAMAP_ID = METAMAP_TITLE;
TITAN_METAMAP_FREQUENCY = 1;
METAMAPMENU_BUTTON_HEIGHT = 16;
METAMAPLIST_SCROLL_FRAME_BUTTON_HEIGHT = 20;
METAMAPLIST_SCROLL_FRAME_BUTTONS_SHOWN = 30;
METAMAP_SORTBY_NAME = "name";
METAMAP_SORTBY_DESC = "desc";
METAMAP_SORTBY_LEVEL = "level";
METAMAP_SORTBY_LOCATION = "location";
MetaMap_Details = {
name = METAMAP_TITLE,
description = METAMAP_DESC,
version = METAMAP_VERSION,
releaseDate = "November 26, 2005",
author = "MetaHawk",
email = "[email protected]",
website = "",
category = MYADDONS_CATEGORY_MAP,
}
MetaMapOptions = {};
MetaMap_ZoneNames = {};
MetaMap_ZoneNames[0] = {};
MetaMap_ZoneNames[1] = {};
MetaMap_ZoneNames[2] = {};
MetaMap_NoteList = {};
MetaMap_NoteFilter = {};
MetaMapNotes_Options = {};
MetaMapNotes_MiniNote_Data = {};
MetaMapNotes_PartyNoteData = {};
MetaMapNotes_Relocate = {};
MetaMapNotes_LastLineClick = {};
MetaMap_CurrentMap = 0;
MetaMap_ListOffset = 0;
MetaMap_VarsLoaded = false;
MetaMap_FilterName = "";
MetaMap_PingTime = 15;
MetaMap_FullScreenMode = false;
MetaMapContainer_CurrentFrame = nil;
MetaMap_CurrentSaveSet = 1;
MetaMap_sortDone = true;
MetaMap_sortType = METAMAP_SORTBY_NAME;
MetaMap_OptionsInfo = nil;
MetaMapNotes_LastNote = 0;
MetaMapNotes_LastLine = 0;
MetaMapNotes_TempData_Id = "";
MetaMapNotes_TempData_Name = "";
MetaMapNotes_TempData_Creator = "";
MetaMapNotes_TempData_xPos = "";
MetaMapNotes_TempData_yPos = "";
MetaMapNotes_TempData_Icon = "";
MetaMapNotes_TempData_TextColor = "";
MetaMapNotes_TempData_Info1Color = "";
MetaMapNotes_TempData_Info2Color = "";
MetaMapNotes_TempData_LootID = nil;
MetaMapNotes_SetNextAsMiniNote = 0;
MetaMapNotes_LastLineClick.time = 0;
MetaMapNotes_Qnote = false;
MetaMapNotes_MiniNote_IsInCity = false;
MetaMapNotes_MiniNote_MapzoomInit = false;
MetaMapNotes_vnote_xPos = nil;
MetaMapNotes_vnote_yPos = nil;
MetaMapNotes_PartyNoteSet = false;
local MetaMapNotes_Mininote_UpdateRate = 0;
local MetaMap_OrigWorldMapButton_OnClick;
local MetaMap_OrigChatFrame_OnEvent;
METAMAPMENU_LIST = {
{name = METAMAP_OPTIONS_COORDS},
{name = METAMAP_OPTIONS_MINICOORDS},
{name = METAMAP_OPTIONS_SHOWNOTES},
{name = METAMAP_ACTION_MODE},
{name = METAMAP_OPTIONS_SAVESET},
{name = METAMAP_OPTIONS_SHADESET},
{name = "Spacer"},
{name = METAMAP_OPTIONS_EXT},
{name = METAMAP_FLIGHTMAP_OPTIONS},
{name = METAMAP_GATHERER_OPTIONS},
{name = METAMAP_BWP_OPTIONS},
{name = METAMAP_OPTIONS_USEMAPMOD},
{name = METAMAP_KB_TEXT},
{name = METAMAP_QST_TEXT},
{name = METAMAP_OPTIONS_FWM}
};
MetaMap_Default = {
["SaveSet"] = 1,
["MetaMapAlpha1"] = 1.0,
["MetaMapAlpha2"] = 0.60,
["BDshader1"] = 0.0,
["BDshader2"] = 0.0,
["MetaMapScale1"] = 0.75,
["MetaMapScale2"] = 0.55,
["MetaMapTTScale1"] = 1.0,
["MetaMapTTScale2"] = 0.75,
["ActionMode1"] = false,
["ActionMode2"] = false,
["MetaMapButtonPosition"] = 220,
["ShadeSet"] = 1,
["MiniColor"] = 4,
["MetaMapZone"] = 1,
["ZoneShiftVersion"] = 0,
["MetaMapCoords"] = true,
["MetaMapMiniCoords"] = true,
["MetaMapButtonShown"] = true,
["TooltipWrap"] = true,
["ShowCreator"] = true,
["MenuMode"] = false,
["UseMapMod"] = false,
["ShowMapList"] = false,
["LastHighlight"] = true,
["LastMiniHighlight"] = true,
["AcceptIncoming"] = true,
["MiniParty"] = true,
["ListColors"] = true,
["ZoneHeader"] = false,
["UsePOI"] = false,
["WKBalwaysOn"] = false,
["QSTalwaysOn"] = false,
["FWMalwaysOn"] = false,
["BWPalwaysOn"] = false,
["SortList"] = false,
}
function MetaMap_SetWorldMap()
BlackoutWorld:Hide();
WorldMapZoomOutButton:Hide();
WorldMapFrame:SetMovable(true);
WorldMapMagnifyingGlassButton:Hide();
WMF_OldScript = WorldMapFrame:GetScript("OnKeyDown")
WorldMapFrame:SetScript("OnKeyDown", nil);
UIPanelWindows["WorldMapFrame"] ={ area = "center",pushable = 0 };
SetMapToCurrentZone();
end
function MetaMapTopFrame_OnLoad()
math.randomseed(GetTime());
this:RegisterEvent("ADDON_LOADED");
this:RegisterEvent("VARIABLES_LOADED");
this:RegisterEvent("PLAYER_ENTERING_WORLD");
this:RegisterEvent("WORLD_MAP_UPDATE");
this:RegisterEvent("ZONE_CHANGED_NEW_AREA");
if (IsAddOnLoaded("FuBar")) then
MetaMap_FuBar_OnLoad();
end
end
function MetaMapFrameDropDown_OnLoad()
UIDropDownMenu_ClearAll(MetaMapFrameDropDown);
UIDropDownMenu_Initialize(MetaMapFrameDropDown, MetaMapFrameDropDown_Initialize);
UIDropDownMenu_SetWidth(175);
end
function MetaMapContainerFrame_OnLoad()
this:SetWidth(WorldMapButton:GetWidth() - MetaMap_MapListFrame:GetWidth()-1);
this:SetHeight(WorldMapButton:GetHeight()-41);
this:SetFrameLevel(this:GetParent():GetFrameLevel()
+3
);
MetaMapContainer_Header:SetFrameLevel(this:GetFrameLevel()+2);
MetaMapContainer_Footer:SetFrameLevel(this:GetFrameLevel()+2);
MetaMapContainer_CloseButton:SetFrameLevel(MetaMapContainer_Footer:GetFrameLevel()+2);
end
function MetaMapNotes_OnLoad()
MiniNotePOI.TimeSinceLastUpdate = 0;
SlashCmdList["MAPNOTE"] = MetaMapNotes_GetNoteBySlashCommand;
for i = 1, table.getn(METAMAPNOTES_ENABLE_COMMANDS) do
setglobal("SLASH_MAPNOTE"..i, METAMAPNOTES_ENABLE_COMMANDS[i]);
end
SlashCmdList["MININOTE"] = MetaMapNotes_NextMiniNote;
for i = 1, table.getn(METAMAPNOTES_MININOTE_COMMANDS) do
setglobal("SLASH_MININOTE"..i, METAMAPNOTES_MININOTE_COMMANDS[i]);
end
SlashCmdList["MININOTEONLY"] = MetaMapNotes_NextMiniNoteOnly;
for i = 1, table.getn(METAMAPNOTES_MININOTEONLY_COMMANDS) do
setglobal("SLASH_MININOTEONLY"..i, METAMAPNOTES_MININOTEONLY_COMMANDS[i]);
end
SlashCmdList["MININOTEOFF"] = MetaMapNotes_ClearMiniNote;
for i = 1, table.getn(METAMAPNOTES_MININOTEOFF_COMMANDS) do
setglobal("SLASH_MININOTEOFF"..i, METAMAPNOTES_MININOTEOFF_COMMANDS[i]);
end
SlashCmdList["QUICKNOTE"] = MetaMapNotes_Quicknote;
for i = 1, table.getn(METAMAPNOTES_QUICKNOTE_COMMANDS) do
setglobal("SLASH_QUICKNOTE"..i, METAMAPNOTES_QUICKNOTE_COMMANDS[i]);
end
end
function MetaMapTopFrame_OnShow()
if(not MetaMap_VarsLoaded) then return; end
MetaMap_CurrentMap = GetCurrentMapZone();
StaticPopup1:SetFrameStrata("FULLSCREEN");
if(MetaMap_FullScreenMode) then
MetaMapNotesEditFrame:SetParent("WorldMapFrame");
MetaMapNotesSendFrame:SetParent("WorldMapFrame");
end
local continent, zone = MetaMap_NameToZoneID(GetRealZoneText());
if(zone == 0) then return; end
local pX, pY = GetPlayerMapPosition("Player");
if(pX == 0 and pY == 0 and continent == 0) then
MetaMapOptions.MetaMapZone = zone;
MetaMap_Toggle(true)
end
end
function MetaMapTopFrame_OnHide()
SetMapToCurrentZone();
MetaMapNotes_HideAll()
MetaMap_Toggle(false);
MetaMap_ToggleDR(0);
MetaMapOptions.SaveSet = MetaMap_CurrentSaveSet;
MetaMapContainerFrame:Hide();
StaticPopup1:SetFrameStrata("DIALOG");
MetaMapNotesEditFrame:SetParent("UIParent");
MetaMapNotesEditFrame:SetFrameStrata("FULLSCREEN");
MetaMapNotesSendFrame:SetParent("UIParent");
MetaMapNotesSendFrame:SetFrameStrata("FULLSCREEN");
if(MetaMapContainer_CurrentFrame) then
MetaMapContainer_CurrentFrame:Hide();
end
end
function MetaMap_OnEvent(event)
if(event == "ADDON_LOADED" and arg1 == "MetaMap") then
MetaMap_SetWorldMap();
for option, value in MetaMap_Default do
if(MetaMapOptions[option] == nil) then MetaMapOptions[option] = value; end
end
MetaMap_Default = nil;
for i=0, 9, 1 do
if(MetaMap_NoteFilter[i] == nil) then MetaMap_NoteFilter[i] = true; end
end
MetaMap_LoadZones();
MetaMap_VerifyData();
MetaMap_FilterInit();
end
if(event == "VARIABLES_LOADED") then
MetaMap_CurrentSaveSet = MetaMapOptions.SaveSet;
MetaMapOptions_Init();
MetaMapMenu_Init();
if(myAddOnsFrame_Register) then
myAddOnsFrame_Register(MetaMap_Details);
end
if MetaMapNotes_MiniNote_Data.icon == "party" then
MetaMapNotes_ClearMiniNote(true);
end
if MetaMapNotes_MiniNote_Data.icon ~= nil then
MiniNotePOITexture:SetTexture(METAMAP_ICON_PATH.."Icon"..MetaMapNotes_MiniNote_Data.icon);
end
MetaMap_OrigWorldMapButton_OnClick = WorldMapButton_OnClick;
WorldMapButton_OnClick = MetaMapNotes_WorldMapButton_OnClick;
MetaMap_OrigChatFrame_OnEvent = ChatFrame_OnEvent;
ChatFrame_OnEvent = MetaMap_ChatFrame_OnEvent;
MetaMap_SetNUNtooltip();
if(MetaMapOptions.WKBalwaysOn) then MetaMap_LoadWKB(3); end
if(MetaMapOptions.BWPalwaysOn) then MetaMap_LoadBWP(0, 3); end
if(MetaMapOptions.QSTalwaysOn) then MetaMap_LoadQST(2); end
if(MetaMapOptions.FWMalwaysOn) then MetaMap_LoadFWM(); end
MetaMap_VarsLoaded = true;
end
if(event == "INSTANCE_MAP_UPDATE") then
if(not MetaMap_VarsLoaded) then return; end
if(not IsAddOnLoaded("MetaMapWKB") and not IsAddOnLoaded("MetaMapQST")) then
MetaMapContainer_ShowFrame();
else
if(IsAddOnLoaded("MetaMapWKB")) then
MetaKB_OnEvent("INSTANCE_MAP_UPDATE");
end
if(IsAddOnLoaded("MetaMapQST")) then
QST_OnEvent("INSTANCE_MAP_UPDATE");
end
end
MetaMapNotes_HideAll();
MetaMap_Refresh();
MetaMap_ZoneHeader();
end
if(event == "WORLD_MAP_UPDATE") then
if(not MetaMap_VarsLoaded) then return; end
if(MetaMap_CurrentMap ~= GetCurrentMapZone() and MetaMapFrame:IsVisible()) then
MetaMap_Toggle(false);
end
MetaMap_CurrentMap = GetCurrentMapZone();
if(MetaMapOptions.usePOI) then
MetaMapPOI_OnEvent(1);
end
if(not IsAddOnLoaded("MetaMapWKB") and not IsAddOnLoaded("MetaMapQST")) then
MetaMapContainer_ShowFrame();
end
if(MetaMap_CurrentMap ~= 0) then
MetaMapNotes_HideAll();
end
MetaMapOptions_Init();
MetaMapNotes_MapUpdate();
MetaMap_ZoneHeader();
end
if(event == "ZONE_CHANGED_NEW_AREA") then
if(not MetaMap_VarsLoaded) then return; end
SetMapToCurrentZone();
MetaMapNotes_MiniNote_OnUpdate(0);
if(MetaMapOptions.usePOI) then
MetaMapPOI_OnEvent(2);
end
if(WorldMapFrame:IsVisible()) then
MetaMapNotes_MapUpdate();
end
MetaMapNotes_HideAll();
end
if(event == "PLAYER_ENTERING_WORLD") then
if(not MetaMap_VarsLoaded) then return; end
MetaMap_CurrentMap = GetCurrentMapZone();
local continent, zone = MetaMap_NameToZoneID(GetRealZoneText());
if(zone == 0) then return; end
local pX, pY = GetPlayerMapPosition("Player");
if(pX == 0 and pY == 0 and continent == 0) then
MetaMapOptions.MetaMapZone = zone;
MetaMap_Toggle(true);
end
end
if(event == "MINIMAP_UPDATE_ZOOM") then
MetaMapNotes_MinimapUpdateZoom();
end
end
function MetaMap_ChatFrame_OnEvent(...)
local event = unpack(arg);
if(strsub(event, 1, 16) == "CHAT_MSG_WHISPER" and strsub(arg1, 1, 6) == "<MapN>") then
if(arg2 ~= UnitName("player")) then
MetaMapNotes_GetNoteFromChat(arg1, arg2);
end
else
MetaMap_OrigChatFrame_OnEvent(unpack(arg));
end
end


