Hey guys, This is my first post so if there is any etiquette I need to take care of I do not know yet. But enough about that, onto my question. I am making a bomb that is generated when you step on a plate. After stepping, the bomb/nuke will generate as a circle and expand. Anything that touches will have BreakJoints() applied. My script is below:
notBeenTouched = true wait(4) function onTouch(hit) if notBeenTouched then NukeBall = Instance.new("Part", Workspace) NukeBall.Shape = "Ball" NukeBall.BrickColor = BrickColor.new("Deep orange") NukeBall.CanCollide = false notBeenTouched = false NukeBall.Anchored = true for i = 5, 100, 5 do print(i) NukeBall.Size = Vector3.new((i), (i) ,(i)) wait(0.1) end NukeBall.Transparency = 0.5 wait(0.5) NukeBall.Transparency = 1 NukeBall:remove() end end script.Parent.Touched:connect(onTouch)
How can I apply the detection for knowing if the bomb is touched and break joints? It would be greatly appreciated. Thanks all!
First, I tabbed your code. Look bellow for finished code:
notBeenTouched = true -- Not sure why wait(4) was here function onTouch(hit) if hit.Parent:FindFirstChild("Humanoid") then -- We want players to activate! if notBeenTouched then notBeenTouched = false -- We want this not to be spammed, so change notBeenTouched before anything else occurs local NukeBall = Instance.new("Part", game.Workspace) function onBombTouch(Hit) Hit:BreakJoints() end NukeBall.Touched:connect(onBombTouch) NukeBall.Shape = "Ball" NukeBall.BrickColor = BrickColor.new("Deep orange") NukeBall.CanCollide = false NukeBall.Anchored = true for i = 5, 100, 5 do print(i) NukeBall.Size = Vector3.new((i), (i) ,(i)) wait(0.1) end NukeBall.Transparency = 0.5 wait(0.5) NukeBall.Transparency = 1 NukeBall:remove() notBeenTouched = true -- Lets this function Again end end end script.Parent.Touched:connect(onTouch)
Now, You need to place your explosion somewhere, this script doesn't seem to do that! First, when the NukeBall is created, we want to make a touched event connected to that, so after it was made, I began the function. Now, you want to start the listening of this event (When you use :connect) before the size is expanded, if not, anything touching during that expansion will be unaffected! Not quite what you'd want. At the end, I made your variable notBeenTouched true again, this will make the script run another time after the nuke is complete. Remove this variable's change to true if you do not want it to occur again!
Comment if you have questions! Otherwise, toss a +1 rep if this helps!