Smoothly Dragging Other Players?

What would be the best way to allow a player to drag another player around the map?

For clarification purposes, I’ll call the player who is dragging “Player A”,and the player who is being dragged “Player B.”

I’ve tried setting the PlatformStand property of the Player B’s Humanoid to true and attaching a rope constraint between the two players. This method seems to work around half of the time. Sometimes, it would be very smooth but other times, not so much. I’m guessing this is due to latency issues between players and how the server will choose the player with lower ping to handle the physics of both characters when they’re connected.

Anyone know a smoother way to implement what I want or how to fix my current method?

Try setting the Humanoid’s state to Physics using Humanoid:ChangeState instead of using PlatformStand.

1 Like

I agree with MrHistory, you need to set state to Physics, but also, you might want to put some sort of body movers, or adjust the properties of their parts, to float or have less mass. Just to make it easier for them to be moved.

1 Like

What state should I set the Humanoid to if I don’t want Player B to be draggable anymore? What’s the default Humanoid state?

Use bodyposition to move characters towards mouse.Position
If you don’t want players to move when being dragged, change walkspeed to 0 and vice versa

@ZacBytes I wouldn’t recommend moving based on mouse position solely because that’s exploitable and doesn’t achieve the dragging effect I want (the rope idea is actually good - Flee the Facility uses it). I normally use BP and have a node in front of the character to which the dragged will move to.

@PhoenixSigns Given the Wiki page, it seems that the default humanoid state is Enum.HumanoidStateType.None.

Hm, but on the Wiki, it states Enum.HumanoidStateType.None is an “Unuseable placeholder in case an unknown state gets triggered internally” which doesn’t really seem like the default state :thinking:

1 Like

Sorry for the late reply, you set the humanoid sate to ‘free fall’ to get it to go back to its default state.
Or at least thats how they do it if you look through the code of roblox gears, when they are coming back from a flying or riding state.

Okay, thank you! I’ll go implement that right now. :smiley: