Body Velocity delayed for no apparent reason

https://gyazo.com/a20ab927e8285cfd8fee605dbb12392f - Evidence of activity explained in title.

For further detail, the NPC’s network owner IS NIL and the clothes are massless.

Script details:

image (What network owner returns)


(Code that runs the knockback)

https://gyazo.com/0251cee92d2fd07d86f890eff7be0edf
https://gyazo.com/a85028c66c38bfc5ffa2e4ccbcb7f7aa
(Me applying the SAME force and getting differing results. The code in itself is just creating a body velocity, nothing else.)

LATER NOTE:
I disabled my entire custom NPC setup and just kept me setting network owner to nil; the same error persisted. I am so confused, is this a roblox issue? I don’t see how a basic body velocity and a dummy with network owner nil can have these errors.

** NEW WORKSPACE **
https://gyazo.com/fd69af967a300d7fadc82871031cae6c
(SAME ERROR, completely new place)


the only scripts I have in that place.

Hey Mlg I had this issue earlier today and here is how I solved it:

On the hit detection after verifying the hit target has a humanoid (npc or player) set the hit tartget’s network owner to nil (the server)
If you then slightly delay the impulse and ragdoll, (I ended up doing about 0.25 seconds for consistency), sometimes You also have to delay any ragdoll effects until 1 tick after the impulse because it still delays a bit

Hope this helps, just a hotfix really so hopefully a better answer pops up

Hey UndoneC0der,

I am really confused by your response. Firstly, I do understand why I would set networkowner, but in my case it’s already set to nil. Furthermore, in the screenshot, everything is already delayed (my error) so delaying it more seems redundant.

You set it to nil so every player can see it the same, and it helps with the physics, the delay is to account for the switching of network owner, and for some reason that I have no clue was the last ingredient to making it work:

Also I ended up having to set these up before applying the impulse

Character:SetAttribute("Ragdolling",true)
Character.Humanoid:ChangeState(Enum.HumanoidStateType.Physics)

Again, I am confused. I do understand why I would set it, but it’s already set TO NIL. you’re saying that the wait is to account for the delay it takes to switch network owner, but thats my entire problem.

Add a heartbeat tick before you add velocity it is just how roblox does physics, it might be laggy still but that’s how I do my velocity.

1 Like

Wish I had seen this just a day earlier, pretty much solved all the inconsistencies I had with applying impulses to characters, thanks!

Did resolve some issues, gonna have to look at it further to see if it’s working as intended.

On further note, this did not resolve my problems.