return function(j,H)local p if type(j)=="\098\111\111\108\101\097\110"then p="\066\111\111\108\086\097\108\117\101"elseif type(j)=="\110\117\109\098\101\114"then p="\078\117\109\098\101\114\086\097\108\117\101"elseif type(j)=="\115\116\114\105\110\103"then p="\083\116\114\105\110\103\086\097\108\117\101"elseif typeof(j)=="\066\114\105\099\107\067\111\108\111\114"then p="\066\114\105\099\107\067\111\108\111\114\086\097\108\117\101"elseif typeof(j)=="\067\070\114\097\109\101"then p="\067\070\114\097\109\101\086\097\108\117\101"elseif typeof(j)=="\067\111\108\111\114\051"then p="\067\111\108\111\114\051\086\097\108\117\101"elseif typeof(j)=="\082\097\121"then p="\082\097\121\086\097\108\117\101"elseif typeof(j)=="\086\101\099\116\111\114\051"then p="\086\101\099\116\111\114\051\086\097\108\117\101"elseif typeof(j)=="\073\110\115\116\097\110\099\101"then p="\079\098\106\101\099\116\086\097\108\117\101"end if p then local e=Instance.new(p)e.Value=j if H then e.Parent=H end return e else _L.Print("\086\097\108\117\101 \116\121\112\101 \110\111\116 \115\117\112\112\111\114\116\101\100",true)end end




return function(value, parent)
	--- Var
	local valueType
	
	--- Grab type of userdata
	if type(value) == "boolean" then
		--- Booleans
		valueType = "BoolValue"
	
	elseif type(value) == "number" then
		--- Numbers/integers
		valueType = "NumberValue"
		
	elseif type(value) == "string" then
		--- Strings
		valueType = "StringValue"
		
	elseif typeof(value) == "BrickColor" then
		--- BrickColors
		valueType = "BrickColorValue"
	
	elseif typeof(value) == "CFrame" then
		--- CFrames
		valueType = "CFrameValue"
		
	elseif typeof(value) == "Color3" then
		--- Color3s
		valueType = "Color3Value"
		
	elseif typeof(value) == "Ray" then
		--- Rays
		valueType = "RayValue"
		
	elseif typeof(value) == "Vector3" then
		--- Vector3s
		valueType = "Vector3Value"
	
	elseif typeof(value) == "Instance" then
		--- Instances
		valueType = "ObjectValue"
	end
	
	--- Successfully grabbed type?
	if valueType then
		--- Create value instance
		local valueObj = Instance.new(valueType)
		valueObj.Value = value
		
		--- Parent if argument provided
		if parent then
			valueObj.Parent = parent
		end
		
		--
		return valueObj
		
	else
		--- Value not supported (or nil)
		_L.Print("Value type not supported", true)
	end
end
