local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local Humanoid = Character:WaitForChild("Humanoid") local invisible = false local SPEED = 30 -- GUI Setup local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "InvisScript" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = game.CoreGui local Button = Instance.new("TextButton") Button.Size = UDim2.new(0, 120, 0, 45) Button.Position = UDim2.new(0, 100, 0, 100) Button.BackgroundColor3 = Color3.fromRGB(30, 30, 30) Button.TextColor3 = Color3.fromRGB(255, 255, 255) Button.Text = "Invis: OFF" Button.Font = Enum.Font.GothamBold Button.TextSize = 14 Button.BorderSizePixel = 0 Button.Parent = ScreenGui local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 8) Corner.Parent = Button -- Dragging local dragging = false local dragStart = nil local startPos = nil Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = Button.Position end end) Button.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement) then local delta = input.Position - dragStart Button.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) -- Invisible / Visible toggle local function setInvisible(state) Character = LocalPlayer.Character if not Character then return end for _, part in pairs(Character:GetDescendants()) do if part:IsA("BasePart") or part:IsA("Decal") then part.LocalTransparencyModifier = state and 1 or 0 end end end -- Speed local function setSpeed(speed) Character = LocalPlayer.Character if not Character then return end Humanoid = Character:FindFirstChildOfClass("Humanoid") if Humanoid then Humanoid.WalkSpeed = speed end end -- Button click local isDragged = false local mouseDown = nil Button.MouseButton1Down:Connect(function() mouseDown = tick() end) Button.MouseButton1Up:Connect(function() if mouseDown and (tick() - mouseDown) < 0.2 then invisible = not invisible if invisible then Button.Text = "Invis: ON" Button.BackgroundColor3 = Color3.fromRGB(0, 170, 100) setInvisible(true) setSpeed(SPEED) else Button.Text = "Invis: OFF" Button.BackgroundColor3 = Color3.fromRGB(30, 30, 30) setInvisible(false) setSpeed(16) end end mouseDown = nil end) -- Keep invis on respawn LocalPlayer.CharacterAdded:Connect(function(char) Character = char Humanoid = char:WaitForChild("Humanoid") task.wait(0.5) if invisible then setInvisible(true) setSpeed(SPEED) else setSpeed(16) end end)