Make a part fall slowly until it touches another part

Something wrong with the if statement then, what is workspace.Plates.Active?

Testing this now.
char limit char limit

What?

I’m pretty sure that’s not how collisions work

1 Like

When it’s unanchored the part just spins around like crazy so it doesn’t really work

This is a long a thread for no reason and I’m gonna clear some misconceptions.

Parts properties do not matter here!
Expect for CanTouch, which is responsible for .Touched and similar events.
The snippet I posted works when it touches but the if statement does not pass! Something is wrong with it. What is workspace.Plates.Active? And where is it located?

It’s a folder that almost all of the parts that it would touch are inside of. For the few it doesn’t touch, I found a new way to check those, but even then it didn’t even print the touched part’s name, so that’s not the main issue

Then you had set your force wrongly again.

  1. Get the number obtained from the formula
  2. Substitute that number into the component Y of the Vector3 of the force propeprty.
    image
  3. DO NOT TOUCH THE X AND Z COMPONENT. Leave them as zero.

Exactly what I did.

Try this then.

local __ONGROUND = false
coroutine.wrap(function()
repeat
		task.wait()
		newDrop.Position -= Vector3.new(0, 0.1, 0)
until __ONGROUND == true
end)()
newDrop.Touched:Connect(function(hit)
     if hit:FindFirstChild("Active", true) then
              print("HIT IF STATEMNT")
          __ONGROUND = true
     end
end)

What does the true inside of FindFirstChild mean?

Finds any descendent of an instance.

That can’t be the case, you can inspect my part model here:

This isn’t true. Anchored turns on and off physics. Touched is physics.

If two parts without physics are moved into each other, no touch event fires because neither are running physics for their collisions.

two anchored parts will never fire the BasePart.Touched event on each other

(the documentation)

I think you misunderstand, I mean anchored. Anchored matters. Like I said originally and am saying for the third time.

ok, cantouch.

At this point, just please use and inspect my part model I had given to you so we can all call it a day and go home quick.

1 Like

This code is wrong, hit is the base part and shouldn’t have the “Active” instance as a child or descendant.

The code should be what it was originally:

hit.Parent.Parent == workspace.Plates.Active

or possibly

hit:IsDescendantOf(workspace.Plates.Active)

Yeah, doesn’t work. I changed the if statement too, and it just doesn’t run at all

Yeah, this doesn’t help with their code. I tried it

1 Like

Resort to this then.