function ValueBaseUtils.getValue(p,n,T,y)assert(typeof(p)=="\073\110\115\116\097\110\099\101","\066\097\100 \097\114\103\117\109\101\110\116 \'\112\097\114\101\110\116\'")assert(type(n)=="\115\116\114\105\110\103","\066\097\100 \097\114\103\117\109\101\110\116 \'\105\110\115\116\097\110\099\101\084\121\112\101\'")assert(type(T)=="\115\116\114\105\110\103","\066\097\100 \097\114\103\117\109\101\110\116 \'\110\097\109\101\'")local x=p:FindFirstChild(T)if x then if x:IsA(n)then return x.Value else warn(("\091\086\097\108\117\101\066\097\115\101\085\116\105\108\115\046\103\101\116\086\097\108\117\101\093 - \086\097\108\117\101 \111\102 \116\121\112\101 \037\113 \111\102 \110\097\109\101 \037\113 \105\115 \111\102 \116\121\112\101 \037\113 \105\110 \037\115 \105\110\115\116\101\097\100"):format(n,T,x.ClassName,x:GetFullName()))return nil end else return y end end

function ValueBaseUtils.getValue(parent, instanceType, name, default)
	assert(typeof(parent) == "Instance", "Bad argument 'parent'")
	assert(type(instanceType) == "string", "Bad argument 'instanceType'")
	assert(type(name) == "string", "Bad argument 'name'")

	local foundChild = parent:FindFirstChild(name)
	if foundChild then
		if foundChild:IsA(instanceType) then
			return foundChild.Value
		else
			warn(("[ValueBaseUtils.getValue] - Value of type %q of name %q is of type %q in %s instead")
				:format(instanceType, name, foundChild.ClassName, foundChild:GetFullName()))
			return nil
		end
	else
		return default
	end
end
