I know how to check if a player touched a part, but how do you check if they're still touching it?
You can do part:GetTouchingParts() and it returns a table of things touching the part.
I suggest just looping through the table and checking if any body parts of the character is touching the part.
Hope this helps.