-- SCP-096 Control Systems - Bubble Activation AI (15m radius) + Kill Cooldown + Variable Damage + NPC Detection + Health 3000 & Fast Regen -- Health is set to 3000 and regenerates quickly (like SCP-096 in Secret Laboratory). -- Everything else remains as before. local VirtualInputManager = game:GetService("VirtualInputManager") local Players = game:GetService("Players") local SoundService = game:GetService("SoundService") local LocalPlayer = Players.LocalPlayer local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/xHeptc/Kavo-UI-Library/main/source.lua"))() local Window = Library.CreateLib("Kill Anyone (SCP-096 Modes)", "DarkTheme") local Tab = Window:NewTab("Kill") local Section = Tab:NewSection("SCP-096 Control Systems") -- Helper: get shotgun local function getShotgun() return LocalPlayer.Backpack:FindFirstChild("Shotgun") or (LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Shotgun")) end -- Tool helpers local function getTool(name) local char = LocalPlayer.Character if char and char:FindFirstChild(name) then return char:FindFirstChild(name) end return LocalPlayer.Backpack:FindFirstChild(name) end local function equipTool(name) local tool = getTool(name) local humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if tool and humanoid then if tool.Parent ~= LocalPlayer.Character then humanoid:EquipTool(tool) end end end local function unequipAllToolsFast() local humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid:UnequipTools() end end -- Play Sound local function playSound(soundId, volume, parent) local sound = Instance.new("Sound") sound.SoundId = soundId sound.Volume = volume or 1 sound.Parent = parent or SoundService sound:Play() sound.Ended:Connect(function() sound:Destroy() end) end -- Death Sound local function setupDeathSound(character) local humanoid = character:WaitForChild("Humanoid", 5) if humanoid then humanoid.Died:Connect(function() playSound("rbxassetid://5177811869", 3, SoundService) end) end end if LocalPlayer.Character then setupDeathSound(LocalPlayer.Character) end LocalPlayer.CharacterAdded:Connect(setupDeathSound) -- Kill Animation local currentAnimTrack = nil local function playKillAnimation() local character = LocalPlayer.Character if not character then return nil end local humanoid = character:FindFirstChildOfClass("Humanoid") if not humanoid then return nil end local animator = humanoid:FindFirstChildOfClass("Animator") or Instance.new("Animator", humanoid) local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://8286133403" local success, track = pcall(function() return animator:LoadAnimation(anim) end) if success and track then if currentAnimTrack then currentAnimTrack:Stop() end currentAnimTrack = track track.Priority = Enum.AnimationPriority.Action4 track:Play(0.1, 1, 1) return track end return nil end -- Check if run tool is equipped and animation playing local function isRunningAnimationActive() local character = LocalPlayer.Character if not character then return false end local runTool = character:FindFirstChild("096 - Run") or character:FindFirstChild("096-Run") if not runTool then return false end local humanoid = character:FindFirstChildOfClass("Humanoid") if not humanoid then return false end local animator = humanoid:FindFirstChildOfClass("Animator") if not animator then return true end for _, track in ipairs(animator:GetPlayingAnimationTracks()) do local id = string.lower(track.Animation.AnimationId) local name = string.lower(track.Name) if string.find(id, "run") or string.find(name, "run") or string.find(id, "rage") or string.find(name, "rage") then if track.IsPlaying then return true end end end return true end -- AI State local aiEnabled = false local manualModeEnabled = false local currentTarget = nil local touchConnection = nil local killCooldownActive = false local BUBBLE_RADIUS = 15 local KILL_DISTANCE = 2 local function resetToIdle() currentTarget = nil unequipAllToolsFast() equipTool("096 - Idle") end local function triggerRage(targetObj) if currentTarget or not aiEnabled or killCooldownActive then return end if targetObj and targetObj ~= LocalPlayer.Character then currentTarget = targetObj unequipAllToolsFast() equipTool("096 - Run") end end -- Damage calculation local function calculateDamage() local baseDamage = 500000 if math.random(1, 100) <= 10 then local nonillion = 10^30 local quintillion = 10^18 local centillion = 10^303 return nonillion + quintillion + centillion else return baseDamage end end -- Kill function (only kills the specific humanoid) local function KillHumanoid(targetHumanoid) if not targetHumanoid or targetHumanoid.Health <= 0 then return end if not isRunningAnimationActive() then return end local damage = calculateDamage() local shotgun = getShotgun() if shotgun and shotgun:FindFirstChild("Receiver") then shotgun.Receiver:FireServer("Damage", targetHumanoid, damage) else targetHumanoid.Health = 0 end local root = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") playSound("rbxassetid://5177811403", 1, root or SoundService) local track = playKillAnimation() if track then killCooldownActive = true track.Stopped:Connect(function() killCooldownActive = false if aiEnabled then resetToIdle() end end) end end -- Touch listener local function setupTouchListeners() if touchConnection then touchConnection:Disconnect() end local character = LocalPlayer.Character if not character then return end local root = character:FindFirstChild("HumanoidRootPart") or character:FindFirstChild("Torso") or character:FindFirstChild("UpperTorso") if not root then return end touchConnection = root.Touched:Connect(function(hit) if manualModeEnabled then local hitModel = hit.Parent if hitModel and hitModel ~= character then local targetHumanoid = hitModel:FindFirstChildOfClass("Humanoid") if targetHumanoid then if isRunningAnimationActive() and not killCooldownActive then KillHumanoid(targetHumanoid) end end end return end if aiEnabled and currentTarget and not killCooldownActive then local hitModel = hit.Parent if hitModel == currentTarget then local targetHumanoid = hitModel:FindFirstChildOfClass("Humanoid") if targetHumanoid and isRunningAnimationActive() then KillHumanoid(targetHumanoid) end end end end) end local function allowIncomingDamage(character) local humanoid = character:WaitForChild("Humanoid", 5) if humanoid then humanoid.BreakJointsOnDeath = true end end -- Health system: set max health 3000, enable fast regeneration local function setupHealthSystem(character) local humanoid = character:WaitForChild("Humanoid", 5) if not humanoid then return end -- Set max health to 3000 pcall(function() humanoid.MaxHealth = 3000 humanoid.Health = 3000 end) -- Disable natural health regen (if any) and use our own fast regen humanoid:SetAttribute("HealthRegeneration", 0) -- Create a loop to regenerate health quickly task.spawn(function() while humanoid and humanoid.Parent do if humanoid.Health < humanoid.MaxHealth then -- Regenerate 100 health per 0.1 seconds (1000 per second) humanoid.Health = math.min(humanoid.MaxHealth, humanoid.Health + 100) end task.wait(0.1) end end) end LocalPlayer.CharacterAdded:Connect(function(newChar) task.wait(0.5) setupTouchListeners() allowIncomingDamage(newChar) setupHealthSystem(newChar) end) if LocalPlayer.Character then setupTouchListeners() allowIncomingDamage(LocalPlayer.Character) setupHealthSystem(LocalPlayer.Character) end -- UI Buttons Section:NewButton("Get shotgun", "Gives you shotgun", function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character:PivotTo(CFrame.new(-789.930969, 2.99992466, 27.4075813)) task.wait(0.1) VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.E, false, game) task.wait(0.05) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.E, false, game) end end) Section:NewToggle("Act like 096 (Bubble 15m)", "When a player/NPC enters 15m, you rage and chase. Kill only that target. Damage 500k or critical. Kill cooldown after animation.", function(state) aiEnabled = state if aiEnabled then manualModeEnabled = false resetToIdle() else resetToIdle() end end) Section:NewToggle("Manual Control Mode", "You control tools and movement. Touch kills any humanoid.", function(state) manualModeEnabled = state if manualModeEnabled then aiEnabled = false currentTarget = nil end end) -- Main AI loop: bubble detection and chase (players + NPCs) task.spawn(function() while true do task.wait(0.1) if aiEnabled then local character = LocalPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local root = character and character:FindFirstChild("HumanoidRootPart") if character and humanoid and root then if not killCooldownActive then if not currentTarget then for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then local pChar = player.Character local pRoot = pChar and (pChar:FindFirstChild("HumanoidRootPart") or pChar:FindFirstChild("Torso")) if pRoot then local dist = (root.Position - pRoot.Position).Magnitude if dist <= BUBBLE_RADIUS then triggerRage(pChar) break end end end end if not currentTarget then for _, obj in ipairs(workspace:GetDescendants()) do if obj:IsA("Model") and obj ~= character and not Players:GetPlayerFromCharacter(obj) then local npcHum = obj:FindFirstChildOfClass("Humanoid") local npcRoot = obj:FindFirstChild("HumanoidRootPart") or obj:FindFirstChild("Torso") if npcHum and npcRoot and npcHum.Health > 0 then local dist = (root.Position - npcRoot.Position).Magnitude if dist <= BUBBLE_RADIUS then triggerRage(obj) break end end end end end end if currentTarget then local targetRoot = currentTarget:FindFirstChild("HumanoidRootPart") or currentTarget:FindFirstChild("Torso") local targetHum = currentTarget:FindFirstChildOfClass("Humanoid") if not currentTarget.Parent or not targetHum or targetHum.Health <= 0 or not targetRoot then resetToIdle() else if not isRunningAnimationActive() then unequipAllToolsFast() equipTool("096 - Run") end humanoid:MoveTo(targetRoot.Position) local dist = (root.Position - targetRoot.Position).Magnitude if dist <= KILL_DISTANCE and isRunningAnimationActive() then KillHumanoid(targetHum) end end else if isRunningAnimationActive() then unequipAllToolsFast() equipTool("096 - Idle") end end end end end end end)