-- Universal Invisibility Script for Roblox -- by YT|Deasl local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "Universal Invisibility - YT|Deasl", LoadingTitle = "Loading Invisibility Script", LoadingSubtitle = "by YT|Deasl", ConfigurationSaving = { Enabled = true, FolderName = "InvisibilityDeasl", FileName = "InvisConfig" }, Discord = { Enabled = false, Invite = "noinvite", RememberJoins = true }, KeySystem = false }) local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") -- Основные переменные local IsInvisible = false local OriginalTransparency = {} local OriginalCollision = {} -- ВКЛАДКА НЕВИДИМОСТЬ local InvisTab = Window:CreateTab("Invisibility") local InvisSection = InvisTab:CreateSection("Universal Invisibility Settings") local InvisibilityToggle = InvisTab:CreateToggle({ Name = "Включить Невидимость", CurrentValue = false, Flag = "Invisibility", Callback = function(Value) if Value then EnableInvisibility() else DisableInvisibility() end end, }) local TransparencySlider = InvisTab:CreateSlider({ Name = "Прозрачность", Range = {0, 100}, Increment = 5, Suffix = "%", CurrentValue = 100, Flag = "Transparency", Callback = function(Value) if IsInvisible then UpdateTransparency(Value / 100) end end, }) local NoCollisionToggle = InvisTab:CreateToggle({ Name = "Отключить Коллизию", CurrentValue = false, Flag = "NoCollision", Callback = function(Value) if IsInvisible then ToggleCollision(Value) end end, }) local HideNameTagToggle = InvisTab:CreateToggle({ Name = "Скрыть Никнейм", CurrentValue = false, Flag = "HideNameTag", Callback = function(Value) if IsInvisible then ToggleNameTag(Value) end end, }) -- ВКЛАДКА ДОПОЛНИТЕЛЬНО local ExtraTab = Window:CreateTab("Extra Features") local ExtraSection = ExtraTab:CreateSection("Additional Invisibility Options") local AntiResetToggle = ExtraTab:CreateToggle({ Name = "Анти-Ресет", CurrentValue = false, Flag = "AntiReset", Callback = function(Value) if Value then AntiResetConnection = RunService.Heartbeat:Connect(function() if IsInvisible and LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.Transparency = Rayfield.Flags["Transparency"].CurrentValue / 100 if Rayfield.Flags["NoCollision"].CurrentValue then part.CanCollide = false end end end end end) else if AntiResetConnection then AntiResetConnection:Disconnect() end end end, }) local HideFromCamerasToggle = ExtraTab:CreateToggle({ Name = "Скрыться от Камер", CurrentValue = false, Flag = "HideFromCameras", Callback = function(Value) if Value then -- Скрываем персонажа от систем наблюдения if LocalPlayer.Character then LocalPlayer.Character:SetAttribute("HiddenFromCameras", true) end else if LocalPlayer.Character then LocalPlayer.Character:SetAttribute("HiddenFromCameras", false) end end end, }) local InvisibleToNPCsToggle = ExtraTab:CreateToggle({ Name = "Невидимость для NPC", CurrentValue = false, Flag = "InvisibleToNPCs", Callback = function(Value) if Value then MakeInvisibleToNPCs() else MakeVisibleToNPCs() end end, }) -- ВКЛАДКА ПРЕСЕТЫ local PresetsTab = Window:CreateTab("Presets") local PresetsSection = PresetsTab:CreateSection("Quick Invisibility Presets") local GhostPreset = PresetsTab:CreateButton({ Name = "Режим Призрака", Callback = function() Rayfield.Flags["Transparency"].CurrentValue = 80 Rayfield.Flags["NoCollision"].CurrentValue = true Rayfield.Flags["HideNameTag"].CurrentValue = true TransparencySlider:Set(80) if not IsInvisible then InvisibilityToggle:Set(true) else UpdateTransparency(0.8) ToggleCollision(true) ToggleNameTag(true) end end, }) local FullInvisPreset = PresetsTab:CreateButton({ Name = "Полная Невидимость", Callback = function() Rayfield.Flags["Transparency"].CurrentValue = 100 Rayfield.Flags["NoCollision"].CurrentValue = true Rayfield.Flags["HideNameTag"].CurrentValue = true TransparencySlider:Set(100) if not IsInvisible then InvisibilityToggle:Set(true) else UpdateTransparency(1) ToggleCollision(true) ToggleNameTag(true) end end, }) local SemiInvisPreset = PresetsTab:CreateButton({ Name = "Полупрозрачность", Callback = function() Rayfield.Flags["Transparency"].CurrentValue = 50 Rayfield.Flags["NoCollision"].CurrentValue = false Rayfield.Flags["HideNameTag"].CurrentValue = false TransparencySlider:Set(50) if not IsInvisible then InvisibilityToggle:Set(true) else UpdateTransparency(0.5) ToggleCollision(false) ToggleNameTag(false) end end, }) -- ФУНКЦИИ НЕВИДИМОСТИ function EnableInvisibility() if not LocalPlayer.Character then return end IsInvisible = true OriginalTransparency = {} OriginalCollision = {} local transparency = Rayfield.Flags["Transparency"].CurrentValue / 100 for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then -- Сохраняем оригинальные значения OriginalTransparency[part] = part.Transparency OriginalCollision[part] = part.CanCollide -- Применяем невидимость part.Transparency = transparency if Rayfield.Flags["NoCollision"].CurrentValue then part.CanCollide = false end elseif part:IsA("Decal") or part:IsA("Texture") then part.Transparency = transparency end end -- Скрываем никнейм если включено if Rayfield.Flags["HideNameTag"].CurrentValue then ToggleNameTag(true) end Rayfield:Notify({ Title = "Невидимость Включена", Content = "Теперь ты невидим! Прозрачность: " .. Rayfield.Flags["Transparency"].CurrentValue .. "%", Duration = 3, }) end function DisableInvisibility() IsInvisible = false if LocalPlayer.Character then for part, transparency in pairs(OriginalTransparency) do if part and part.Parent then part.Transparency = transparency end end for part, collision in pairs(OriginalCollision) do if part and part.Parent then part.CanCollide = collision end end end -- Возвращаем никнейм ToggleNameTag(false) OriginalTransparency = {} OriginalCollision = {} Rayfield:Notify({ Title = "Невидимость Выключена", Content = "Теперь ты видим!", Duration = 3, }) end function UpdateTransparency(value) if not LocalPlayer.Character then return end for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") or part:IsA("Decal") or part:IsA("Texture") then part.Transparency = value end end end function ToggleCollision(enabled) if not LocalPlayer.Character then return end for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = not enabled end end end function ToggleNameTag(hide) if not LocalPlayer.Character then return end local humanoid = LocalPlayer.Character:FindFirstChild("Humanoid") if humanoid then humanoid.DisplayDistanceType = hide and Enum.HumanoidDisplayDistanceType.None or Enum.HumanoidDisplayDistanceType.Viewer end -- Альтернативный метод скрытия ника local head = LocalPlayer.Character:FindFirstChild("Head") if head then local nameTag = head:FindFirstChild("NameTag") or head:FindFirstChild("BillboardGui") if nameTag then nameTag.Enabled = not hide end end end function MakeInvisibleToNPCs() -- Функция для скрытия от NPC (работает в некоторых играх) if LocalPlayer.Character then LocalPlayer.Character:SetAttribute("InvisibleToAI", true) end end function MakeVisibleToNPCs() if LocalPlayer.Character then LocalPlayer.Character:SetAttribute("InvisibleToAI", false) end end -- Автоматическое применение при респавне LocalPlayer.CharacterAdded:Connect(function(character) if IsInvisible then wait(1) -- Ждем полной загрузки персонажа EnableInvisibility() end end) -- ВКЛАДКА ИНФО local InfoTab = Window:CreateTab("Info") local InfoSection = InfoTab:CreateSection("About This Script") InfoTab:CreateLabel("Universal Invisibility Script") InfoTab:CreateLabel("Works in most Roblox games") InfoTab:CreateLabel("Made by YT|Deasl") InfoTab:CreateLabel("Version: 2.0") local DestroyButton = InfoTab:CreateButton({ Name = "Destroy GUI", Callback = function() DisableInvisibility() Rayfield:Destroy() end, }) Rayfield:Notify({ Title = "Invisibility Script Loaded", Content = "Made by YT|Deasl - Use wisely!", Duration = 6, }) print("Universal Invisibility by YT|Deasl - Ready!")