if _G.a then for _, connection in pairs(_G.a) do connection:Disconnect() end _G.a = nil end repeat task.wait() until game.Players.LocalPlayer local LocalPlayer = game.Players.LocalPlayer local Character = nil local Humanoid = nil local HumanoidRootPart = nil local IsInvisible = false local VisibleParts = {} local function SetupCharacter() Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() Humanoid = Character:WaitForChild("Humanoid") HumanoidRootPart = Character:WaitForChild("HumanoidRootPart") VisibleParts = {} for _, descendant in pairs(Character:GetDescendants()) do if descendant:IsA("BasePart") and descendant.Transparency == 0 then table.insert(VisibleParts, descendant) end end end local function CreateGUI() local ScreenGui = Instance.new("ScreenGui") local ToggleButton = Instance.new("TextButton") ToggleButton.Size = UDim2.new(0, 100, 0, 50) ToggleButton.Position = UDim2.new(0.5, -50, 0.1, 0) ToggleButton.Text = "Invisible" ToggleButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0) ToggleButton.Parent = ScreenGui ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local Dragging = false local DragStart = nil local StartPos = nil local TouchInput = nil -- Поддержка мыши ToggleButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then Dragging = true DragStart = input.Position StartPos = ToggleButton.Position end end) ToggleButton.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and Dragging then local delta = input.Position - DragStart ToggleButton.Position = UDim2.new(StartPos.X.Scale, StartPos.X.Offset + delta.X, StartPos.Y.Scale, StartPos.Y.Offset + delta.Y) end end) ToggleButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then Dragging = false end end) -- Поддержка касаний для телефона ToggleButton.TouchTap:Connect(function(touchPositions, state) if state == Enum.UserInputState.Begin then Dragging = true DragStart = touchPositions[1] StartPos = ToggleButton.Position elseif state == Enum.UserInputState.Change then if Dragging and touchPositions[1] then local delta = touchPositions[1] - DragStart ToggleButton.Position = UDim2.new(StartPos.X.Scale, StartPos.X.Offset + delta.X, StartPos.Y.Scale, StartPos.Y.Offset + delta.Y) end elseif state == Enum.UserInputState.End then Dragging = false end end) ToggleButton.MouseButton1Click:Connect(function() IsInvisible = not IsInvisible local transparency = IsInvisible and 0.5 or 0 for _, part in pairs(VisibleParts) do part.Transparency = transparency end end) end SetupCharacter() CreateGUI() local Connections = {} Connections[1] = LocalPlayer:GetMouse().KeyDown:Connect(function(key) if key == "g" then IsInvisible = not IsInvisible local transparency = IsInvisible and 0.5 or 0 for _, part in pairs(VisibleParts) do part.Transparency = transparency end end end) Connections[2] = game:GetService("RunService").Heartbeat:Connect(function() if IsInvisible then local OriginalCFrame = HumanoidRootPart.CFrame local OriginalCameraOffset = Humanoid.CameraOffset local DownCFrame = OriginalCFrame * CFrame.new(0, -200000, 0) HumanoidRootPart.CFrame = DownCFrame Humanoid.CameraOffset = DownCFrame:ToObjectSpace(CFrame.new(OriginalCFrame.Position)).Position game:GetService("RunService").RenderStepped:Wait() HumanoidRootPart.CFrame = OriginalCFrame Humanoid.CameraOffset = OriginalCameraOffset end end) LocalPlayer.CharacterAdded:Connect(function() IsInvisible = false SetupCharacter() CreateGUI() end) _G.a = Connections