FireServer already sends the player with the event, so when you recieve the event with OnServerEvent, the first variable is always the player. So when you add your own player variable the second variable is also the player.
Example:
-- Client
announceEvent:FireServer(msg)
-- Server
announceEvent.OnServerEvent:Connect(function(plr, msg)
print(msg)
end)
ye i should thanks for the link its just ive been coding for few years and took a long break so tryin to wrap my head around things again but ye i really appreciate