How do I fling players with an explosion without damaging?

I want to make an explosion that fling players without damaging them. But I don’t know how to do it, I tried to use BlastPressure, but that didn’t work. Thanks for reading.

2 Likes

Maybe you could give them a forcefield for a split second and then remove it

1 Like

Explosion.DestroyJointRadiusPercent would be it. Set it to 0. Explosions kill the character because they destroy the joints. Also, it might be worrth setting Explosion.ExplosionType to Enum.ExplosionType.NoCraters so it doesn’t make craters on terrain.

I feel like Forcefields are like not a good way to do this, I guess.


@incapaxx I did that, but that didn’t work, here is a video:

Ignore my invisible character, I don’t have connection, the other joints are still there.

Explosion objects have a Hit event. It runs when an explosion hits something. Maybe you could utilize that and apply some kind of vector force on the player to fling them, with BodyForce or something depending on how aggressive you want the fling to be.

local hit_targets = {}
explosion.Hit:Connect(function(part)
local char_model = (part.Parent and part.Parent:FindFirstChild("Humanoid") and part.Parent)
if char_model and not hit_targets[char_model] then
hit_targets[char_model] = true
char_model.HumanoidRootPart.Velocity = Vector3.new(30, 90, 0) --//Mess around with force given to player
end
end)

That is throwing me to only one direction, I would like to fling players, push them away from the explosion… Thanks for reading

local directionVector = (char_model.HumanoidRootPart.CFrame.p - explosion.Position).unit
local velocity = directionVector * 100
char_model.HumanoidRootPart.Velocity = velocity

to make it push away in the direciton of the explosion

8 Likes