local shovePower = 2500 --how much power the shove has
--apply impulse based on look vector and shovePower
shovedPlayer.Character:FindFirstChild("Torso"):ApplyImpulse(-(plr.Character.Torso.CFrame.LookVector.Unit * shovePower))
All you have to know is that yes, I’m 99% certain the code is running, and that despite multiplying the shove power by 2500, there appears to be little to no movement at all.
Is 2500 just still a relatively low number for this, or am I doing something wrong?
1 Like
2500 is a massive number unless you want human pinballs
try setting the shoved player to platform stand before you apply the force
shovedPlayer.Character.Humanoid.PlatformStand = true
obviously you have to add a delay and set them back to normal, but this is the property you’re looking for anyway
Roblox docs on this property
1 Like
Its due to Network ownership and humanoid resistance:
So I have done some testing since this is a frequent recurring and interesting topic. So I have done testing with the server network ownership method, the only cons I see is that it’s not smooth for the victim perspective.
Video testing, with 0.25 seconds incoming network replication lag:
Video uses:
.AssemblyLinearVelocity += knockbackVelocity (simple instantaneous velocity method)
Humanoid platformstand (to disable humanoid physics interference)
Network ownership on serve…
can you explain that in simple terms? the linked post is pretty big
Sure, turn on humanoid platform stand before and a shove.
Also if applying force from the server make sure to set network owner to nil then apply the force.
You can download the place file there for an example.
i did turn it on before hand, i just didnt show that part of the script sorry
shovedPlayer.Character:FindFirstChild("Humanoid").PlatformStand = true
I am applying the force on the server, so how do I set network ownership, and what does that actually do?
why dont you just look it up
https://create.roblox.com/docs/scripting/networking/network-ownership
basically its called on baseparts, so you could set the players humanoidrootparts network owner to nil (server)
ok, also, do i need to set network ownership back to the client when im done?
yeah so the player is controlled by their client
so if i understand correctly to set it to default i just need to set network ownership but with a blank parameter?
no??? set it to nil to make it on the server, to set it back set it back to the player
why dont you download the place file
HumanoidRootPart:SetNetworkOwner(nil)
then what does this mean in the api reference or whatever its called?
When the driver leaves the seat, the vehicle’s network ownership can be set back to automatic with BasePart:SetNetworkOwner() .
else
-- Reset ownership when seat is unoccupied
VehicleSeat:SetNetworkOwnershipAuto()
end
is different than
but if the api says it then sure
wait, so then what does this mean/do?
its on the api “ Lets the game engine dynamically decide who will handle the part's physics (one of the clients or the server).
”