I been making a rocket script where when a welded part is shot the welds break if affected by the explosions. I tried to put in another explosion after the welds have been broken but it does nothing but at same time I think there should be any other way from using body movers.
local module = {}
local replicatedStorage = game:GetService("ReplicatedStorage")
local collectionService = game:GetService("CollectionService")
local playerScores = replicatedStorage:FindFirstChild("PlayerScores")
local partsHit = {}
function module:Explode(playerName, position, radius)
local explosion = Instance.new("Explosion")
explosion.BlastPressure = 10000
explosion.DestroyJointRadiusPercent = 0
explosion.BlastRadius = radius
explosion.Position = position
local hitConnection
hitConnection = explosion.Hit:Connect(function(part, distance)
if partsHit[part] then
return
end
for i,v in pairs(part:GetTouchingParts()) do
if collectionService:HasTag(v, "Destructible") then
v:BreakJoints()
end
end
if collectionService:HasTag(part, "Destructible") and not collectionService:HasTag(part, "HitPart") then
partsHit[part] = true
local total = playerScores:FindFirstChild(playerName)
if not total then
local value = Instance.new("IntValue")
value.Name = playerName
value.Value = 1
value.Parent = game.ReplicatedStorage.PlayerScores
else
total.Value = total.Value + 1
if playerName.Team == "Bright blue Team" then
game.Workspace.BlueScore.Value = game.Workspace.BlueScore.Value + 1
else
game.Workspace.RedScore.Value = game.Workspace.RedScore.Value + 1
delay(5, function()
part:Destroy()
end)
collectionService:AddTag(part, "HitPart")
end
end
end
end)
explosion.Parent = workspace
delay(0.25, function()
hitConnection:Disconnect()
end)
end
return module