-- SERVICES local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local player = Players.LocalPlayer -- STATE local enabled = false local dragging = false local dragStart, startPos -- GUI local gui = Instance.new("ScreenGui") gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") local button = Instance.new("TextButton") button.Size = UDim2.fromOffset(130, 35) button.Position = UDim2.fromScale(0.5, 0.5) button.AnchorPoint = Vector2.new(0.5, 0.5) button.BackgroundColor3 = Color3.fromRGB(25, 25, 25) button.Text = "INVISIBLE: OFF" button.TextColor3 = Color3.new(1,1,1) button.Font = Enum.Font.GothamBold button.TextSize = 14 button.Parent = gui button.Active = true -- UICORNER Instance.new("UICorner", button).CornerRadius = UDim.new(0, 10) -- UISTROKE local stroke = Instance.new("UIStroke") stroke.Thickness = 2 stroke.Color = Color3.fromRGB(255, 0, 0) -- RED = OFF stroke.Parent = button -- DRAGGING LOGIC button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = button.Position end end) button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UIS.InputChanged:Connect(function(input) if dragging and 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) -- INVISIBILITY FUNCTION local function setInvisible(state) local char = player.Character if not char then return end for _, part in pairs(char:GetChildren()) do if part:IsA("BasePart") then part.Transparency = state and 1 or 0 part.CanCollide = not state elseif part:IsA("Accessory") then part.Handle.Transparency = state and 1 or 0 end end -- Hide face if exists if char:FindFirstChild("Head") and char.Head:FindFirstChild("face") then char.Head.face.Transparency = state and 1 or 0 end end -- TOGGLE FUNCTION button.MouseButton1Click:Connect(function() enabled = not enabled if enabled then stroke.Color = Color3.fromRGB(0, 255, 0) -- GREEN button.Text = "INVISIBLE: ON" else stroke.Color = Color3.fromRGB(255, 0, 0) -- RED button.Text = "INVISIBLE: OFF" end setInvisible(enabled) end) -- AUTO APPLY AFTER RESPAWN player.CharacterAdded:Connect(function() task.wait(0.5) if enabled then setInvisible(true) end end)