I’m making a game where you throw players off the map. I’ve been testing on a Dummy, and it’s been working great. I went to test it with my friend, though, and the velocity hardly affected an actual player. I’m updating the player’s velocity using AssemblyLinearVelocity. Is there an alternative way you’re intended to do this, or am I just doing it wrong?
Send the code. It could be many things, but AssemblyLinearVelocity has to do with objects’ velocity in general, so it’s likely not that it affects you differently.
You probably just need to apply way more force. I’ve always found myself having to apply a force with like a magnitude of 20,000 or more to move a player.
Ah I guess I was wrong about that. So it seems you shouldn’t be using AssemblyLinearVelocity on the server, because the server doesn’t have network ownership of a player’s character. That player does. So yeah, while you could set the AssemblyLinearVelocity using a RemoteEvent in a LocalScript that belongs to the player you’re trying to move, I honestly would just create a VectorForce on the server and place it inside of the player’s root part, and set the Attachment0 property to the RootAttachment that is placed in their character’s root part by default. And then delete the VectorForce after like 1 second so it’s not being constantly applied to their character.
So something like this:
local force = Instance.new("VectorForce", root)
force.Attachment0 = root.RootAttachment
force.Force = Vector3.new(100000,0,0)
game.Debris:AddItem(force, 1)
A better way to do this is probably to use ApplyImpulse. Then you won’t have to create new instances. You can get the same effect by multiplying the force by the time and applying that as the impulse.