this is a snippet of the code I'm using
//Peramiters. The Function peramiters a list from full name.
list permaiters = ["rave","o",<01.0,1.0,1.0>,"a",<0.2,1.0,0.1>,"s","dance"];
//active counter part to defolts sitting. These may change with each sit.
// Full_Animation_Name = ShortName;o

ffSet;a:angle;s

itname
string ShortName = "shorty";
vector offSet;
vector angle;
string sitName = "get shorty";
//read the a list, if a line matches a defined string. it will use the next line t asine a value .
// I chose short names because of the limited room of the name field
// note: pre loop ShortName , the first line of list
// note: o:<0.0,0.0,0.0001> = offSet:vector
// note: a:<0.0,0.0,0.,> = angle:vector
// note: s:"sitHere" = sitName

tring
list2Values(list inList, integer ListLength)
{
integer counter = 0;
ShortName = llList2String(inList, counter);
llSay(0, (string)counter + " : " + ShortName);
for(counter = 1; counter < ListLength; counter++)
{
string prefix = llList2String(inList, counter);
llSay(0, (string)counter + " : " + llList2String(inList, counter) + " : " + prefix);
counter++;
if (counter <= ListLength)
{
if(prefix == "o"

{
offSet = (vector)llList2String(inList, counter);
llSay(0, (string)counter + " : " + llList2String(inList, counter) + " : " + (string)offSet);
}
else if (prefix = "a"

{
angle = (vector)llList2String(inList, counter);
llSay(0, (string)counter + " : " + llList2String(inList, counter) + " : " +(string)angle);
}
else if (prefix = "s"

{
sitName = llList2String(inList, counter);
llSay(0, (string)counter + " : " + llList2String(inList, counter) + " : " + sitName);
}
}
}
}
default
{
state_entry()
{
}
touch_start(integer total_number)
{
list2Values(permaiters,6);
llSay(0, "Final Resolts : " + ShortName + " " + (string)offSet + " " + (string)angle + " " + sitName);
}
}
and this is the out put it produces.
Object: 0 : rave
Object: 1 : o : o
Object: 2 : <1.000000, 1.000000, 1.000000> : <1.00000, 1.00000, 1.00000>
Object: 3 : a : a
Object: 4 : <0.200000, 1.000000, 0.100000> : <0.20000, 1.00000, 0.10000>
Object: 5 : s : s
Object: 6 : dance : <0.00000, 0.00000, 0.00000>
Object: Final Resolts : rave <1.00000, 1.00000, 1.00000> <0.00000, 0.00000, 0.00000> get shorty
I see two problems with the output. line 6 says s is getting the data dance, but it's ending up with the value of a vector, and then the final results shows that and s do not receive the right value.
What's wrong, and why is it reporting invalid resolts?