So once you fire the attack and it hits the player that shot the attack, it breaks the damage script and doesn't work anymore, but if the fire attack doesn't hit the player that shot it, the script works perfectly, how do i fix it?
Script -
local Blast = script.Parent
local Explosion1 = Blast.Explosion1
local Explosion2 = Blast.Explosion2
local Explosion3 = Blast.Explosion3
local Explosion4 = Blast.Explosion4
local Bits = Blast.Bits
local Fire1 = Blast.Fire1
local Fire2 = Blast.Fire2
local Fire3 = Blast.Fire3
local Damage = script.Parent.Damage.Value
local BoolCheck = Blast:FindFirstChild("BoolCheck")
local Check = true
local BodyVelocity = Blast:FindFirstChild("BodyVelocity")
Blast.Touched:Connect(function(hit)
if Check == true then
Check = false
local Humanoid = hit.Parent:FindFirstChild("Humanoid")
if Humanoid then print("Hit")
if BoolCheck.Value ~= hit.Parent.Name then
if BoolCheck.Value == hit.Parent.Name then
BodyVelocity.Velocity = Vector3.new(0,0,0)
Blast.Anchored = true
print("Hit Part is not the shooter")
Explosion1.Enabled = true
Explosion2.Enabled = true
Explosion3.Enabled = true
Explosion4.Enabled = true
Bits.Enabled = false
Fire1.Enabled = false
Fire2.Enabled = false
Fire3.Enabled = false
Humanoid.Health = Humanoid.Health - Damage
wait(0.25)
Explosion1.Enabled = false
Explosion2.Enabled = false
Explosion3.Enabled = false
Explosion4.Enabled = false
wait(1.5)
Blast:Destroy()
end
end
end
end
end)

5 comments
Use an if then statement to make sure the Humanoid does not belong to the person who is firing the weapon. If it belongs to someone else, then do damage.
i think i did that
and i think that will still stop the blast, so it wont damage the shooter, but it will explode in his face
You only checked if the humanoid exists on line 18. You didn't check who the humanoid belongs to anywhere in this script.
ohh