✓ Accepted answer
So from what I understand (and correct me if I'm wrong), but you have a dialog over the head of a Non-Player Character, and when you click this dialog and select a specific choice then it makes all the parts in "Master" noncancollide.
First off, the "ResponseDialog" is what it will say when you click the option. If you wanted it to say "Hello" when you clicked the option "Hi", then you would put "Hello" in the "ResponseDialog" option in Propeties
I'll be sure to explain what i'm doing so you can learn how this works
Please note, I am not the best scripter in the world. If I do something that could be done simpler, it's because of my lack of experience. If a better coder see's this, comment on my answer, and I'll edit the script to make it simpler (This is so I can also learn from this experience)
Because I do not know exactly how the parts are set up in your studio, be prepared to edit some things
I did test this script in studio myself, and it should work.
Master = script.Parent.Parent.Parent.Parent
Choice = script.Parent
Dialog= script.Parent.Parent
Dialog.DialogChoiceSelected:connect(function(player,chosen)
if chosen.Name==(Choice.Name) then
for k,p in pairs(Master:GetChildren()) do
p.CanCollide=false
end
wait(1)
for k,p in pairs(Master:GetChildren()) do
p.CanCollide=true
end
else
end
end)