Server script.
game.ReplicatedStorage.CreateEvent.OnServerEvent:Connect(function(player,location) print("Works!") for i = 1, (tonumber(9)) do wait(0.2) game.Lighting.F9.Position = location local deathPart = game.Lighting.F9 wait(0.2) F9C = deathPart:Clone() wait(0.2) F9C.Parent = game.workspace F9C.Position = location end end)
Local script.
script.Parent.MouseButton1Click:Connect(function() xc = math.random(-590,-460) yc = 57 zc = math.random(-170, 60) game.ReplicatedStorage.CreateEvent:FireServer(Vector3.new(xc,yc,zc)) end)
The parts' location will be random but they all spawn in the same random place. How do I make each of them spawn in a different place?
Well, one problem I see with what you're doing is that when you go to fire the event, you only pass in the Vector3 argument, but on the server you stipulate two arguments to the function. Therefore, the location's Vector3 value is being passed on to the server as "player" instead of "location."
Try this in the LocalScript on line 5 and see if it works. (Although, I'm not sure why you use the player argument at all)
game.ReplicatedStorage.CreateEvent:FireServer(game.Players.LocalPlayer, Vector3.new(xc,yc,zc))