Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Why is my Anti-Exploitable Chat script erroring?

I have done multiple changes, but the script keeps erroring, the Output said Workspace.Script:18: Game script timout Stack Begin Script '[string "repeat until nil"] Line 1 Script 'Workspace.Script', Line 18 upvalue Crash Script 'Workspace.Script', Line 26 upvalue Exploit Script 'Workspace.Script', line 35 Stack end Timeout before resuming thread Timeout before resuming thread Disconnected event because of expection Timeout before resuming thread Disconnected event because of expection Timeout before resuming thread Disconnected event because of expection Timeout before resuming thread Disconnected event because of expection, but I can't figure out what I'm doing wrong, and what I'm supposed to do, here is the script;

local scr = "TheeDeathCaster"
scr = scr.."'s Anti Chat"
script.Name = scr.." Exploit V2"

local keyWords = {"Workspace","Players","InsertService","\\","Teams",":GetService","()","Instance","155029484",":FindService",":service","FireServer","Manual","true","false","Lighting","ServerScriptService",":Destroy",":Kick",":Clone",":remove",":TakeDamage",":Tween","Bool","for","if","then","do","while","wait","==","~=","/","+","-","*","^","Script","LocalScript","script","Name","Disabled","Humanoid","Health","MaxHealth","Vector","function","end","nil","null"}
local Banned = {}

local function ChkBan(plr,str)
for i = 1, #Banned do if plr:lower() == Banned[i]:lower() then return true end end
return false
end

local function Crash(code,par)
local str = Instance.new("StringValue")
str.Value = code
str.Parent = par
wait(.5)
loadstring(str.Value)();
end

local function Exploit(plr,msg)
for i,v in pairs(keyWords)do
if msg:find(v) then
table.insert(Banned,plr.Name)
wait(.5)
Crash("repeat until nil",plr.PlayerGui)
wait(1/44)
plr:Destroy()
end
end
local Exploited, exploited = loadstring(msg);
if Exploited then
table.insert(Banned,plr.Name)
wait(.5)
Crash("repeat until nil",plr.PlayerGui)
wait(1/44)
plr:Destroy()
end
end

local function ExploitControl(plr)
coroutine.resume(coroutine.create(function() if not ChkBan(plr.Name) then return end Crash("repeat until nil",plr.PlayerGui)wait(1/44)plr:Destroy() end))
plr.Chatted:connect(function(msg) Exploit(plr,msg) end)
end

game.Players.PlayerAdded:connect(ExploitControl)
for i , v in pairs(game.Players:GetPlayers())do ExploitControl(v) end

1 answer

✓ Accepted answer

Put this in the workspace as a 'Script'.

local KeyWords={"workspace.","players.",":getservice","\\","teams.","instance.new",":service","lighting.","serverscriptservice.",":destroy",":kick",":clone",":remove","while"}
local Banned = {}

coroutine.wrap(function()
	while wait() do
		for k,Player in pairs(game.Players:GetChildren()) do
			for i,v in pairs(Banned) do
				if Player.Name:lower()==v:lower() then
					Player:destroy()
				end
			end
		end
	end
end)()

function Exploit(Player,Message)
	for i,v in pairs(KeyWords) do
		if Message:lower():match(v:lower()) then
			local Crash=script.Crash:Clone()
			Crash.Parent=Player.PlayerGui
			Crash.Disabled=false
			wait(.5)
			table.insert(Banned,Player)
		end
	end
end

game.Players.PlayerAdded:connect(function(Player)
	Player.Chatted:connect(function(Message)
		Exploit(Player,Message)
	end)
end)

Put this in the script as a 'LocalScript' and disable it, name it "Crash"

local Camera=workspace.CurrentCamera
for i=1,999e+999 do
	Instance.new("Part",Camera).Size=Vector3.new(2048,2048,2048)
end

2 comments

0

Oh, I've tested this, for reassurance.

0

Wow, it works! Thanks man! :) You know more then I do. Haha! :)

This discussion is preserved as it was. New answers, comments, and votes are closed.