Why is my shove so weak?

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:

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).