All those code is not needed. You can tell the error from the first snippet he posed.
Vector needs 3 parameters: x, y and z. You're giving it a string contain "X Y Z". That wouldn't work that way.
local pos = GetPosition( plr.Name );
plr.Pos = Vector( GetTok(pos,", ",1).tofloat(), GetTok(pos,", ",2).tofloat(), GetTok(pos,", ",3).tofloat() );