Is there a way for a live Humanoid to be pulled or moved by another live Humanoid?

First, by live humanoid, I mean a humanoid that is not in a Physics, PlatformStand or Sitting position.
Also I am talking about NPC type objects (not player controlled, so on the server only)

What I would like to do, is have one object (with live humanoid that is moving around the map with a server script) to be able to pull (with a rope constraint, or any type of weld or constraint) an entirely different model that also have a live humanoid, that does not walk, but only stands and is pulled.

When I try this it ‘works’ but I find that having both model objects connected in any sort of way, be it ropes or welds, causes random issues between the two humanoids, such as one or the other randomly going into a ‘falling down’ state, or any seats attached to them, not playing the sitting animation. Jumping out of seats attached to them, making the opposite humanoid jump, etc…

When the link (weld or constraint) is removed, the two models with humanoids behave properly. So I know its an issue with them being connected.

The reason I am doing this so that the object being pulled, will ‘levitate’ over obstacles on the ground, and also auto rotate, and float when in water. I am sure all of these behaviours could be coded into a model with no humanoid, but not only is that a bit beyond my skill level, but also, I would hate to have to try and re-invent the humanoid.

So before I try to hack something together on my own to emulate a humanoid on the object being pulled, is there ANY way this is possible in the Roblox engine? Is there any sort of pattern or way to connect the welds or constraints? Any sort of settings that might do the trick? Anything?

If not… any links to or information about humanoid emulation would also be helpful.
Thanks

Have you tried setting all the parts within the pulled Humanoid’s character model to Massless?

I did, actually, and the strange humanoid behaviours still exist, and the part gets easily knocked around all over the place. But thanks for the suggestion.

You could just make a button pop up or you could make them click on the NPC and then the NPC would start to teleport after you just like how cuffs work.

attaching that rope most likely changes either humanoids’ parts Network Ownership

your biggest bet is probably to set it’s owner to nil (which is the server)

Setting the Ownership really helps, and is giving me the most stable results by far.
The ‘pulling’ object was already setting network ownership to the player who sat in its seat (and who would be remote controlling it) however the cart (being pulled) was not doing anything as far as network ownership.

So when I set it to where the cart would assign ownership to any player sitting in its seat (just a passenger) that fixed the issues with the humanoids fighting for control, and also the glitchy issue with the seat part not showing the sitting animation.

So thanks for this idea, it helps a lot.

1 Like

Hi did you get your moved by another working?

I am looking into have a npc grab a player and working on it …

thanks

I was never able to totally get rid of some weird behavior, however setting network ownership really did help a lot.
I would suggest when the npc grabs a player, set the ‘network ownership’ of the npc to the player.
I don’t know your exact scenario, but you could always put your player in a physics mode, and weld the player to the npc, or even have an invisible seat object on the npc set to disabled, and force sit the player into the seat (with the api)