I've made a custom hotbar UI, and it works well, however upon pressing Shift, LeftAlt or Ctrl the keys will select a few hotkeys on my hotbar.
I've deduced that the reason for this is that keys like "LeftShift", "LeftAlt" or "LeftCtrl" all have a number assigned to them for easy coding.
I'd like to disable that "feature" so players won't accidentally switch slots in their hotbars upon hitting a different button.
Here are examples of the behaviour:
Normal Behaviour while hitting keys 1-0 on the keyboard:
Abnormal Behaviour while hitting LeftShift, LeftAlt and LeftCtrl:
Here's the script responsible for the Navigation of the Hotbar:
local plr = game.Players.LocalPlayer
mouse = plr:GetMouse()
local selected
mouse.KeyDown:Connect(function(key)
if key == "1" or key == "2" or key == "3" or key == "4" or key == "5" or key == "6" or key == "7" or key == "8" or key == "9" or key == "0" then
for i,v in pairs(script.Parent.Combat:GetChildren()) do
if v:IsA("Frame") then
v.BorderSizePixel = 0
v.Number.TextColor3 = Color3.fromRGB(255,255,255)
end
end
for i,v in pairs(script.Parent.Utility:GetChildren()) do
if v:IsA("Frame") then
v.BorderSizePixel = 0
v.Number.TextColor3 = Color3.fromRGB(255,255,255)
end
end
local keys = {"1","2","3","4","5","6","7","8","9","0"}
for i,v in pairs(keys) do
if v == key then
selected = key
if key == "1" or key == "2" or key == "3" or key == "4" or key == "5" then
script.Parent.Combat[v].BorderSizePixel = 3
script.Parent.Combat[v].Number.TextColor3 = Color3.fromRGB(255, 255, 0)
print("Slot "..key.." selected!")
elseif key == "6" or key == "7" or key == "8" or key == "9" or key == "0" then
script.Parent.Utility[v].BorderSizePixel = 3
script.Parent.Utility[v].Number.TextColor3 = Color3.fromRGB(255, 255, 0)
print("Slot "..key.." selected!")
print("Slots deselected!")
end
end
end
end
end)
TL;DR I'd like to disable the numerical variable of keys like LeftShift, LeftCtrl and LeftAlt.
