integer channel = 68;
integer switch = 0;
list origsize;
integer holeshape;
vector cut;
float hollow;
vector twist;
vector holesize;
vector holesizeN;
vector topshear;
vector profilecut;
vector taper_a;
float revolutions;
float radiusoffset;
float skew;
default
{
state_entry()
{
llListen(channel, "", llGetOwner(), ""
;}
listen(integer channel, string name, key id, string message)
{
if(message == "throb"

{
llOwnerSay("I hear you"
;integer i;
string check;
if(switch == 0)
{
llSay(0, llKey2Name(llGetOwner())+"'s tail is throbbing"
;origsize = llGetPrimitiveParams([PRIM_TYPE]);
integer holeshape = (integer)llList2String(origsize, 1);
vector cut = (vector)llList2String(origsize, 2);
float hollow = (float)llList2String(origsize, 3);
vector twist = (vector)llList2String(origsize, 4);
vector holesize = (vector)llList2String(origsize, 5);
vector holesizeN = <holesize.x+0.1, holesize.y+0.05, holesize.z>;
vector topshear = (vector)llList2String(origsize, 6);
vector profilecut = (vector)llList2String(origsize, 7);
vector taper_a = (vector)llList2String(origsize,
;float revolutions = (float)llList2String(origsize, 9);
float radiusoffset = (float)llList2String(origsize, 10);
float skew = (float)llList2String(origsize, 11);
switch = 1;
llOwnerSay( (string)holeshape+"," +(string)cut+"," +(string)hollow+"," +(string)twist+"," +(string)holesizeN+"," +(string)topshear+"," +(string)profilecut+"," +(string)taper_a+"," +(string)revolutions+"," +(string)radiusoffset+"," +(string)skew);
llSleep(1);
llSetTimerEvent(0.5);
}
else
{
llSay(0, llKey2Name(llGetOwner())+"'s tail is calm"
;switch = 0;
llSetTimerEvent(0);
llSetPrimitiveParams([ PRIM_TYPE, PRIM_TYPE_TORUS, holeshape, cut, hollow, twist, holesize, topshear, profilecut, taper_a,revolutions, radiusoffset, skew]);
}
}
}
timer()
{
//llSetPrimitiveParams([ PRIM_SIZE, (vector)llDumpList2String(llGetPrimitiveParams([PRIM_SIZE]),""
+<0.03, 0, 0.03>]);//llSleep(0.25);
llOwnerSay("changing"
;llSleep(1);
llSetPrimitiveParams([ PRIM_TYPE, PRIM_TYPE_TORUS, holeshape, cut, hollow, twist, holesizeN, topshear, profilecut, taper_a, revolutions, radiusoffset, skew ]);
llSleep(5);
//llSetPrimitiveParams([ PRIM_TYPE, PRIM_TYPE_TORUS, holeshape, cut, hollow, twist, holesize, topshear, profilecut, taper_a, revolutions, radiusoffset, skew]);
}
on_rez(integer sp)
{
llResetScript();
}
}