I have a variable, initialized as such:
list motionBase = [<1,0,0>,ZERO_ROTATION,5,<1,0,0>,ZERO_ROTATION,5];
This is used in a llSetKeyframedMotion function.
This works as expected, and when viewing output for this value I get:
touch_start( integer num_detected ) {
llOwnerSay(llDumpList2String(motionBase, ","));
}
//output: [13:41] mtrain_object: <1.000000, 0.000000, 0.000000>,<0.000000, 0.000000, 0.000000, 1.000000>,5,<1.000000, 0.000000, 0.000000>,<0.000000, 0.000000, 0.000000, 1.000000>,5
//or this way..
touch_start( integer num_detected ) {
llOwnerSay((string)motionBase);
}
//ouput: [13:59] mtrain_object: <1.000000, 0.000000, 0.000000><0.000000, 0.000000, 0.000000, 1.000000>5<1.000000, 0.000000, 0.000000><0.000000, 0.000000, 0.000000, 1.000000>5
But when sending in a string (from another object) that is formatted exactly as needed, and converting to a list, it just doesn't work. (By sending in, I mean using a listen to get the value needed from another object).
Methods tried:
motionBase = llParseString2List(stringValue, ["*"], []);
motionBase = llCSV2List(stringValue);
// The output after sending the string value through these:
// [15:16] mtrain_object: [<1,0,0>,ZERO_ROTATION,5,<1,0,0>,ZERO_ROTATION,5]
// This is exactly the value of that list variable, after being updated. Matching the value when it was initialized.
// But, the output should look like the example from the initialized value:
// I.E. <1.000000, 0.000000, 0.000000>,<0.000000, 0.000000, 0.000000, 1.000000>,5,<1.000000, 0.000000, 0.000000>,<0.000000, 0.000000, 0.000000, 1.000000>,5
So, the value "sent in" with the llSetKeyframedMotion function, results in an error - "expected translation vector in keyframe list."
The string looks fine, and the list variable "value" is set exactly as the value when it is initialized. That is what is messing with me...
I've also tried this removing any spaces, with or without braces, nothing seems to make a difference.