so i am making a power thing and i made it on a client script i want it to show on server too but i dont know how to do it i tried with remote events but it didnt work
No need to put put any arguments such as that. Try something like this (let me know if you have any questions):
Have a localscript to detect when a player clicks the button to activate the black hole
When a player clicks it, send an empty (No extra parameters) Remote Event to the server from the localscript
Then, have a script on the server-side waiting for this event (using RemoteEvent.OnServerEvent), and then create the black hole however it is you do that.
(Assuming the black hole activates when you click a GUI Button, not something like UserInputService. You can still do basically the same thing with UserInputService though with different functions)
You should do thorough reading of the API. OnServerEvent takes in two parameters, which are the Player and a Tuple. The reason as to why you are receiving the player is because it is the first argument of the OnServerEvent. You need to set your first argument as the player and your second argument as mouse.Hit.Position, like so:
FireServer takes in one parameter, which are the arguments that will be passed through to the OnServerEvent. You do not need to specify the player when firing said remote to the server.
--localscript
remoteEvent:FireServer(mouse.Hit.Position)
--serverscript
remoteEvent.OnServerEvent:Connect(function(player, mousePosition)
--[[mousePosition is the mouse.Hit.Position that
we passed in the first code block.]]
end)