Jump to content

New to Script, modding help


Parsonsda
 Share

You are about to reply to a thread that has been inactive for 3510 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

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);
}
}

Link to comment
Share on other sites

Your syntax for llSetLinkPrimitiveParams isn't quite right. You want

llSetLinkPrimitiveParams(LINK_SET,[PRIM_LINK_TARGET,LINK_spinny0,PRIM_OMEGA,<0.0,0.0,1.0>,0.0,0.0,PRIM_LINK_TARGET,LINK_spinny1,PRIM_OMEGA,<0.0,0.0,1.0>,1.0,0.0,
PRIM_LINK_TARGET,LINK_spinny2,PRIM_OMEGA,<0.0,0.0,1.0>,1.0,0.0]);

You didn't ask, but as you're doing cleanup, you'll find that you can get rid of two of the three sets of particle parameters, since the three sets are identical -- just being addressed to different links.

Link to comment
Share on other sites

The parameters themselves are just a list, so just save the list globally (that is, at the top of your script, before state default) and then refer to it each time you want particles in a different link.

list particles = [ all of your particle parameters go in here];

Then

llLinkParticleParams(link1,particles);

llLinkParticleParams(link2,particles);

and so forth.........

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3510 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...