Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Can someone find out whats wrong with this script?

I am making a new game that has cars that are placed into lighting, then when a user clicks the pad he chooses which car he wants. I have the car spawning and driving working, but when I go to the bomb shop and put a bomb in my car and then activate the bomb, it makes the bomb blinking light and explosion near the place the car spawned. My goal is to get it to explode exactly where the player is sitting so he dies. Can someone take a look at the script and find out why it is placing the explosion and blinking light where the car spawned?

local currentBomb = "None"
local radius = 25
local multiplier = 3

script.Parent:WaitForChild("HasBomb")
script.Parent:WaitForChild("BombArmed")
script.Parent:WaitForChild("Essentials")
script.Parent.Essentials:WaitForChild("BombLight")

script.Parent.HasBomb.Changed:connect(function()
	if currentBomb == "None" then
		currentBomb = script.Parent.HasBomb.Value
		coroutine.resume(coroutine.create(function()
			while currentBomb ~= "None" do
				wait(2)
				script.Parent.Essentials.BombLight.Light.Enabled = true
				wait(0.2)
				script.Parent.Essentials.BombLight.Light.Enabled = false
			end
		end))
	elseif script.Parent.HasBomb.Value == "None" then
		currentBomb = "None"
	end
end)

script.Parent.BombArmed.Changed:connect(function()
	if currentBomb == "PrimeNRun" then
		for i = 1, 20 do
			script.Parent.Essentials.BombLight.Beep:Play()
			wait(1.4/i)
		end
		local e = Instance.new("Explosion",Workspace)
		e.Position = script.Parent:GetModelCFrame().p
		e.BlastPressure = 0
		e.BlastRadius = radius
		e.Hit:connect(function(part,dist)
			if part.Parent:FindFirstChild("HealthVal") and ((part.Name == "Primary" and part.Parent ~= script.Parent.Body) or part.Parent.Name == "") then				
				part.Parent.HealthVal.Value = part.Parent.HealthVal.Value - ((multiplier*2*radius/dist)^2.5)
			elseif game.Players:GetPlayerFromCharacter(part.Parent) then
				part.Parent.Humanoid:TakeDamage((multiplier*radius/dist)^1.5)
				if part.Parent.Humanoid.Health <= 0 and (not part.Parent.Humanoid:FindFirstChild("creator")) then
					local tag = Instance.new("ObjectValue",part.Parent.Humanoid)
					tag.Name = "creator"
					tag.Value = script.Parent.OriginalOwner.Value
					if script.Parent.OriginalOwner.Value:FindFirstChild("KillCounter") then
						script.Parent.OriginalOwner.Value.KillCounter.Value = script.Parent.OriginalOwner.Value.KillCounter.Value + 1
					end
				end
			end
		end)
		script.Parent:BreakJoints()
		game:GetService("Debris"):AddItem(script.Parent,10)
	elseif currentBomb == "Carsitting" then
		script.Parent.Essentials.VehicleSeat.ChildAdded:connect(function(kid)
			if kid.Name == "SeatWeld" then
				script.Parent.Essentials.BombLight.Beep:Play()
				wait(0.1)
				local e = Instance.new("Explosion",Workspace)
				e.Position = script.Parent:GetModelCFrame().p
				e.BlastPressure = 0
				e.BlastRadius = radius
				e.Hit:connect(function(part,dist)
					if part.Parent:FindFirstChild("HealthVal") and ((part.Name == "Primary" and part.Parent ~= script.Parent.Body) or part.Parent.Name == "") then				
						part.Parent.HealthVal.Value = part.Parent.HealthVal.Value - ((multiplier*2*radius/dist)^2.5)
					elseif game.Players:GetPlayerFromCharacter(part.Parent) then
						part.Parent.Humanoid:TakeDamage((multiplier*radius/dist)^1.5)
						if part.Parent.Humanoid.Health <= 0 and (not part.Parent.Humanoid:FindFirstChild("creator")) then
							local tag = Instance.new("ObjectValue",part.Parent.Humanoid)
							tag.Name = "creator"
							tag.Value = script.Parent.OriginalOwner.Value
							if script.Parent.OriginalOwner.Value:FindFirstChild("KillCounter") then
								script.Parent.OriginalOwner.Value.KillCounter.Value = script.Parent.OriginalOwner.Value.KillCounter.Value + 1
							end
						end
					end
				end)
				game:GetService("Debris"):AddItem(script.Parent,10)
			end
		end)
	end
end)

1 answer

Just move the bomb to the area you want it to be in before putting it in lighting.

This discussion is preserved as it was. New answers, comments, and votes are closed.