needs executor with hookmetamethod and hookfunction
3


Reviewed by QueueSherlockPaid revieweron How review works
No reports yet. Tried it? Be the first to say.
You sometimes come across scripts that post the cheat's name in the chat for promotional purposes, which gives the user away, this script solves that problem
needs executor with hookmetamethod and hookfunction
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TextChatService = game:GetService("TextChatService")
local CoreGui = game:GetService("CoreGui")
local env = (getgenv and getgenv()) or _G
env.__ChatBlocker = env.__ChatBlocker or { enabled = false, hooked = false }
local State = env.__ChatBlocker
if State.unload then
pcall(State.unload)
end
local function isLegacyChatRemote(inst)
return typeof(inst) == "Instance"
and inst.ClassName == "RemoteEvent"
and inst.Name == "SayMessageRequest"
end
local function isTextChannel(inst)
return typeof(inst) == "Instance" and inst.ClassName == "TextChannel"
end
if not State.hooked then
State.hooked = true
if hookmetamethod and getnamecallmethod then
local oldNamecall
oldNamecall = hookmetamethod(game, "__namecall", newcclosure(function(self, ...)
if State.enabled then
local method = getnamecallmethod()
if method == "FireServer" and isLegacyChatRemote(self) then
return
end
if method == "SendAsync" and isTextChannel(self) then
return
end
end
return oldNamecall(self, ...)
end))








Script hub
goated
Its OP :3