Jump to content

Particle PSYS error I don't understand


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

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

Recommended Posts

This call I've written:

	llParticleSystem( [
        PSYS_PART_FLAGS, PSYS_PART_EMISSIVE_MASK,
        PSYS_PART_INTERP_COLOR_MASK, PSYS_PART_INTERP_SCALE_MASK,
        PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE
        ,PSYS_SRC_BURST_RADIUS,  2.1
        ,PSYS_PART_START_COLOR, <0.0, 1.0, 0.0>
        ,PSYS_PART_END_COLOR,  <0.0, 0.6, 0.3>
        ,PSYS_PART_START_ALPHA, 1.0
        ,PSYS_PART_END_ALPHA,  0.0
        ,PSYS_PART_START_SCALE, <0.2, 0.2, 0.0>
        ,PSYS_PART_END_SCALE,  <0.2, 0.2, 0.0>
        ,PSYS_SRC_TEXTURE, "407dfddc-ede1-4fe2-92a8-0176283aed58"
        ,PSYS_PART_START_GLOW, 0.5
        ,PSYS_PART_END_GLOW,  0.3
        ,PSYS_SRC_MAX_AGE, 6.0
        ,PSYS_PART_MAX_AGE, 5.5
        ,PSYS_SRC_BURST_RATE, 4.0
        ,PSYS_SRC_BURST_PART_COUNT, 80
        ,PSYS_SRC_BURST_SPEED_MIN, 0.01
        ,PSYS_SRC_BURST_SPEED_MAX, 0.03
                
    ] );

      is throwing this error: PSYS error: Rule 2 error, PSYS_PART_START_COLOR needs vector data. I can't figure out why.

Link to comment
Share on other sites

The PSYS_PART_FLAGS are bitfield values (that is they are a set if individual one bit flags in a single integer), so they need to be ORed together using the bitwise OR operator "|" to make that integer.

I think what's happening here is immediately following PSYS_PART_FLAGS you have the integer PSYS_PART_EMISSIVE_MASK which is taken to be the entirety of the flags, and following this you have PSYS_PART_INTERP_COLOR_MASK which has the same value (1) as PSYS_PART_START_COLOR, so the compiler then looks for a vector but finds PSYS_PART_INTERP_SCALE_MASK which is an integer.

  • Like 2
Link to comment
Share on other sites

You've misconstructed the parameter list. The first parameter is "PSYS_PART_MAX_AGE", followed by "PSYS_PART_FLAGS" which is comprised of all the masks you've listed. You've listed all the masks as if they are parameters for the call. They are actually bits in "PSYS_PART_FLAGS", which is a single parameter for the call.

Here's an example to follow:

http://wiki.secondlife.com/wiki/Example_Particle_Script

Edited by Madelaine McMasters
  • Like 1
Link to comment
Share on other sites

   Ok, I've separated all my PART flags and SRC flags with pipes. I no longer have the error, but I also have no particles appearing.

	llParticleSystem( [
        PSYS_PART_FLAGS|PSYS_PART_EMISSIVE_MASK|
        PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK,
        PSYS_SRC_PATTERN|PSYS_SRC_PATTERN_EXPLODE
        ,PSYS_SRC_BURST_RADIUS,  2.1
        ,PSYS_PART_START_COLOR, <0.0, 1.0, 0.0>
        ,PSYS_PART_END_COLOR,  <0.0, 0.6, 0.3>
        ,PSYS_PART_START_ALPHA, 1.0
        ,PSYS_PART_END_ALPHA,  0.0
        ,PSYS_PART_START_SCALE, <0.5, 0.5, 0.0>
        ,PSYS_PART_END_SCALE,  <0.5, 0.5, 0.0>
        ,PSYS_SRC_TEXTURE, "407dfddc-ede1-4fe2-92a8-0176283aed58"
        ,PSYS_PART_START_GLOW, 0.5
        ,PSYS_PART_END_GLOW,  0.3
        ,PSYS_SRC_MAX_AGE, 0.0
        ,PSYS_PART_MAX_AGE, 5.5
        ,PSYS_SRC_BURST_RATE, 4.0
        ,PSYS_SRC_BURST_PART_COUNT, 80
        ,PSYS_SRC_BURST_SPEED_MIN, 0.01
        ,PSYS_SRC_BURST_SPEED_MAX, 0.03
                
    ] );

   EDIT: I fixed it. I replaced those first pipes with commas. All is well. Thanks for helping out. :)

 

 

Edited by Ivanova Shostakovich
Link to comment
Share on other sites

You've overdone the ORs.

Specifically, you should separate PSYS_PART_FLAGS from the ORed flags with a comma, and also separate PSYS_SRC_PATTERN from PSYS_SRC_PATTERN_EXPLODE with a comma.

    llParticleSystem( [
        PSYS_PART_FLAGS,PSYS_PART_EMISSIVE_MASK|
        PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK,
        PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_EXPLODE
        ,PSYS_SRC_BURST_RADIUS,  2.1
        ,PSYS_PART_START_COLOR, <0.0, 1.0, 0.0>
        ,PSYS_PART_END_COLOR,  <0.0, 0.6, 0.3>
        ,PSYS_PART_START_ALPHA, 1.0
        ,PSYS_PART_END_ALPHA,  0.0
        ,PSYS_PART_START_SCALE, <0.5, 0.5, 0.0>
        ,PSYS_PART_END_SCALE,  <0.5, 0.5, 0.0>
        ,PSYS_SRC_TEXTURE, "407dfddc-ede1-4fe2-92a8-0176283aed58"
        ,PSYS_PART_START_GLOW, 0.5
        ,PSYS_PART_END_GLOW,  0.3
        ,PSYS_SRC_MAX_AGE, 0.0
        ,PSYS_PART_MAX_AGE, 5.5
        ,PSYS_SRC_BURST_RATE, 4.0
        ,PSYS_SRC_BURST_PART_COUNT, 80
        ,PSYS_SRC_BURST_SPEED_MIN, 0.01
        ,PSYS_SRC_BURST_SPEED_MAX, 0.03
                
    ] );

 

Edited by KT Kingsley
  • Like 2
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1805 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...