Currently i am trying to make custom servers that people can join and if you are in a different server then the colour of the part is different. for some reason when I test it, it doesn’t replicate but if i wait between every time i call the function then for some reason it does end up replicating. Does anyone know why this is happening? Here is the script:
game.ReplicatedStorage.SendMsg.OnServerEvent:Connect(function(player, Server) local messagingService = game:GetService("MessagingService") local connection function event() if Server == "Server1" then local nmp = Instance.new("MeshPart", workspace) nmp.Anchored = false nmp.Position = Vector3.new(0,2,0) local newattachment = Instance.new("Attachment", nmp) local newlv = Instance.new("LinearVelocity", newattachment) newlv.VectorVelocity = Vector3.new(0,1,0) newlv.MaxForce = math.huge newlv.Attachment0 = newattachment newlv.RelativeTo = "Attachment0" nmp.BrickColor = BrickColor.new("Bright violet") elseif Server == "Server2" then local nmp = Instance.new("MeshPart", workspace) nmp.Anchored = false nmp.Position = Vector3.new(0,2,0) local newattachment = Instance.new("Attachment", nmp) local newlv = Instance.new("LinearVelocity", newattachment) newlv.VectorVelocity = Vector3.new(0,1,0) newlv.MaxForce = math.huge newlv.Attachment0 = newattachment newlv.RelativeTo = "Attachment0" nmp.BrickColor = BrickColor.new("Bright violet") end connection:Disconnect() wait(10) establishConnection() end function establishConnection() connection = messagingService:SubscribeAsync("event", event) end establishConnection() messagingService:PublishAsync("event") end)