I have the client firing text and a sound to the server and then the server receiving that but somethings wrong and I can't explain it. At the client I have this =
TheEvent:FireServer("Run", script.Parent.Head.Sprint)
And at the server I have this =
game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(text, sound)
print("received something")
if text == "Run" then
print("run")
sound:Play()
else
print("not 'run'")
end
end
The server does receive the event but it prints "not 'run'", even though "Run" was fired. I have also tried this =
game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(...)
print("received something")
local values = { ... }
if values[1] == "Run" then
print("run")
values[2]:Play()
end
It didn't work. Neither of them ever print "run".

4 comments
The OnServerEvent Signal provides the Client Instance that fired the Remote, then the following arguments given.
You don't seem to need it, so we can just write function(_, Text, Sound).
Ty, it worked, now post that as an answer so I can mark it
Done!