Roblox doesn’t pass any Player argument by default for OnClientEvent listeners because it is unnecessary.
However Roblox does this here because you will need to know which player fired the remote. Don’t worry about implementation details; just know Roblox knows what network it came from.
what but how do i get the player that did the server fire then… im try and make it where when keycode it make you character face towards your mouse… but this not work when i cant get player who fired it
OnClientEvent because the local script do not know who used the skill, if i pass player through arguement then i will know who did skill in local script; but you tell me no so i dont know how else to do getting player from local script…
Alright my understanding is that you don’t have a full understanding of what is passed when a remote is fired from the server to the client. The server passes the arguments after the first in :FireClient(). For example, if I do :FireClient(game.Players.ekuzodiaa, "TestString"), your client listener will be passed "TestString" and only that.
To expand on what @sjr04 said, The server does :FireClient() to send information to the client and client listens with .OnClientEvent. The client does :FireServer() to send information to the server and the server listens with .OnServerEvent