I'm making a filtering enabled car placement system that works in Studio perfectly but in online mode the remote events do not execute. They are located in ReplicatedStorage.
Relevant server code:
spawnpreviewevent.OnServerEvent:connect(function(player,args) --event that spawns the preview of the car print("spawn event started") --event to spawn the preview local previewclone = args[1]:Clone() previewclone.Name = player.Name.."-preview" previewclone.Parent = workspace previewclone.Position = Vector3.new(args[2],args[3],args[4]) print("spawned brick") end) movepreviewevent.OnServerEvent:connect(function(player,args) --event that moves the car according to your mouse.hit print("move event started") --event to move the preview local previewbrick = workspace:FindFirstChild(player.Name.."-preview") if args[5] == "no" then previewbrick.BrickColor = BrickColor.new("Bright red") else previewbrick.BrickColor = BrickColor.new("Bright green") end previewbrick.Position = Vector3.new(args[2],args[3],args[4]) print("move") end) placecarevent.OnServerEvent:connect(function(player,args) --the event that places the car and clears any other cars owned by that player; also deletes the preview brick (which is just a green rectangle that indicates where the car is being placed) --event to place the car print("placing car") local findcar = workspace:FindFirstChild(player.Name.." Car") if findcar then findcar:Destroy() end local previewbrick = workspace:FindFirstChild(player.Name.."-preview") if previewbrick.BrickColor == BrickColor.new("Bright red") then else local cartoclone = cars:FindFirstChild(args[1]):Clone() cartoclone.Name = player.Name.." Car" cartoclone.Parent = workspace cartoclone:MakeJoints() wait() cartoclone:MoveTo(previewbrick.Position+Vector3.new(0,5,0)) previewbrick:Destroy() end end)
Relevant client code:
spawnbutton.MouseButton1Click:connect(function() --Essentially tells the server to spawn the preview brick and passes along some information placing = true x.Value = mouse.Hit.X y.Value = mouse.Hit.Y z.Value = mouse.Hit.Z spawnpreviewevent:FireServer({preview, x.Value,y.Value,z.Value}) main.Visible = false spawn.Visible = false end) mouse.Move:connect(function() --When the mouse moves, tell the server to move the preview brick if placing == true then x.Value = mouse.Hit.X y.Value = mouse.Hit.Y z.Value = mouse.Hit.Z local checkforpreview = workspace:FindFirstChild(player.Name.."-preview") if checkforpreview and mouse.Target then mouse.TargetFilter = checkforpreview if mouse.Target.Name ~= "Road" then canplace = false movepreviewevent:FireServer({checkforpreview, x.Value,y.Value,z.Value,"no"}) else canplace = true movepreviewevent:FireServer({checkforpreview, x.Value,y.Value,z.Value}) end end end end) mouse.Button1Down:connect(function() --When you click (if your mouse is pointing at a road), tell the server to place the car. if canplace == true then placing = false placecarevent:FireServer({name.Value}) main.Visible = true else end end)
As I said, all of this works perfectly in Studio; however, when in online mode, the remote events don't even execute. What have I done wrong here?