Okay, so, I've made a little sandbox, and I will retrieve part of it to ask you guys on how I could block these methods easier:
already defined player as "Player"
local ActualPlayer = Game.Players.Player1
local Player = newproxy(true)
local Blocked = {
kick = true,
destroy = true,
remove = true,
}
local Clones = {
kick = function(p)
error("Attempt to kick player blocked")
end,
destroy = function(p)
error("Attempt to kick player blocked")
end,
remove = function(p)
error("Attempt to kick player blocked")
end,
}
getmetatable(Player).__index = function(a,b)
if not Blocked[b:lower()] and ActualPlayer[b] and not ActualPlayer:FindFirstChild(b) then
return ActualPlayer[b]
elseif Blocked[b:lower()] then
Clones[b:lower()](ActualPlayer)
return Clones[b:lower()]
elseif not Blocked[b:lower()] and ActualPlayer:FindFirstChild(b) then
return ActualPlayer[b]
end
end
Player:Destroy()
Player:Remove()
Player:kick()

2 comments
This works, but I want some help on an easier way to block these, thanks.
Lol, Sam, you will never escape me... :)