So the line of code that is erroring is this:
game.ReplicatedStorage.ClientEvent:FireClient(Player, "shipSpeed", Speed)
Player is predefined as simply the player. "shipSpeed" is just a variable to define what the event is for, and speed is just a number. Even with a random string put in as the only argument, it still errors. It might be because it is in a loop?

6 comments
Can you show the whole script? and then the client part? And what is speed?
Speed is just a number that can range from -16 to 42 I believe. The client part isn't erroring. It just has an event that sets a variable tbh. Also, the whole script is too long for this and hardly anything else affects this one line.
Show the part where speed is made, and shipSpeed, or is that just a random string. Also show the part where Player is defined
shipSpeed is a random string. Player is defined when they join by a different script, so it is there when the script initiates. It works in a different function that uses it identically. (local Player = string.sub(script.Parent.Name, 6)) And here is the declaration of Speed. (local Speed = 0)
Can you post the script where it does that? Or is that highly confidential
You first need to look at this error as in look up what casting is, its advanced stuth. in short its a "type error" and you are trying to convert one instance to another. in your case value to object