Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
ContextActionService = :()
UserInputService = :()
StarterGui = :()
player = Players.LocalPlayer
camera = .CurrentCamera
.(()
userId = Players:()
thumbType = .ThumbnailType.HeadShot
thumbSize = .ThumbnailSize.Size420x420
content = Players:(userId, thumbType, thumbSize)
StarterGui:(, {
Title = ,
Text = ,
Icon = content,
Duration =
})
)
ShiftlockStarterGui
ImageButton
character
humanoid
root
MAX_LENGTH =
ENABLED_OFFSET = .(, , )
DISABLED_OFFSET = .(-, , )
active =
rootPos = .(,,)
states = {
OFF = ,
ON =
}
()
character humanoid humanoid.RootPart
rootPos = humanoid.RootPart.Position
(state)
ImageButton.Image = states[state]
(bool)
humanoid
humanoid.AutoRotate = bool
()
camera
.(
rootPos,
.(
camera.CFrame.LookVector.X * MAX_LENGTH,
rootPos.Y,
camera.CFrame.LookVector.Z * MAX_LENGTH
)
)
()
()
()
()
humanoid humanoid.RootPart
humanoid.RootPart.CFrame = ()
camera
camera.CFrame = camera.CFrame * ENABLED_OFFSET
()
()
()
()
camera
camera.CFrame = camera.CFrame * DISABLED_OFFSET
(()
active:()
active =
)
()
active
active = RunService.RenderStepped:(()
()
)
()
()
player:() player.PlayerGui:()
player.PlayerGui[]:()
ShiftlockStarterGui = .()
ShiftlockStarterGui.Name =
ShiftlockStarterGui.ZIndexBehavior = .ZIndexBehavior.Sibling
ShiftlockStarterGui.ResetOnSpawn =
ShiftlockStarterGui.Parent = player:()
ImageButton = .()
ImageButton.Parent = ShiftlockStarterGui
ImageButton.Active =
ImageButton.Draggable =
ImageButton.BackgroundTransparency =
ImageButton.Position = .(, , , )
ImageButton.Size = .(, , , )
ImageButton.SizeConstraint = .SizeConstraint.RelativeXX
ImageButton.Image =
ImageButton.Visible = UserInputService.TouchEnabled
()
ImageButton.MouseButton1Click:(ToggleShiftlock)
ContextActionService:(, ToggleShiftlock, , )
ContextActionService:(, .(, , , ))
(char)
character = char
humanoid = character:()
root = humanoid.RootPart
.()
()
player.Character
(player.Character)
player.CharacterAdded:(onCharacterAdded)shiftlock for mobile!

Universal