
KeylessUniversal

local offset = 1100
local invisible = game.Players.LocalPlayer
local grips = {}
local heldTool
local gripChanged
local handle
local weld
function setDisplayDistance(distance)
for _, player in pairs(game.Players:GetPlayers()) do
if player.Character and player.Character:FindFirstChildWhichIsA("Humanoid") then
player.Character:FindFirstChildWhichIsA("Humanoid").NameDisplayDistance = distance
player.Character:FindFirstChildWhichIsA("Humanoid").HealthDisplayDistance = distance
end
end
end
local tool = Instance.new("Tool", game.Players.LocalPlayer.Backpack)
tool.Name = "Invisible"
tool.RequiresHandle = false
tool.CanBeDropped = false
tool.Equipped:Connect(
function()
wait()
if not invisible then
invisible = true
tool.Name = "Enabled Invisible"
if handle then
handle:Destroy()
end
if weld then
weld:Destroy()
end
handle = Instance.new("Part", workspace)
handle.Name = "Handle"
handle.Transparency = 1
handle.CanCollide = false
handle.Size = Vector3.new(2, 1, 1)
weld = Instance.new("Weld", handle)
weld.Part0 = handle
weld.Part1 = game.Players.LocalPlayer.Character.HumanoidRootPart
weld.C0 = CFrame.new(0, offset - 1.5, 0)
setDisplayDistance(offset + 100)
workspace.CurrentCamera.CameraSubject = handle
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, offset, 0)
game.Players.LocalPlayer.Character.Humanoid.HipHeight = offset
game.Players.LocalPlayer.Character.Humanoid:ChangeState(11)
for _, child in pairs(game.Players.LocalPlayer.Backpack:GetChildren()) do
if child:IsA("Tool") and child ~= tool then
grips[child] = child.Grip
end
end
elseif invisible then
invisible = false
tool.Name = "Disabled Invisible"
if handle then
handle:Destroy()
end
if weld then
weld:Destroy()
end
for _, child in pairs(game.Players.LocalPlayer.Character:GetChildren()) do
if child:IsA("Tool") then
child.Parent = game.Players.LocalPlayer.Backpack
end
end
for tool, grip in pairs(grips) do
if tool then
tool.Grip = grip
end
end
heldTool = nil
setDisplayDistance(100)
workspace.CurrentCamera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, -offset, 0)
game.Players.LocalPlayer.Character.Humanoid.HipHeight = 0
end
tool.Parent = game.Players.LocalPlayer.Backpack
end
)
game.Players.LocalPlayer.Character.ChildAdded:Connect(
function(child)
wait()
if invisible and child:IsA("Tool") and child ~= heldTool and child ~= tool then
heldTool = child
local lastGrip = heldTool.Grip
if not grips[heldTool] then
grips[heldTool] = lastGrip
end
for _, track in pairs(game.Players.LocalPlayer.Character.Humanoid:GetPlayingAnimationTracks()) do
track:Stop()
end
game.Players.LocalPlayer.Character.Animate.Disabled = true
heldTool.Grip = heldTool.Grip * (CFrame.new(0, offset - 1.5, 1.5) * CFrame.Angles(math.rad(-90), 0, 0))
heldTool.Parent = game.Players.LocalPlayer.Backpack
heldTool.Parent = game.Players.LocalPlayer.Character
if gripChanged then
gripChanged:Disconnect()
end
gripChanged =
heldTool:GetPropertyChangedSignal("Grip"):Connect(
function()
wait()
if not invisible then
gripChanged:Disconnect()
end
if heldTool.Grip ~= lastGrip then
lastGrip =
heldTool.Grip * (CFrame.new(0, offset - 1.5, 1.5) * CFrame.Angles(math.rad(-90), 0, 0))
heldTool.Grip = lastGrip
heldTool.Parent = game.Players.LocalPlayer.Backpack
heldTool.Parent = game.Players.LocalPlayer.Character
end
end
)
end
end
)No comments yet for this script.



