This script SHOULD make "nodes" be visible ot gthe local player, breaks when multiplayer *exists*

local Sender = game.ReplicatedStorage:WaitForChild("ClickSender")
local Event = game.ReplicatedStorage:WaitForChild("PlaceSender")
local LPlayer = game.Players.LocalPlayer

Event.OnClientEvent:Connect(function(param1, param2, param3, param4)
	local Nodes = game.Workspace.Assembly.Frame.Nodes
	Event:FireServer(param1, param2, param3, param4)
	if param1 == "Ready" then
		
		
		
		for _, Node in pairs(Nodes:GetDescendants()) do
			if Node:IsA("BasePart") then
				if Node.Transparency ~= 0.7 then
					if Node:FindFirstChild("Taken") then
						if Node.Taken.Value == false then
							Node.Transparency = 0.7
						end
					end
				end
			end
		end
	end
end)


Sender.OnClientEvent:Connect(function()
	local Nodes = game.Workspace.Assembly.Frame.Nodes
	for _, Node in pairs(Nodes:GetDescendants()) do
		if Node:IsA("BasePart") then
			if Node.Transparency ~= 1 then
				if Node:FindFirstChild("Taken") then
					Node.Transparency = 1
				end
			end
		end
	end
end)

When 2 people have objects selected, and one gets places, the player who placed the object stil can see the nodes, but the other plaer who still has an object cant anymore. Please help!

(Param key if needed)
Param 1 = Protocol (Ready, Removed)
Param 2 = Object path
Param 3 = Node part was removed from (If protocol is “Removed”)
Param 4 = idk tbh