So in my script, I call seperateCFrame and it ends up giving me an error on the loop because it's trying to find the length of a nil object (cfrm) thinking its a string. When I do a print test on it I find that before I call the function it prints fine, but as soon as I call it the parameter turns nil. Why is that?
function seperateCFrame(cfrm)
print(cfrm) -- Prints nil
local localSeperator = ","
local element = ""
local newCFrame = {}
for i = 1,string.len(cfrm) do -- Error trying to get len of nil value
-- Other stuff...
local data = serverdata
for i,v in pairs(data) do
print("Test: "..v," | ",v[3]) -- Prints everything fine
local cframe = seperateCFrame(v[3])
-- Other stuff...

4 comments
What does it print and what is v[3]
Problem is most likely on
v[3]. Explain what that is.v[3] is a string value of a tostring(part.CFrame)
What is the output for line 12.