Run it
Copy the script and paste it into your executor.
Players = :()
UserInputService = :()
RunService = :()
TweenService = :()
player = Players.LocalPlayer
camera = .CurrentCamera
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.IgnoreGuiInset =
screenGui.Parent = player:()
button = .()
button.Name =
button.Size = .(, , , )
button.Position = .(, -, , -)
button.AnchorPoint = .(, )
button.BackgroundColor3 = .(, , )
button.TextColor3 = .(, , )
button.Font = .Font.GothamBold
button.TextSize =
button.Text =
button.Parent = screenGui
corner = .()
corner.CornerRadius = .(, )
corner.Parent = button
stroke = .()
stroke.Thickness =
stroke.Color = .(, , )
stroke.ApplyStrokeMode = .ApplyStrokeMode.Border
stroke.Parent = button
crosshair = .()
crosshair.Name =
crosshair.Size = .(, , , )
crosshair.Position = .(, , , )
crosshair.AnchorPoint = .(, )
crosshair.BackgroundColor3 = .(, , )
crosshair.BackgroundTransparency =
crosshair.Visible =
crosshair.ZIndex =
crosshair.Parent = screenGui
crossCorner = .()
crossCorner.CornerRadius = .(, )
crossCorner.Parent = crosshair
dragging, dragInput, dragStart, startPos
(input)
delta = input.Position - dragStart
newPos = .(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
TweenService:(button, TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out), {Position = newPos}):()
button.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = button.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragging =
)
)
button.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch
dragInput = input
)
UserInputService.InputChanged:((input)
input == dragInput dragging
(input)
)
shiftlockEnabled =
connection
(state)
shiftlockEnabled = state
connection
connection:()
connection =
shiftlockEnabled
button.Text =
crosshair.Visible =
UserInputService.MouseBehavior = .MouseBehavior.LockCenter
connection = RunService.RenderStepped:(()
character = player.Character
root = character character:()
root
camCF = camera.CFrame
root.CFrame = .(root.Position, .(
camCF.LookVector.X + root.Position.X,
root.Position.Y,
camCF.LookVector.Z + root.Position.Z
))
)
button.Text =
crosshair.Visible =
UserInputService.MouseBehavior = .MouseBehavior.Default
button.MouseButton1Click:(()
( shiftlockEnabled)
)
UserInputService.InputBegan:((input, gpe)
gpe
input.KeyCode == .KeyCode.LeftShift
( shiftlockEnabled)
)
player.CharacterAdded:(()
connection
connection:()
connection =
shiftlockEnabled
.()
()
crosshair.Visible =
)Made this in like 10 minutes i got bored lol (i got lazy on making it a loadstring, open source so it's open to skid)

Universal