When I play solo in Studio, after a few seconds the debugger kicks in, and tells me that there's an error in a script. It's a hat removing script parented to a part. When I touch it w/ my character, it removes all of my hats. Even though it does its job without any problems, I still get this error:
Error | attempt to index field 'Parent' (a nil value)
This is the code:
function onTouched(hit) local d = hit.Parent:GetChildren() for i=1, #d do if (d[i].className == "Hat") then d[i]:remove() end end end script.Parent.Touched:connect(onTouched)
Can any1 tell me what's wrong?
Gosh, I figured it out. The part this script was parented to was touching another part(a part that didn't have a parent, hence the error), so the function was being called even when my character wasn't touching the hat remover. To fix, just check if "hit" has a parent.
function onTouched(hit) if not hit.Parent then return nil elseif hit.Parent then local d = hit.Parent:GetChildren() for i=1, #d do if (d[i].className == "Hat") then d[i]:remove() end end end end script.Parent.Touched:connect(onTouched)