Hello @mikeudin,
Thank you for reaching out to us. Vectors represented by the type c4d.Vector are immutable in Cinema 4D, so one intentionally cannot change one of the components of a vector after it has been instantiated (matrices are not immutable over their vector components on the other hand). To achieve what you want to do, you must write:
old = Cube[c4d.ID_USERDATA, 2]
Cube[c4d.ID_USERDATA, 2] = c4d.Vector(old.x, old.y, 12)
The following would also be possible, but it is not an improvement IMHO:
Cube[c4d.ID_USERDATA, 2] = c4d.Vector(Cube[c4d.ID_USERDATA, 2].x, Cube[c4d.ID_USERDATA, 2].y, 12)
Cheers,
Ferdinand