Is it possible to somehow detect instance of added item and check it on the server-side and on the client-side to exploiter doesn not know about it?

Hi! I made a script that checks for the presence of an unknown item that was added only on the client side.

The client script that is located in StarterPlayerScripts:

local Event = game.ReplicatedStorage.CheckAdd
local Player = game.Players.LocalPlayer

Player.CharacterAdded:Connect(function()
	wait(5)
	Player.Character.DescendantAdded:Connect(function(child)
		Event:FireServer(child)
	end)
end)
  • CheckAdd is RemoteEvent

The server script that is located in the ServerScriptService:

local Event = game.ReplicatedStorage.CheckAdd

Event.OnServerEvent:Connect(function(plr,child)
	local tool = false
	for i,v in pairs(plr.Character:GetDescendants()) do
		if v==child then
			tool=true
		end
	end
	if tool then
		warn("tool was added from server side")
	else
		plr.Character.Humanoid.Health=0
		warn("tool was added from client side")
	end
end)

If the item was added and the local script saw it, it will send the instance of the added item to the server side for checking and if the server script does not see the added item, then it will kill the player. But there is one problem that the exploiter can disable or remove the local script. Can i somehow make it so that the exploiter could not disable or remove the local script, or find out in some other way on the client side the item was added and send the instance of the added item to the server side for checking and so that the exploiter does not know this?

Wouldn’t checking it on the client allow exploiters to know about the item why don’t you just do it server sided