Player Always Passed as First Argument?

I’m trying to make an event board, and I’m having some trouble with the scripting.

The event board:

In the future, people will be able to add events to the board by using a GUI, for now, I’m testing it with parts and ClickDetectors.

-- Client:
workspace.TestNew.ClickDetector.MouseClick:Connect(function(Player)
	game.ReplicatedStorage.EventBoardFunction:InvokeServer("AddNewEvent", Player, 1, "Event Name", "Location", workspace.EventBoards:GetAttribute("EventCount"))
end)
-- Server:
game.ReplicatedStorage.EventBoardFunction.OnServerInvoke = function(Type, Player, ...)
	print(Type.Parent) -- prints game.Players???

My issue is, even though I pass Player as the second argument from the client, the server always takes it as the first argument? Why is this happening? Is there a way to fix it, or will I have to re-name my arguments?

You’ll just need to add a extra argument to the 1st place.

This is how they work. They automatically provide the player as the first argument.

3 Likes