So, I have this script which is supposed to make a beam, and if you touch it you die But for some reason it doesn't create the beam right, I've asked this multiple times but the script still isn't fixed nor does it give errors

Script:

local gun = workspace.Turret.Gun
local originpoint = gun.CFrame.p
script.Parent.Radar.radar.Touched:connect(function(plr)
	
	
    if plr.Parent:IsA("Model") and plr.Parent:FindFirstChild("Humanoid") and game.Players.LocalPlayer.Character:FindFirstChild("Head") then
    script.Parent.Gun.alert:Play()
    local ignore = {script.Parent,game.Players[plr.Parent.Name]}
    local ray = Ray.new(originpoint,plr.Parent.Head.CFrame.p.Unit*100)
    local gun,position = workspace:FindPartOnRayWithIgnoreList(ray,ignore,false,true)


    local beam = Instance.new ("Part")
    beam.BrickColor = BrickColor.Red()
    beam.Material = "Neon"
    beam.Transparency = 0.5
    beam.Anchored = true
    beam.Locked = true
    beam.CanCollide = false
    beam.Parent = gun
    beam.Name = "Beam"


    local Distance = (script.Parent.Gun.CFrame.p-position).magnitude
    local distance = Distance/8
    repeat
        beam.Size = Vector3.new(.15,.15,distance)
        beam.CFrame = CFrame.new(script.Parent.Gun.CFrame.p,position)*CFrame.new(0,0,-distance/2)
        distance = distance*2
        wait (0.01)
    until distance == Distance*2


print ("kimpie paarntie")
    beam.Touched:connect(function(hit) -- this is where the script stops, whats wrong?
        if hit.Parent:IsA("Model") and hit.Parent:FindFirstChild("Humanoid") then
            local human = hit.Parent:FindFirstChild("Humanoid")
        human:TakeDamage(10^308)



      

  

    game:GetService("Debris"):AddItem(beam,.1)





end
end)

end
end)

Can someone PLEASE help, this script is very important, and noone knows the answer, thank you for your time.

2 comments

0

try identifying the beam from the workspace, not the instance.new statement