So my friend was so epicly to help me out, but he went on collage to need alittle help to learn, what am I missing from this, it controls multi legs, each one doing a funaction , any ideas, as i said im new to this, it kinda simple but can't see what setting off the error "llSetPrimitiveParams error running rule #3: non-integer rule." integer ENABLED_spray = TRUE; integer ENABLED_strobes = TRUE; integer ENABLED_spinny = TRUE; integer ENABLED_spinFlop = TRUE; //integer ENABLED_airBlast = FALSE; integer LINK_strobe0; integer LINK_strobe1; integer LINK_spray0; integer LINK_spray1; integer LINK_spray2; integer LINK_spinny0; integer LINK_spinny1; integer LINK_spinny2; integer LINK_spinny3; integer LINK_floppySpinny; //integer LINK_airBlast0; //integer LINK_airBlast1; string serialize(list settings) {return llDumpList2String(settings,"::");} list deserialize(string input) {return llParseString2List(input,["::"],[]);} //PASTE EFFECT FUNCTIONS BELOW IN THIS FUNCTION updateEffects(list flags) { if(llList2Integer(flags,0))//spray on { } else //off { llLinkParticleSystem(LINK_spray0,[ PSYS_PART_FLAGS,( 0 |PSYS_PART_INTERP_COLOR_MASK |PSYS_PART_INTERP_SCALE_MASK |PSYS_PART_FOLLOW_SRC_MASK |PSYS_PART_FOLLOW_VELOCITY_MASK |PSYS_PART_EMISSIVE_MASK ), PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE , PSYS_PART_START_ALPHA,0.4, PSYS_PART_END_ALPHA,0.0509804, PSYS_PART_START_COLOR,<0.8,0.8,0.8> , PSYS_PART_END_COLOR,<0.701961,0.701961,0.701961> , PSYS_PART_START_SCALE,<1,1,0>, PSYS_PART_END_SCALE,<1,1,0>, PSYS_PART_MAX_AGE,2.89844, PSYS_SRC_MAX_AGE,0, PSYS_SRC_ACCEL,<0,0,0>, PSYS_SRC_BURST_PART_COUNT,50, PSYS_SRC_BURST_RADIUS,0, PSYS_SRC_BURST_RATE,0.898438, PSYS_SRC_BURST_SPEED_MIN,0.5, PSYS_SRC_BURST_SPEED_MAX,1.5, PSYS_SRC_ANGLE_BEGIN,0, PSYS_SRC_ANGLE_END,0.5625, PSYS_SRC_OMEGA,<0,0,1>, PSYS_SRC_TEXTURE, (key)"4bdbb6c7-5819-b19e-be6d-38f96228fe68", PSYS_SRC_TARGET_KEY, (key)"00000000-0000-0000-0000-000000000000"]); llLinkParticleSystem(LINK_spray1,[ PSYS_PART_FLAGS,( 0 |PSYS_PART_INTERP_COLOR_MASK |PSYS_PART_INTERP_SCALE_MASK |PSYS_PART_FOLLOW_SRC_MASK |PSYS_PART_FOLLOW_VELOCITY_MASK |PSYS_PART_EMISSIVE_MASK ), PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE , PSYS_PART_START_ALPHA,0.4, PSYS_PART_END_ALPHA,0.0509804, PSYS_PART_START_COLOR,<0.8,0.8,0.8> , PSYS_PART_END_COLOR,<0.701961,0.701961,0.701961> , PSYS_PART_START_SCALE,<1,1,0>, PSYS_PART_END_SCALE,<1,1,0>, PSYS_PART_MAX_AGE,2.89844, PSYS_SRC_MAX_AGE,0, PSYS_SRC_ACCEL,<0,0,0>, PSYS_SRC_BURST_PART_COUNT,50, PSYS_SRC_BURST_RADIUS,0, PSYS_SRC_BURST_RATE,0.898438, PSYS_SRC_BURST_SPEED_MIN,0.5, PSYS_SRC_BURST_SPEED_MAX,1.5, PSYS_SRC_ANGLE_BEGIN,0, PSYS_SRC_ANGLE_END,0.5625, PSYS_SRC_OMEGA,<0,0,1>, PSYS_SRC_TEXTURE, (key)"4bdbb6c7-5819-b19e-be6d-38f96228fe68", PSYS_SRC_TARGET_KEY, (key)"00000000-0000-0000-0000-000000000000"]); llLinkParticleSystem(LINK_spray1,[ PSYS_PART_FLAGS,( 0 |PSYS_PART_INTERP_COLOR_MASK |PSYS_PART_INTERP_SCALE_MASK |PSYS_PART_FOLLOW_SRC_MASK |PSYS_PART_FOLLOW_VELOCITY_MASK |PSYS_PART_EMISSIVE_MASK ), PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE , PSYS_PART_START_ALPHA,0.4, PSYS_PART_END_ALPHA,0.0509804, PSYS_PART_START_COLOR,<0.8,0.8,0.8> , PSYS_PART_END_COLOR,<0.701961,0.701961,0.701961> , PSYS_PART_START_SCALE,<1,1,0>, PSYS_PART_END_SCALE,<1,1,0>, PSYS_PART_MAX_AGE,2.89844, PSYS_SRC_MAX_AGE,0, PSYS_SRC_ACCEL,<0,0,0>, PSYS_SRC_BURST_PART_COUNT,50, PSYS_SRC_BURST_RADIUS,0, PSYS_SRC_BURST_RATE,0.898438, PSYS_SRC_BURST_SPEED_MIN,0.5, PSYS_SRC_BURST_SPEED_MAX,1.5, PSYS_SRC_ANGLE_BEGIN,0, PSYS_SRC_ANGLE_END,0.5625, PSYS_SRC_OMEGA,<0,0,1>, PSYS_SRC_TEXTURE, (key)"4bdbb6c7-5819-b19e-be6d-38f96228fe68", PSYS_SRC_TARGET_KEY, (key)"00000000-0000-0000-0000-000000000000"]); } if(llList2Integer(flags,1))//strobes on { //start strobe loop (probably a texture animation) } else //off { llSetLinkTextureAnim(LINK_strobe0,FALSE, ALL_SIDES, 0, 0, 0.0, 1.0, 1.0); llSetLinkTextureAnim(LINK_strobe1,FALSE, ALL_SIDES, 0, 0, 0.0, 1.0, 1.0); llSetLinkTextureAnim(LINK_strobe1,FALSE, ALL_SIDES, 0, 0, 0.0, 1.0, 1.0); } if(llList2Integer(flags,2))//spinny { } else //off { llSetLinkPrimitiveParams(LINK_spinny0,[ PRIM_OMEGA,<0.0,0.0,1.0>,0.0,0.0, PRIM_LINK_TARGET,LINK_spinny1,<0.0,0.0,1.0>,1.0,0.0, PRIM_LINK_TARGET,LINK_spinny2,<0.0,0.0,1.0>,1.0,0.0 ]); } if(llList2Integer(flags,3))//spinFlop on { } else //off { llSetLinkPrimitiveParams(LINK_floppySpinny,[ PRIM_OMEGA,<0.0,0.1,0.0>,1.0,0.0 ]); } } default { state_entry() { //SETUP LINKS integer total=llGetNumberOfPrims()+1; while((total--)-1) { string name=llGetLinkName(total); if(name=="strobe0")LINK_strobe0 =total; if(name=="strobe1")LINK_strobe1 =total; if(name=="spray0")LINK_spray0 =total; if(name=="spray1")LINK_spray1 =total; if(name=="spray2")LINK_spray2 =total; if(name=="spinny0")LINK_spinny0 =total; if(name=="spinny1")LINK_spinny1 =total; if(name=="spinny2")LINK_spinny2 =total; if(name=="spinny3")LINK_spinny3 =total; } llListen(-35255,"",NULL_KEY,""); } listen(integer channel,string name,key id,string message) { list options = deserialize(message); updateEffects(options); } }