The serverside script:
script.Player.SetSpeed.OnServerEvent:connect(function(SelectedFigure,SelectedSpeed)
game.Workspace:FindFirstChild(SelectedFigure).Humanoid.WalkSpeed = SelectedSpeed
end)
The clientside script:
script.Parent.MouseButton1Down:connect(function()
game.Workspace.FusionServer.Player.SetSpeed:FireServer(script.Parent.Parent.Parent.SelectedPlayer.Value,script.Parent.Parent.SpeedBox.Text)
end)
Any idea why it won't work?

3 comments
It could be much simpler.... Simply fire an event to notify the server a button was pressed and the server can figure the rest out by searching for values etc. I personally would recommend it. I often had errors with remoteevents/functions because I messed up parameters.
Since you're changing the players own speed, you can modify it locacly.
No no, in the gui you select a player to get modifed.