Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Remote events not firing in online mode?

Asked by 8 years ago

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?

Answer this question