
KeylessUniversal

--[[Invisibility Toggle
You can find the orginal concept here: https://v3rmillion.net/showthread.php?tid=544634
This method clones the character locally, teleports the real character to a safe location, then sets the character to the clone.
Basically, your real character is in the sky while you are on the ground.
Because of the way this works, games with a decent anti-cheat will fuck this up.
If you turn it off, you have to go to a safe place before going invisible.
Written by: BitingTheDust ; https://v3rmillion.net/member.php?action=profile&uid=1628149
]]
--Settings:
local ScriptStarted = false
local Keybind = "E" --Set to whatever you want, has to be the name of a KeyCode Enum.
local Transparency = true --Will make you slightly transparent when you are invisible. No reason to disable.
local NoClip = false --Will make your fake character no clip.
local Player = game:GetService("Players").LocalPlayer
local RealCharacter = Player.Character or Player.CharacterAdded:Wait()
local IsInvisible = false
RealCharacter.Archivable = true
local FakeCharacter = RealCharacter:Clone()
local Part
Part = Instance.new("Part", workspace)
Part.Anchored = true
Part.Size = Vector3.new(200, 1, 200)
Part.CFrame = CFrame.new(0, -500, 0) --Set this to whatever you want, just far away from the map.
Part.CanCollide = true
FakeCharacter.Parent = workspace
FakeCharacter.HumanoidRootPart.CFrame = Part.CFrame * CFrame.new(0, 5, 0)
for i, v in pairs(RealCharacter:GetChildren()) do
if v:IsA("LocalScript") then
local clone = v:Clone()
clone.Disabled = true
clone.Parent = FakeCharacter
end
end
if Transparency then
for i, v in pairs(FakeCharacter:GetDescendants()) do
if v:IsA("BasePart") then
v.Transparency = 0.7
end
end
end
local CanInvis = true
function RealCharacterDied()
CanInvis = false
RealCharacter:Destroy()
RealCharacter = Player.Character
CanInvis = true
isinvisible = false
FakeCharacter:Destroy()
workspace.CurrentCamera.CameraSubject = RealCharacter.Humanoid
RealCharacter.Archivable = true
FakeCharacter = RealCharacter:Clone()
Part:Destroy()
Part = Instance.new("Part", workspace)
Part.Anchored = true
Part.Size = Vector3.new(200, 1, 200)
Part.CFrame = CFrame.new(9999, 9999, 9999) --Set this to whatever you want, just far away from the map.
Part.CanCollide = true
FakeCharacter.Parent = workspace
FakeCharacter.HumanoidRootPart.CFrame = Part.CFrame * CFrame.new(0, 5, 0)
for i, v in pairs(RealCharacter:GetChildren()) do
if v:IsA("LocalScript") then
local clone = v:Clone()
clone.Disabled = true
clone.Parent = FakeCharacter
end
end
if Transparency then
for i, v in pairs(FakeCharacter:GetDescendants()) do
if v:IsA("BasePart") then
v.Transparency = 0.7
end
end
end
RealCharacter.Humanoid.Died:Connect(function()
RealCharacter:Destroy()
FakeCharacter:Destroy()
end)
Player.CharacterAppearanceLoaded:Connect(RealCharacterDied)
end
RealCharacter.Humanoid.Died:Connect(function()
RealCharacter:Destroy()
FakeCharacter:Destroy()
end)
Player.CharacterAppearanceLoaded:Connect(RealCharacterDied)
local PseudoAnchor
game:GetService "RunService".RenderStepped:Connect(
function()
if PseudoAnchor ~= nil then
PseudoAnchor.CFrame = Part.CFrame * CFrame.new(0, 5, 0)
end
if NoClip then
FakeCharacter.Humanoid:ChangeState(11)
end
end
)
PseudoAnchor = FakeCharacter.HumanoidRootPart
local function Invisible()
if IsInvisible == false then
local StoredCF = RealCharacter.HumanoidRootPart.CFrame
RealCharacter.HumanoidRootPart.CFrame = FakeCharacter.HumanoidRootPart.CFrame
FakeCharacter.HumanoidRootPart.CFrame = StoredCF
RealCharacter.Humanoid:UnequipTools()
Player.Character = FakeCharacter
workspace.CurrentCamera.CameraSubject = FakeCharacter.Humanoid
PseudoAnchor = RealCharacter.HumanoidRootPart
for i, v in pairs(FakeCharacter:GetChildren()) do
if v:IsA("LocalScript") then
v.Disabled = false
end
end
IsInvisible = true
else
local StoredCF = FakeCharacter.HumanoidRootPart.CFrame
FakeCharacter.HumanoidRootPart.CFrame = RealCharacter.HumanoidRootPart.CFrame
RealCharacter.HumanoidRootPart.CFrame = StoredCF
FakeCharacter.Humanoid:UnequipTools()
Player.Character = RealCharacter
workspace.CurrentCamera.CameraSubject = RealCharacter.Humanoid
PseudoAnchor = FakeCharacter.HumanoidRootPart
for i, v in pairs(FakeCharacter:GetChildren()) do
if v:IsA("LocalScript") then
v.Disabled = true
end
end
IsInvisible = false
end
end
game:GetService("UserInputService").InputBegan:Connect(
function(key, gamep)
if gamep then
return
end
if key.KeyCode.Name:lower() == Keybind:lower() and CanInvis and RealCharacter and FakeCharacter then
if RealCharacter:FindFirstChild("HumanoidRootPart") and FakeCharacter:FindFirstChild("HumanoidRootPart") then
Invisible()
end
end
end
)
local Sound = Instance.new("Sound",game:GetService("SoundService"))
Sound.SoundId = "rbxassetid://232127604"
Sound:Play()
game:GetService("StarterGui"):SetCore("SendNotification",{["Title"] = "Invisible Toggle Loaded",["Text"] = "Press "..Keybind.." to become change visibility.",["Duration"] = 20,["Button1"] = "Okay."})



suprisingly W script
its good but when u go invisible and back it look like u just landed from a jump, that was the longer way to explain it
ppl cannot see my text
@ZenOnRobloxYT bro This script sends your real body to the void and spawn a fake one What do you expect
Im on android and the script didn't work
@CMLindstrom13 not mobile supported it says press "E"
@CMLindstrom13 skill issue