Since it’s long time which is used this simple exploit on roblox.
With a Executor if you use the Dev Dex You have in-game access to practically the game studio.
So if you go to open the “Player” category Your player list will pop up if you open a specific player, you will be able to access their Inventory.
From this you can copy a tools and paste it in your Inventory, And the copy of that tools will pop up in your inventory.
So my question is
There a script to prevent this?
A script that kicks you as soon as you clone the tools in that method into your inventory.
I have not even noticed similar posts, so if anyone could know the solution to the problem, it would surely help a lot of other people.
It probably only clones them on the client, so I doubt there is anything to worry about. If you want to be sure, in the server script, check if they actually have the tool, and if they don’t, kick them.
As @Pokemoncraft5290 said above, you can do a sanity check to make sure a player actually has a tool. You can save what tools a player has on the server, and when a player tries to use a tool, check with the server data to make sure the player has the tools.
Check if their is a bunch of the same tool in one backpack like this
player.Backpack.ChildAdded:Connect(function()
for _, item in pairs(player.Backpack:GetChildren()) do
if #item > 1 then
if item.Name == "ToolName" then
player:Kick()
end
end
end
end)
player.Backpack.ChildAdded:Connect(function()
for _, item in pairs(player.Backpack:GetChildren()) do
if #item.Parent > 1 then
if item.Name == "ToolName" then
player:Kick()
end
end
end
end)
--server script
game.Players.PlayerAdded:Wait()
local module = require(script.ModuleScript)
local player = module.Player()
player:FindFirstChild("Backpack").ChildAdded:Connect(function()
module.KickPlayer()
end)
--module script
local module = {}
function module.Player()
for _, player in pairs(game.Players:GetPlayers()) do
return player
end
end
function module.KickPlayer()
for _, player in pairs(game.Players:GetPlayers()) do
for _, item in pairs(player.Backpack:GetChildren()) do
if #item.Parent > 1 then
if item.Name == "Tool" then
player:Kick()
end
end
end
end
end
return module
--Server Script
game.Players.PlayerAdded:Wait()
wait(6) -- So it waits for the player to not be 'nil'
local module = require(script.ModuleScript)
local player = module.GetPlayer()
local players = player.Backpack:GetChildren()
if #players > 1 then
module:KickPlayer()
end
--ModuleScript
local module = {}
function module.GetPlayer()
for _, player in pairs(game.Players:GetPlayers()) do
return player
end
end
function module:KickPlayer()
for _, player in pairs(game.Players:GetPlayers()) do
for _, item in pairs(player.Backpack:GetChildren()) do
if item.Name == "Tool" then
player:Kick()
end
end
end
end
return module