Run it
Copy the script and paste it into your executor.
:()
.IsLoaded:()
(str)
(str) ==
length = #str
count =
String = {}
(#String == length)
String[count] = str:(count, count)
count = count +
String
Players = :()
LocalPlayer = :().LocalPlayer
Character = LocalPlayer.Character
:().ChatVersion == .ChatVersion.LegacyChatService
chat =
ChatBar = LocalPlayer.PlayerGui.Chat.Frame.ChatBarParentFrame.Frame.BoxFrame.Frame.ChatBar
chatMain = :().LocalPlayer.PlayerScripts.ChatScript.ChatMain
lastText =
(message)
msg = (message)
:():(
,
{
Text = msg,
Color = .(, , ),
Font = .Font.GothamMedium,
FontSize =
}
)
(message)
msg = (message)
:():(
,
{
Text = .. msg,
Color = .(),
Font = .Font.GothamMedium,
FontSize =
}
)
(message)
msg = (message)
:():(
,
{
Text = .. msg,
Color = .(, , ),
Font = .Font.GothamMedium,
FontSize =
}
)
()
:().DefaultChatSystemChatEvents:()
()
SMR = :().DefaultChatSystemChatEvents:()
chat =
(msg)
msg = (msg)
:().TextChannels:()
:().TextChannels:():(msg)
(msg)
msg = (msg)
:().TextChannels:()
:().TextChannels:():(
.. msg
)
(msg)
( .. msg)
()
()
() ~=
():()
r =
Protectio = {
AllowSendAsync = ,
HttpOptions = {
HttpGet = {Enabled = , allowedURLs = {
;
}
},
HttpPost = {Enabled = , allowedURLs = {}
}
},
Request = {Enabled = , allowedURLs = {}},
AllowClientKick = ,
AllowReportAbuse = ,
AllowCaptureFocus = ,
AllowSayMessageRequest = ,
AllowAccessFriends = ,
AllowKeyPresses =
}
OnAttemptDeny = {
CopyURLs = ,
CopyReportAbuse =
}
hook
hook =
(
,
,
(Self, ...)
args, method = {...}, ()
Protectio[] == method == Self:()
(() .. .. args[] .. .. Self.Name)
Protectio.HttpOptions.HttpGet.Enabled method:()
OnAttemptDeny[] ==
(args[])
(
.(
, (), method, args[]
)
)
Protectio.HttpOptions.HttpGet.Enabled method:()
found =
url = args[]
spl = url:(, ):()
dot = .. spl[]
i, v Protectio.HttpOptions.HttpGet.allowedURLs
v:(dot)
found =
found
OnAttemptDeny[] (url)
(
.(
, (), method, args[]))
Protectio.HttpOptions.HttpPost.Enabled method:()
OnAttemptDeny[] ==
(args[])
(
.(
, (), method, args[]
)
)
Protectio.HttpOptions.HttpPost.Enabled method:()
found2 =
url = args[]
spl = url:(, ):()
dot = .. spl[]
i, v Protectio.HttpOptions.HttpPost.allowedURLs
v:(dot)
found2 =
found2
OnAttemptDeny[] ==
(url)
(
.(
, (), method, args[]))
method == SMR == chatMain == () == chatMain
SMR = Self
(
..Self.Name..
)
Protectio[] == method == Self == LocalPlayer
(() .. )
Protectio[] == method ==
OnAttemptDeny[]
(.(, (), args[], args[], args[]))
(
.(, (), args[], args[], args[]))
Protectio[] == method == () == chatMain
Self == ChatBar
chat ==
(() .. )
chat == method == Protectio[] ==
(() .. )
chat == Self == SMR method == lastText ~= args[]
() ~= chatMain
(() .. )
Protectio[AllowAccessFriends] == method ==
(.(), ())
Protectio.AllowKeyPresses == method ==
(.(, (), (args[])))
method == method == method == method == method == method ==
x =
i, v args x = x .. i .. .. (x) ..
(
()
..
.. x)
(Self, ...)
)
ChatBar ~=
ChatBar.Focused:(
()
lastText = ChatBar.Text
ChatBar.Text ==
)
(
,
(
(...)
stopped2
args = {...}
i, v args
makeError = (v)
stopped2 =
i, v args
(v)
stopped2 =
)
)
(
,
(
(...)
stopped3
args = {...}
i, v args
(v)
stopped3 =
i, v args
(v)
stopped3 =
)
)
Protectio[AllowKeyPresses] ==
(keypress, (...)
Args = {...}
(
().. ..Args[])
)
= ( .request fluxus fluxus.request) Request
Protectio.Request.Enabled
(, ((Args)
found3 =
x = Args.Url:(, ):()[]
i, v Protectio.Request.allowedURLs
v:(x) found3 =
found3
(().. )
fullname =
_, Arg Args
(Arg) ==
i, v Arg
fullname = fullname .. (i) .. .. v ..
(Arg) ==
fullname = fullname .. (_) .. .. Arg ..
(fullname)
OnAttemptDeny[CopyURLs] (Args.Url)
))
Credits to Hypernova (Creator of guardian script) v1.1 changelogs: * Added options to copy loadstrings, urls and reportabuse information after they fail. * Fixed issues where you cant allow anything and everything would be disabled * Formatted code even more * Script now lets you choose whether to allow loadstrings (enable http requests if it contains a url) * Note that i made the script alone, Credits to Hypernova for the idea of the script v1.2 Removed Stop loadstrings, Fixed script not detecting SayMessageRequest calls, SayMessageRequest's Name now randomizes every .9 seconds to prevent it from being called somehow, Allowed HTTP Requests to be sent to scriptblox.com and robloxscripts.net just because some executors use it for searching 4 scripts, Script has one of the most advanced SayMessageRequest call detections, Fixed 3 bugs, Script now displays warnings, normal messages in chat. Submit more ideas in the discord v1.31: Removed getgenv() or ggv() to prevent other scripts from disabling Protectio, To disable/Enable change the values in the Protectio table before using. Implemented anti webhooks Implemented anti http post (Changeable) v1.32: Removed the getfenv() bs, Improved