Replace test marker with WorldMarker/ClearWorldMarker Lua API
5 marker slots (Yellow, Cyan, Green, Purple, Red) with placement by coords, unit ID, or cursor position (stubbed pending terrain offset research). Key bindings for all 5 markers + clear all.
This commit is contained in:
@@ -1,5 +1,20 @@
|
||||
<Bindings>
|
||||
<Binding name="Toggle Test Marker" header="MARKERS">
|
||||
TestMarkerToggle()
|
||||
<Binding name="Place Marker 1" header="MARKERS">
|
||||
WorldMarker(1)
|
||||
</Binding>
|
||||
<Binding name="Place Marker 2" header="MARKERS">
|
||||
WorldMarker(2)
|
||||
</Binding>
|
||||
<Binding name="Place Marker 3" header="MARKERS">
|
||||
WorldMarker(3)
|
||||
</Binding>
|
||||
<Binding name="Place Marker 4" header="MARKERS">
|
||||
WorldMarker(4)
|
||||
</Binding>
|
||||
<Binding name="Place Marker 5" header="MARKERS">
|
||||
WorldMarker(5)
|
||||
</Binding>
|
||||
<Binding name="Clear All Markers" header="MARKERS">
|
||||
ClearWorldMarker()
|
||||
</Binding>
|
||||
</Bindings>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Markers addon (embedded in DLL, loaded from memory)
|
||||
-- Part of WeirdUtils - only loaded when markers module is compiled
|
||||
|
||||
MARKERS_VERSION = 1
|
||||
MARKERS_VERSION = 2
|
||||
|
||||
BINDING_HEADER_MARKERS = "Markers"
|
||||
|
||||
@@ -21,25 +21,64 @@ SlashCmdList["MARKERS"] = function(msg)
|
||||
|
||||
if msg == "" or msg == "help" then
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cff00ff00Markers|r commands:")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /mark test - Toggle test marker at player position")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /mark on - Create test marker")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /mark off - Destroy test marker")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /mark pos - Show player position")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /mark <1-5> - Place marker at cursor")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /mark <1-5> <unit> - Place marker at unit")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /mark <1-5> <x> <y> <z> - Place marker at coords")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /mark clear [1-5] - Clear one or all markers")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /mark pos - Show player position")
|
||||
|
||||
elseif msg == "test" or msg == "toggle" then
|
||||
TestMarkerToggle()
|
||||
|
||||
elseif msg == "on" or msg == "create" then
|
||||
TestMarkerCreate()
|
||||
|
||||
elseif msg == "off" or msg == "destroy" then
|
||||
TestMarkerDestroy()
|
||||
elseif msg == "clear" then
|
||||
ClearWorldMarker()
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cff00ff00Markers:|r all cleared")
|
||||
|
||||
elseif msg == "pos" or msg == "position" then
|
||||
local x, y, z = GetPlayerPosition()
|
||||
DEFAULT_CHAT_FRAME:AddMessage(string.format("Position: %.2f, %.2f, %.2f", x, y, z))
|
||||
if x then
|
||||
DEFAULT_CHAT_FRAME:AddMessage(string.format("Position: %.2f, %.2f, %.2f", x, y, z))
|
||||
else
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cffff0000No player position available|r")
|
||||
end
|
||||
|
||||
else
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cffff0000Unknown command:|r " .. msg)
|
||||
-- Parse arguments
|
||||
local parts = {}
|
||||
for word in string.gfind(msg, "%S+") do
|
||||
table.insert(parts, word)
|
||||
end
|
||||
|
||||
-- /mark clear <index>
|
||||
if parts[1] == "clear" then
|
||||
local index = tonumber(parts[2])
|
||||
if index then
|
||||
ClearWorldMarker(index)
|
||||
else
|
||||
ClearWorldMarker()
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
local index = tonumber(parts[1])
|
||||
if not index then
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cffff0000Usage:|r /mark <1-5> [unit | x y z] or /mark clear")
|
||||
return
|
||||
end
|
||||
|
||||
if tonumber(parts[2]) then
|
||||
-- /mark 1 x y z
|
||||
local x = tonumber(parts[2])
|
||||
local y = tonumber(parts[3])
|
||||
local z = tonumber(parts[4])
|
||||
if x and y and z then
|
||||
WorldMarker(index, x, y, z)
|
||||
else
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cffff0000Usage:|r /mark <1-5> <x> <y> <z>")
|
||||
end
|
||||
elseif parts[2] then
|
||||
-- /mark 1 target
|
||||
WorldMarker(index, parts[2])
|
||||
else
|
||||
-- /mark 1 (cursor position)
|
||||
WorldMarker(index)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user