155 lines
4.6 KiB
Lua
Executable file
155 lines
4.6 KiB
Lua
Executable file
local _, u = ...
|
|
|
|
-- https://wowpedia.fandom.com/wiki/BindingID
|
|
local myBinds = {
|
|
-- Movement
|
|
["A"] = "STRAFELEFT",
|
|
["D"] = "STRAFERIGHT",
|
|
|
|
-- Character and bag toggles, since c and b are used for strafing
|
|
["F1"] = "OPENALLBAGS",
|
|
["F2"] = "TOGGLECHARACTER0",
|
|
|
|
-- Action Bar 1
|
|
["1"] = "ACTIONBUTTON1",
|
|
["2"] = "ACTIONBUTTON2",
|
|
["3"] = "ACTIONBUTTON3",
|
|
["4"] = "ACTIONBUTTON4",
|
|
["5"] = "ACTIONBUTTON5",
|
|
["6"] = "ACTIONBUTTON6",
|
|
["SHIFT-1"] = "ACTIONBUTTON7",
|
|
["SHIFT-2"] = "ACTIONBUTTON8",
|
|
["SHIFT-3"] = "ACTIONBUTTON9",
|
|
["SHIFT-4"] = "ACTIONBUTTON10",
|
|
["SHIFT-5"] = "ACTIONBUTTON11",
|
|
["SHIFT-6"] = "ACTIONBUTTON12",
|
|
|
|
-- Action Bar 2
|
|
["BUTTON5"] = "MULTIACTIONBAR1BUTTON1",
|
|
["BUTTON4"] = "MULTIACTIONBAR1BUTTON2",
|
|
["SHIFT-BUTTON5"] = "MULTIACTIONBAR1BUTTON3",
|
|
["SHIFT-BUTTON4"] = "MULTIACTIONBAR1BUTTON4",
|
|
["CTRL-BUTTON5"] = "MULTIACTIONBAR1BUTTON5",
|
|
["CTRL-BUTTON4"] = "MULTIACTIONBAR1BUTTON6",
|
|
["BUTTON3"] = "MULTIACTIONBAR1BUTTON7",
|
|
["SHIFT-BUTTON3"] = "MULTIACTIONBAR1BUTTON8",
|
|
["CTRL-BUTTON3"] = "MULTIACTIONBAR1BUTTON9",
|
|
["§"] = "MULTIACTIONBAR1BUTTON10",
|
|
["SHIFT-§"] = "MULTIACTIONBAR1BUTTON11",
|
|
["CTRL-§"] = "MULTIACTIONBAR1BUTTON12",
|
|
|
|
-- Action Bar 3
|
|
["Q"] = "MULTIACTIONBAR2BUTTON1",
|
|
["E"] = "MULTIACTIONBAR2BUTTON2",
|
|
["R"] = "MULTIACTIONBAR2BUTTON3",
|
|
["T"] = "MULTIACTIONBAR2BUTTON4",
|
|
["F"] = "MULTIACTIONBAR2BUTTON5",
|
|
["G"] = "MULTIACTIONBAR2BUTTON6",
|
|
["SHIFT-Q"] = "MULTIACTIONBAR2BUTTON7",
|
|
["SHIFT-E"] = "MULTIACTIONBAR2BUTTON8",
|
|
["SHIFT-R"] = "MULTIACTIONBAR2BUTTON9",
|
|
["SHIFT-T"] = "MULTIACTIONBAR2BUTTON10",
|
|
["SHIFT-F"] = "MULTIACTIONBAR2BUTTON11",
|
|
["SHIFT-G"] = "MULTIACTIONBAR2BUTTON12",
|
|
|
|
-- Action Bar 4
|
|
["S"] = "MULTIACTIONBAR3BUTTON1",
|
|
["Z"] = "MULTIACTIONBAR3BUTTON2",
|
|
["X"] = "MULTIACTIONBAR3BUTTON3",
|
|
["C"] = "MULTIACTIONBAR3BUTTON4",
|
|
["V"] = "MULTIACTIONBAR3BUTTON5",
|
|
["B"] = "MULTIACTIONBAR3BUTTON6",
|
|
["SHIFT-S"] = "MULTIACTIONBAR3BUTTON7",
|
|
["SHIFT-Z"] = "MULTIACTIONBAR3BUTTON8",
|
|
["SHIFT-X"] = "MULTIACTIONBAR3BUTTON9",
|
|
["SHIFT-C"] = "MULTIACTIONBAR3BUTTON10",
|
|
["SHIFT-V"] = "MULTIACTIONBAR3BUTTON11",
|
|
["SHIFT-B"] = "MULTIACTIONBAR3BUTTON12",
|
|
|
|
-- Action Bar 5
|
|
["CTRL-Q"] = "MULTIACTIONBAR4BUTTON1",
|
|
["CTRL-E"] = "MULTIACTIONBAR4BUTTON2",
|
|
["CTRL-R"] = "MULTIACTIONBAR4BUTTON3",
|
|
["CTRL-T"] = "MULTIACTIONBAR4BUTTON4",
|
|
["CTRL-F"] = "MULTIACTIONBAR4BUTTON5",
|
|
["CTRL-G"] = "MULTIACTIONBAR4BUTTON6",
|
|
["CTRL-1"] = "MULTIACTIONBAR4BUTTON7",
|
|
["CTRL-2"] = "MULTIACTIONBAR4BUTTON8",
|
|
["CTRL-3"] = "MULTIACTIONBAR4BUTTON9",
|
|
["CTRL-4"] = "MULTIACTIONBAR4BUTTON10",
|
|
["CTRL-5"] = "MULTIACTIONBAR4BUTTON11",
|
|
["CTRL-6"] = "MULTIACTIONBAR4BUTTON12",
|
|
}
|
|
|
|
local cameraBinds = {
|
|
-- Remove zoom from mousewheel
|
|
["-"] = "CAMERAZOOMOUT",
|
|
["+"] = "CAMERAZOOMIN",
|
|
|
|
["MOUSEWHEELUP"] = "STARTAUTORUN",
|
|
["MOUSEWHEELDOWN"] = "FOLLOWTARGET",
|
|
}
|
|
|
|
-- Unsets a binding, if it exists
|
|
local function unsetBinding(action)
|
|
local key1, key2 = GetBindingKey(action);
|
|
if key1 then
|
|
SetBinding(key1, nil);
|
|
end
|
|
if key2 then
|
|
SetBinding(key2, nil);
|
|
end
|
|
end
|
|
|
|
-- Same as SetBinding, but removes the old binding first
|
|
local function setBindingRM(key, action)
|
|
unsetBinding(action);
|
|
if SetBinding(key, action) then
|
|
u.success(key .. " -> " .. action);
|
|
else
|
|
u.error("Failed to set binding " .. key .. " to " .. action);
|
|
end
|
|
end
|
|
|
|
local function applyBindingSet(set)
|
|
for key, action in pairs(set) do
|
|
setBindingRM(key, action)
|
|
end
|
|
u.info("Bindings set!")
|
|
u.warn("Dont forget to reload your UI.")
|
|
end
|
|
|
|
local function enableBars()
|
|
SetActionBarToggles(1, 1, 1, 1);
|
|
SHOW_MULTI_ACTIONBAR_1 = 1 --Bottom Left Bar
|
|
SHOW_MULTI_ACTIONBAR_2 = 1 --Bottom Right Bar
|
|
SHOW_MULTI_ACTIONBAR_3 = 1 --Right Bar
|
|
SHOW_MULTI_ACTIONBAR_4 = 1 --Right Bar 2
|
|
MultiActionBar_Update();
|
|
SetCVar("alwaysShowActionBars", 1);
|
|
SetCVar("lockActionBars", 1);
|
|
SetCVar("countdownForCooldowns", 1);
|
|
SetCVar("cameraDistanceMaxZoomFactor", 2);
|
|
SetCVar("instantQuestText", 1);
|
|
SetCVar("nameplateShowAll", 1);
|
|
SetCVar("nameplateShowEnemies", 1);
|
|
SetCVar("nameplateMaxDistance", 35);
|
|
SetCVar("enableFloatingCombatText", 1);
|
|
end
|
|
|
|
local function BindsHandler(msg, editbox)
|
|
u.guards()
|
|
if msg == "" then
|
|
applyBindingSet(myBinds)
|
|
enableBars()
|
|
end
|
|
if msg == "camera" then
|
|
applyBindingSet(cameraBinds)
|
|
end
|
|
SaveBindings(1)
|
|
u.guards()
|
|
end
|
|
|
|
-- Register the /hello command
|
|
SLASH_BINDS1 = "/binds"
|
|
SlashCmdList["BINDS"] = BindsHandler
|