-- Roblox Mobile Exploit GUI: SafeZone Script -- Поддерживает мобильные экзекуторы (Fluxus, Delta, Hydrogen и др.) local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local Settings = { Enabled = false, HpThreshold = 99, OffsetDistance = 5, OffsetDirection = "Вперед" } local State = { InSafeZone = false, SavedCFrame = nil, SafePlatform = nil, IsMinimized = false, IsPinned = false } local SAFE_ZONE_HEIGHT = 5000 -------------------------------------------------------------------------------- -- СОЗДАНИЕ ПЛАТФОРМЫ -------------------------------------------------------------------------------- local function CreateSafePlatform(position) local folder = Instance.new("Folder") folder.Name = "SafeZone_Platform_Container" local floor = Instance.new("Part") floor.Size = Vector3.new(40, 2, 40) floor.Position = position floor.Anchored = true floor.Material = Enum.Material.SmoothPlastic floor.Color = Color3.fromRGB(35, 35, 40) floor.Parent = folder local wallData = { {pos = Vector3.new(0, 10, 20), size = Vector3.new(40, 20, 1)}, {pos = Vector3.new(0, 10, -20), size = Vector3.new(40, 20, 1)}, {pos = Vector3.new(20, 10, 0), size = Vector3.new(1, 20, 40)}, {pos = Vector3.new(-20, 10, 0), size = Vector3.new(1, 20, 40)} } for _, data in ipairs(wallData) do local wall = Instance.new("Part") wall.Size = data.size wall.Position = position + data.pos wall.Anchored = true wall.Material = Enum.Material.Glass wall.Transparency = 0.5 wall.Color = Color3.fromRGB(130, 180, 255) wall.Parent = folder end folder.Parent = workspace return folder, position + Vector3.new(0, 4, 0) end local ToggleBtn local function UpdateToggleVisual() if ToggleBtn then if Settings.Enabled then ToggleBtn.Text = "1 нажатие: включить, 2: выключить (ВКЛ) / 1 click: ON, 2: OFF" ToggleBtn.BackgroundColor3 = Color3.fromRGB(45, 185, 80) else ToggleBtn.Text = "1 нажатие: включить, 2: выключить (ВЫКЛ) / 1 click: ON, 2: OFF" ToggleBtn.BackgroundColor3 = Color3.fromRGB(190, 45, 45) end end end local function TeleportToSafeZone() local char = LocalPlayer.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end if not State.InSafeZone then State.SavedCFrame = char.HumanoidRootPart.CFrame local safePos = char.HumanoidRootPart.Position + Vector3.new(0, SAFE_ZONE_HEIGHT, 0) local platFolder, spawnCFrame = CreateSafePlatform(safePos) State.SafePlatform = platFolder char.HumanoidRootPart.CFrame = CFrame.new(spawnCFrame) State.InSafeZone = true Settings.Enabled = false UpdateToggleVisual() end end local function ReturnFromSafeZone() local char = LocalPlayer.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end if State.InSafeZone and State.SavedCFrame then local targetCFrame = State.SavedCFrame local dist = Settings.OffsetDistance if Settings.OffsetDirection == "Вперед" then targetCFrame = targetCFrame * CFrame.new(0, 0, -dist) elseif Settings.OffsetDirection == "Назад" then targetCFrame = targetCFrame * CFrame.new(0, 0, dist) elseif Settings.OffsetDirection == "Вправо" then targetCFrame = targetCFrame * CFrame.new(dist, 0, 0) elseif Settings.OffsetDirection == "Влево" then targetCFrame = targetCFrame * CFrame.new(-dist, 0, 0) end char.HumanoidRootPart.CFrame = targetCFrame if State.SafePlatform then State.SafePlatform:Destroy() State.SafePlatform = nil end State.InSafeZone = false end end -------------------------------------------------------------------------------- -- ИНТЕРФЕЙС (GUI) -------------------------------------------------------------------------------- local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SafeZoneExploitGUI" ScreenGui.ResetOnSpawn = false if gethui then ScreenGui.Parent = gethui() else ScreenGui.Parent = game:GetService("CoreGui") end local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 320, 0, 430) MainFrame.Position = UDim2.new(0.5, -160, 0.2, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true MainFrame.Parent = ScreenGui Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 12) -- Шапка (Header) local Header = Instance.new("Frame") Header.Size = UDim2.new(1, 0, 0, 40) Header.BackgroundColor3 = Color3.fromRGB(30, 30, 38) Header.Parent = MainFrame Instance.new("UICorner", Header).CornerRadius = UDim.new(0, 12) local TitleLabel = Instance.new("TextLabel") TitleLabel.Size = UDim2.new(0.5, 0, 1, 0) TitleLabel.Position = UDim2.new(0, 12, 0, 0) TitleLabel.BackgroundTransparency = 1 TitleLabel.Text = "SafeZone Mobile / Сейф-Зона" TitleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TitleLabel.TextXAlignment = Enum.TextXAlignment.Left TitleLabel.Font = Enum.Font.SourceSansBold TitleLabel.TextSize = 14 TitleLabel.Parent = Header -- Кнопка Закрыть (❌) local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 28, 0, 28) CloseBtn.Position = UDim2.new(1, -34, 0, 6) CloseBtn.BackgroundColor3 = Color3.fromRGB(210, 50, 50) CloseBtn.Text = "❌" CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255) CloseBtn.TextSize = 12 CloseBtn.Parent = Header Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 6) -- Кнопка Свернуть/Развернуть (- / +) local MinimizeBtn = Instance.new("TextButton") MinimizeBtn.Size = UDim2.new(0, 28, 0, 28) MinimizeBtn.Position = UDim2.new(1, -68, 0, 6) MinimizeBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 60) MinimizeBtn.Text = "-" MinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) MinimizeBtn.Font = Enum.Font.SourceSansBold MinimizeBtn.TextSize = 16 MinimizeBtn.Parent = Header Instance.new("UICorner", MinimizeBtn).CornerRadius = UDim.new(0, 6) -- Кнопка Пин (📌) local PinBtn = Instance.new("TextButton") PinBtn.Size = UDim2.new(0, 28, 0, 28) PinBtn.Position = UDim2.new(1, -102, 0, 6) PinBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 60) PinBtn.Text = "📌" PinBtn.TextColor3 = Color3.fromRGB(255, 255, 255) PinBtn.TextSize = 13 PinBtn.Parent = Header Instance.new("UICorner", PinBtn).CornerRadius = UDim.new(0, 6) -- Контейнер local Content = Instance.new("Frame") Content.Size = UDim2.new(1, -20, 1, -50) Content.Position = UDim2.new(0, 10, 0, 45) Content.BackgroundTransparency = 1 Content.Parent = MainFrame -- 1. Кнопка ВКЛ/ВЫКЛ ToggleBtn = Instance.new("TextButton") ToggleBtn.Size = UDim2.new(1, 0, 0, 42) ToggleBtn.Position = UDim2.new(0, 0, 0, 0) ToggleBtn.BackgroundColor3 = Color3.fromRGB(190, 45, 45) ToggleBtn.Text = "1 нажатие: включить, 2: выключить (ВЫКЛ) / 1 click: ON, 2: OFF" ToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleBtn.Font = Enum.Font.SourceSansBold ToggleBtn.TextSize = 8.5 ToggleBtn.Parent = Content Instance.new("UICorner", ToggleBtn).CornerRadius = UDim.new(0, 8) -- 2. Синяя кнопка ТП сейчас local TpNowBtn = Instance.new("TextButton") TpNowBtn.Size = UDim2.new(1, 0, 0, 42) TpNowBtn.Position = UDim2.new(0, 0, 0, 50) TpNowBtn.BackgroundColor3 = Color3.fromRGB(45, 110, 190) TpNowBtn.Text = "⚡ ТП сейчас (Предупреждение: использовать с выключенным режимом) / TP Now (Warning: Use with OFF mode)" TpNowBtn.TextColor3 = Color3.fromRGB(255, 255, 255) TpNowBtn.Font = Enum.Font.SourceSansBold TpNowBtn.TextSize = 8.5 TpNowBtn.Parent = Content Instance.new("UICorner", TpNowBtn).CornerRadius = UDim.new(0, 8) -- 3. Слайдер ХП local SliderLabel = Instance.new("TextLabel") SliderLabel.Size = UDim2.new(1, 0, 0, 20) SliderLabel.Position = UDim2.new(0, 0, 0, 102) SliderLabel.BackgroundTransparency = 1 SliderLabel.Text = "Порог ХП / HP Threshold: 99" SliderLabel.TextColor3 = Color3.fromRGB(190, 190, 190) SliderLabel.Font = Enum.Font.SourceSans SliderLabel.TextSize = 13 SliderLabel.TextXAlignment = Enum.TextXAlignment.Left SliderLabel.Parent = Content local SliderBg = Instance.new("Frame") SliderBg.Size = UDim2.new(1, 0, 0, 14) SliderBg.Position = UDim2.new(0, 0, 0, 126) SliderBg.BackgroundColor3 = Color3.fromRGB(40, 40, 50) SliderBg.Parent = Content Instance.new("UICorner", SliderBg).CornerRadius = UDim.new(0, 7) local SliderFill = Instance.new("Frame") SliderFill.Size = UDim2.new(1, 0, 1, 0) SliderFill.BackgroundColor3 = Color3.fromRGB(0, 170, 255) SliderFill.Parent = SliderBg Instance.new("UICorner", SliderFill).CornerRadius = UDim.new(0, 7) local SliderClick = Instance.new("TextButton") SliderClick.Size = UDim2.new(1, 0, 1, 0) SliderClick.BackgroundTransparency = 1 SliderClick.Text = "" SliderClick.Parent = SliderBg -- 4. Текстбокс смещения local OffsetTitle = Instance.new("TextLabel") OffsetTitle.Size = UDim2.new(0.6, 0, 0, 36) OffsetTitle.Position = UDim2.new(0, 0, 0, 150) OffsetTitle.BackgroundTransparency = 1 OffsetTitle.Text = "Смещение (студы) / Offset (studs):" OffsetTitle.TextColor3 = Color3.fromRGB(190, 190, 190) OffsetTitle.Font = Enum.Font.SourceSans OffsetTitle.TextSize = 13 OffsetTitle.TextXAlignment = Enum.TextXAlignment.Left OffsetTitle.Parent = Content local OffsetTextBox = Instance.new("TextBox") OffsetTextBox.Size = UDim2.new(0.35, 0, 0, 36) OffsetTextBox.Position = UDim2.new(0.65, 0, 0, 150) OffsetTextBox.BackgroundColor3 = Color3.fromRGB(35, 35, 45) OffsetTextBox.Text = "5" OffsetTextBox.TextColor3 = Color3.fromRGB(255, 255, 255) OffsetTextBox.Font = Enum.Font.SourceSansBold OffsetTextBox.TextSize = 15 OffsetTextBox.Parent = Content Instance.new("UICorner", OffsetTextBox).CornerRadius = UDim.new(0, 8) -- 5. Кнопки направлений local DirTitle = Instance.new("TextLabel") DirTitle.Size = UDim2.new(1, 0, 0, 20) DirTitle.Position = UDim2.new(0, 0, 0, 196) DirTitle.BackgroundTransparency = 1 DirTitle.Text = "Направление при возврате / Return Direction:" DirTitle.TextColor3 = Color3.fromRGB(190, 190, 190) DirTitle.Font = Enum.Font.SourceSans DirTitle.TextSize = 13 DirTitle.TextXAlignment = Enum.TextXAlignment.Left DirTitle.Parent = Content local directions = { {name = "Вперед", label = "Вперед / Forward"}, {name = "Назад", label = "Назад / Backward"}, {name = "Влево", label = "Влево / Left"}, {name = "Вправо", label = "Вправо / Right"} } local dirButtons = {} for i, dirData in ipairs(directions) do local dBtn = Instance.new("TextButton") dBtn.Size = UDim2.new(0.48, 0, 0, 38) local col = (i % 2 ~= 0) and 0 or 0.52 local row = (i > 2) and 44 or 0 dBtn.Position = UDim2.new(col, 0, 0, 222 + row) dBtn.BackgroundColor3 = (dirData.name == Settings.OffsetDirection) and Color3.fromRGB(0, 170, 100) or Color3.fromRGB(40, 40, 50) dBtn.Text = dirData.label dBtn.TextColor3 = Color3.fromRGB(255, 255, 255) dBtn.Font = Enum.Font.SourceSansBold dBtn.TextSize = 12 dBtn.Parent = Content Instance.new("UICorner", dBtn).CornerRadius = UDim.new(0, 8) dirButtons[dirData.name] = dBtn dBtn.MouseButton1Click:Connect(function() Settings.OffsetDirection = dirData.name for name, btn in pairs(dirButtons) do btn.BackgroundColor3 = (name == Settings.OffsetDirection) and Color3.fromRGB(0, 170, 100) or Color3.fromRGB(40, 40, 50) end end) end -------------------------------------------------------------------------------- -- СОБЫТИЯ -------------------------------------------------------------------------------- ToggleBtn.MouseButton1Click:Connect(function() Settings.Enabled = not Settings.Enabled UpdateToggleVisual() if not Settings.Enabled and State.InSafeZone then ReturnFromSafeZone() end end) TpNowBtn.MouseButton1Click:Connect(function() if State.InSafeZone then ReturnFromSafeZone() else TeleportToSafeZone() end end) local draggingSlider = false local function UpdateSlider(input) local posRelative = math.clamp((input.Position.X - SliderBg.AbsolutePosition.X) / SliderBg.AbsoluteSize.X, 0, 1) local hpVal = math.floor(1 + (posRelative * 98)) Settings.HpThreshold = hpVal SliderFill.Size = UDim2.new((hpVal - 1) / 98, 0, 1, 0) SliderLabel.Text = "Порог ХП / HP Threshold: " .. tostring(hpVal) end SliderClick.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingSlider = true UpdateSlider(input) end end) SliderClick.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingSlider = false end end) UserInputService.InputChanged:Connect(function(input) if draggingSlider and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then UpdateSlider(input) end end) OffsetTextBox.FocusLost:Connect(function() local val = tonumber(OffsetTextBox.Text) if val then Settings.OffsetDistance = math.abs(val) else OffsetTextBox.Text = tostring(Settings.OffsetDistance) end end) MinimizeBtn.MouseButton1Click:Connect(function() State.IsMinimized = not State.IsMinimized if State.IsMinimized then MinimizeBtn.Text = "+" Content.Visible = false MainFrame.Size = UDim2.new(0, 320, 0, 40) else MinimizeBtn.Text = "-" Content.Visible = true MainFrame.Size = UDim2.new(0, 320, 0, 430) end end) PinBtn.MouseButton1Click:Connect(function() State.IsPinned = not State.IsPinned MainFrame.Draggable = not State.IsPinned PinBtn.BackgroundColor3 = State.IsPinned and Color3.fromRGB(0, 170, 100) or Color3.fromRGB(50, 50, 60) end) CloseBtn.MouseButton1Click:Connect(function() if State.InSafeZone then ReturnFromSafeZone() end ScreenGui:Destroy() end) RunService.Heartbeat:Connect(function() if not Settings.Enabled then return end local char = LocalPlayer.Character if char and char:FindFirstChild("Humanoid") then local hum = char.Humanoid if hum.Health > 0 and hum.Health <= Settings.HpThreshold then if not State.InSafeZone then TeleportToSafeZone() end end end end)