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.
Maybe you could give them a forcefield for a split second and then remove it
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