local player = game.Players.LocalPlayer local backpack = player:WaitForChild("Backpack") local replicatedStorage = game:GetService("ReplicatedStorage") local itemsToGive = {"Glock", "Gun", "RPG", "Squirter"} -- ===== GET ROOT ===== local function getRoot() local char = player.Character or player.CharacterAdded:Wait() return char:WaitForChild("HumanoidRootPart") end local root = getRoot() local originalCFrame = root.CFrame -- ===== STACK FIX ===== local function setStack(obj) local stack = obj:FindFirstChild("Stack", true) if stack and (stack:IsA("IntValue") or stack:IsA("NumberValue")) then stack.Value = 999 end end local function fixAntidotes() local character = player.Character -- Backpack for _, item in ipairs(backpack:GetChildren()) do if item.Name == "Antidote" then setStack(item) end end -- Equipped if character then for _, item in ipairs(character:GetChildren()) do if item.Name == "Antidote" then setStack(item) end end end end -- Run multiple times (bypass resets) for i = 1, 10 do fixAntidotes() task.wait(0.2) end -- ===== GIVE / DELETE ITEMS ===== local function giveItems() for _, name in ipairs(itemsToGive) do if not backpack:FindFirstChild(name) then local item = replicatedStorage:FindFirstChild(name, true) if item then item:Clone().Parent = backpack else warn("Missing:", name) end end end end local function handleItems() local hasAll = true for _, name in ipairs(itemsToGive) do if not backpack:FindFirstChild(name) then hasAll = false break end end if hasAll then for _, name in ipairs(itemsToGive) do local item = backpack:FindFirstChild(name) if item then item:Destroy() end end else giveItems() end end handleItems() -- ===== FIRE CLICK DETECTORS ===== local function fireNearbyClickDetectors() for _, obj in ipairs(workspace:GetDescendants()) do if obj:IsA("ClickDetector") then local part = obj.Parent if part and part:IsA("BasePart") then local distance = (root.Position - part.Position).Magnitude if distance <= 5 then fireclickdetector(obj) end end end end end -- ===== FIND ANTIDOTES ===== local antidotes = {} for _, obj in ipairs(workspace:GetDescendants()) do if obj.Name == "Antidote" and not obj:IsA("Tool") then if obj:IsA("BasePart") then table.insert(antidotes, obj.CFrame) elseif obj:IsA("Model") then local part = obj:FindFirstChildWhichIsA("BasePart") if part then table.insert(antidotes, part.CFrame) end end end end -- ===== TP + CLICK ===== for i, cf in ipairs(antidotes) do root.CFrame = cf + Vector3.new(0, 3, 0) task.wait(0.3) fireNearbyClickDetectors() task.wait(0.5) if i < #antidotes then task.wait(2) end end -- ===== RETURN ===== root.CFrame = originalCFrame