local Players = game:GetService("Players") local TextChatService = game:GetService("TextChatService") local RunService = game:GetService("RunService") local LP = Players.LocalPlayer local GRIEF_KEYWORDS = { "griefing", "griefer", "greifing", "greifer", "hes griefing", "hes greifing", "he's griefing", "he's greifing", "admin griefer", "admin griefing", "admin greifing", "admin hes griefing", "admin hes greifing", "admin he's griefing", "admin he's greifing", "admin he is griefing", "admin he is greifing", "admin hes a griefer", "admin hes a greifer", "admin he's a griefer", "admin he's a greifer", "admin someone is griefing", "admin someone is greifing", "admin theres a griefer", "admin theres a greifer", "admin there is a griefer", "admin there is a greifer", "admin griefer please", "admin griefer help", "admin help griefer", "admin help griefing", "admin help greifing", "admin help there is a griefer", "admin help theres a griefer", "admin grief", "admin stop him", "admin ban him", "admin kick him hes griefing", "admin kick him hes greifing", "admin kick the griefer", "admin kick the greifer", "admin ban the griefer", "admin ban the greifer", "someones griefing", "someone is griefing", "someone's griefing", "someones greifing", "someone is greifing", "someone's greifing", "someone griefing", "someone greifing", "is griefing", "is a griefer", "is greifing", "is a greifer", "tee is griefing", "tee is greifing", "tee is a griefer", "tee griefing", "tee greifing", "tee griefer", "tee greifer", "its tee", "it's tee", "tee again", "tee is back", "tee destroying", "tee deleted", "tee deleting", "hes greifing admin", "hes griefing admin", "he's greifing admin", "he's griefing admin", "he is griefing admin", "he is greifing admin", "griefer in server", "greifer in server", "griefer here", "greifer here", "there is a griefer", "there is a greifer", "theres a griefer", "theres a greifer", "stop griefing", "stop greifing", "they griefing", "they greifing", "hes a griefer", "hes a greifer", "he is griefing", "he is greifing", "report griefer", "report griefing", "grief aura", "griefs", "grief", "destroying builds", "destroying my build", "deleting my build", "deleting builds", "deleted my build", "deleted my stuff", "destroying my stuff", "destroyed my build", "kick the griefer", "kick griefer", "kick griefing", "ban griefer", "ban griefing", "bro is griefing", "bro is greifing", "guy is griefing", "guy is greifing", "hes destroying", "he is destroying", "destroying everything", "hes griefing again", "hes greifing again", "he's griefing again", "he's greifing again", "griefing again", "greifing again", "griefer is back", "greifer is back", "someone is deleting", "someone deleted", "someone destroying", "they deleted", "they destroying", "they deleting", "whos griefing", "who is griefing", "who is greifing", "catch the griefer", "get the griefer", "get him hes griefing", "get him hes greifing", "get him he's griefing", "get him he's greifing", "get him hes a griefer", "get him hes a greifer", "hes doing it again", "doing it again", "my build is gone", "my stuff is gone", "my blocks are gone", "deleted my blocks", "deleting my blocks", "griefer griefer", "griefer griefer admin", "someone stop the griefer", "someone stop the greifer", "ban him hes a griefer", "ban him hes a greifer", "kick him hes a griefer", "kick him hes a greifer", } local function getGeneral() local channels = TextChatService:FindFirstChild("TextChannels") return channels and channels:FindFirstChild("RBXGeneral") end local function sendChat(msg) local general = getGeneral() if general then general:SendAsync(msg) end end local function containsGriefWord(text) local lower = text:lower() for _, keyword in ipairs(GRIEF_KEYWORDS) do if lower:find(keyword, 1, true) then return true end end return false end local antigActive = false local antigTriggered = false local autoGatherActive = false local gatherConnection = nil local function dropAll() local char = LP.Character or LP.CharacterAdded:Wait() local backpack = LP:FindFirstChildOfClass("Backpack") if not backpack then return end for _, v in pairs(backpack:GetChildren()) do if v:IsA("Tool") then pcall(function() v.Parent = char end) end end task.wait() for _, v in pairs(char:GetChildren()) do if v:IsA("Tool") then pcall(function() v.Parent = workspace end) end end end local function disarmAll() if antigTriggered then return end antigTriggered = true dropAll() task.wait(3) antigTriggered = false end local function startAutoGather() if gatherConnection then return end gatherConnection = RunService.Heartbeat:Connect(function() pcall(function() local char = LP.Character local root = char and char:FindFirstChild("HumanoidRootPart") if not root then return end for _, obj in ipairs(workspace:GetChildren()) do if obj:IsA("Tool") or obj:IsA("Model") then local handle = obj:FindFirstChild("Handle") or obj:FindFirstChildOfClass("BasePart") if handle then local playerOwner = Players:GetPlayerFromCharacter(obj.Parent) if not playerOwner then handle.CFrame = root.CFrame + Vector3.new(0, 1, 0) end end end end end) end) end local function stopAutoGather() if gatherConnection then gatherConnection:Disconnect() gatherConnection = nil end end local function listenForCommands() local general = getGeneral() if not general then return end general.MessageReceived:Connect(function(message) if not message.TextSource then return end local text = (message.Text or ""):lower():gsub("^%s+", ""):gsub("%s+$", "") local isOwn = message.TextSource.UserId == LP.UserId if isOwn then if text == "!autogi" then if not autoGatherActive then autoGatherActive = true startAutoGather() sendChat("Auto Gather: ON") end return elseif text == "!stopautogi" then if autoGatherActive then autoGatherActive = false stopAutoGather() sendChat("Auto Gather: OFF") end return elseif text == "!antig" then if not antigActive then antigActive = true sendChat("Grief Detector: ON") end return elseif text == "!stopantig" then if antigActive then antigActive = false sendChat("Grief Detector: OFF") end return end end if not isOwn and antigActive then if containsGriefWord(text) then task.spawn(disarmAll) end end end) end listenForCommands() sendChat("Grief text detector script loaded. Credits to me_meymeyme and Teebiu. Commands: !autogi !antig !stopautogi !stopantig")