local player = game.Players.LocalPlayer local pgui = player:WaitForChild("PlayerGui") local userInputService = game:GetService("UserInputService") local tweenService = game:GetService("TweenService") local Config = { MaxLives = 2, MinHealth = 50, -- Увеличил до 50, чтобы лазер не добил сразу Cooldown = 1.5, UI_Position = UDim2.new(0.5, -50, 0.8, 0) } local currentLives = Config.MaxLives local isRecovering = false -- Функция перетаскивания (без изменений) local function makeDraggable(frame) local dragToggle, dragStart, startPos frame.InputBegan:Connect(function(input) if (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then dragToggle = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragToggle = false end end) end end) userInputService.InputChanged:Connect(function(input) if dragToggle and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) end local function createUI() if pgui:FindFirstChild("LivesMonitor") then pgui.LivesMonitor:Destroy() end local screenGui = Instance.new("ScreenGui", pgui) screenGui.Name = "LivesMonitor" screenGui.ResetOnSpawn = false screenGui.DisplayOrder = 999 local frame = Instance.new("Frame", screenGui) frame.Size = UDim2.new(0, 100, 0, 50) frame.Position = Config.UI_Position frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) frame.BackgroundTransparency = 0.3 frame.Active = true Instance.new("UICorner", frame) local countText = Instance.new("TextLabel", frame) countText.Size = UDim2.new(1, 0, 1, 0) countText.BackgroundTransparency = 1 countText.Text = tostring(currentLives) countText.TextColor3 = Color3.fromRGB(255, 255, 0) countText.Font = Enum.Font.GothamBold countText.TextSize = 30 countText.Interactable = false makeDraggable(frame) return countText end local lifeLabel = createUI() local function applySurvival(character) local humanoid = character:WaitForChild("Humanoid") -- УЛЬТРА-ЗАЩИТА: Запрещаем умирать humanoid:SetStateEnabled(Enum.HumanoidStateType.Dead, false) humanoid.BreakJointsOnDeath = false currentLives = Config.MaxLives lifeLabel.Text = tostring(currentLives) -- Проверка здоровья каждые 0.05 сек (быстрее чем лазер) task.spawn(function() while character.Parent do if humanoid.Health <= 0.1 and currentLives > 0 and not isRecovering then isRecovering = true currentLives = currentLives - 1 lifeLabel.Text = tostring(currentLives) -- Мгновенное воскрешение humanoid.Health = Config.MinHealth humanoid:ChangeState(Enum.HumanoidStateType.GettingUp) local root = character:FindFirstChild("HumanoidRootPart") if root then root.Velocity = Vector3.new(0, 70, 0) -- Сильный подброс от лазера end task.wait(Config.Cooldown) isRecovering = false end task.wait(0.05) end end) end player.CharacterAdded:Connect(applySurvival) if player.Character then applySurvival(player.Character) end