How should i hide a tool from one client?

Im trying to make a player equip a tool the tool being visible on all clients except the player’s client
But when i delete the tool on the player’s client, it gets deleted server side too

Client:

script.equip:FireServer(weaponequipped.Name)
repeat wait() until PLAYER.Character:FindFirstChild(weaponequipped.Name)
for i,v in pairs(PLAYER.Character[weaponequipped.Name]:GetChildren()) do
	if v.Name ~= "Handle" then
		v:Destroy()
	end
end

Server:

script.Parent.equip.OnServerEvent:Connect(function(client,weapon)
        local wepo = game.ServerStorage.weapontools[weapon]:Clone()
	wepo.Parent = PLR.Character
	PLR.Character.Humanoid:EquipTool(wepo)
end)

Is there another way of doing this?

Perhaps locally change the transparency to 1.

If that does the same thing, consider LocalTransparencyModifier

1 Like

Make a client remote event which deletes the tool on the other client

1 Like

This is the method i first thought of too, but it turned out to be really messy and decided to use destroy. But, as i said, it’s deleted on server side too

Unfortunately that is the only way to solve this, due to Roblox automatically replicating when children are added or removed from a tool.

1 Like

The client has network ownership (control) over their player’s character model, this means that instances contained within it (including tools) are also network owned by the client and any changes to them will replicate to the server.