Is it possible to detect if 2 parts collided or touch each other?
local p1 = game.Workspace.Part1 local p2 = game.Workspace.Part2 while wait() do p1.Touched:Connect(function() p2.Touched:Connect(function() print("p1 and p2 collided") end) end) end
this is my script but this script doesn’t really emphisize p1 and p2 colliding with each other can you help me determine using a script if those parts collided with each other
Roblox has a BasePart:GetTouchingParts function.
–A little background knowledge
Events are a little difficult to understand. When you connect an event it is basically setting a value of the event to the function you want. When the system sees that event has gone off it looks for that function.
You only need to connect a function once. Connecting a function lasts until you disconnect it so nesting connections like this will not work. The Touched event has a value that it returns named hit. Hit is the part that the main part hit.
local p1 = game.Workspace.Part1 local p2 = game.Workspace.Part2 p1.Touched:Connect(function(hit) if (hit == p2) then print("p1 and p2 collided") end ) p2.Touched:Connect(function(hit) if (hit == p1) then print("p1 and p2 collided") end )