
Keyless

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")No comments yet for this script.