|
Thili Playfair
Registered User
Join date: 18 Aug 2004
Posts: 2,417
|
06-03-2006 14:51
Ok messing around trying to find a prim parameter using this script http://secondlife.com/badgeo/wakka.php?wakka=llGetPrimitiveParams list GetPrimitiveParams(list input) { list output; integer c = -llGetListLength(input); integer flag; integer side; while(c<0) { flag = llList2Integer(input, c++); //pop the stack if(llListFindList([PRIM_BUMP_SHINY, PRIM_COLOR, PRIM_TEXTURE, PRIM_FULLBRIGHT], [flag]) + 1) { side = llList2Integer(input, c++); //pop the stack if(side == ALL_SIDES) { side = llGetNumberOfSides(); while(side--) //we return the sides in reverse order, easier to code; runs faster. output += [flag, side] + llGetPrimitiveParams([flag, side ]); } else output += [flag, side] + llGetPrimitiveParams([flag, side ]); } else output += [flag] + llGetPrimitiveParams([flag]); } return output; } //Contributed by Strife Onizuka Prob been awhile since it was added but it errors on the while(c <0) any tips?,  trying destructive script skills of mine eep, and erk now it errored on something else..heee wops (tries again)
|
|
Osgeld Barmy
Registered User
Join date: 22 Mar 2005
Posts: 3,336
|
06-03-2006 23:45
i tested it, seems to work fine, here is what i used list GetPrimitiveParams(list input) { list output; integer c = -llGetListLength(input); integer flag; integer side; while(c<0) { flag = llList2Integer(input, c++); //pop the stack if(llListFindList([PRIM_BUMP_SHINY, PRIM_COLOR, PRIM_TEXTURE, PRIM_FULLBRIGHT], [flag]) + 1) { side = llList2Integer(input, c++); //pop the stack if(side == ALL_SIDES) { side = llGetNumberOfSides(); while(side--) //we return the sides in reverse order, easier to code; runs faster. output += [flag, side] + llGetPrimitiveParams([flag, side ]); } else output += [flag, side] + llGetPrimitiveParams([flag, side ]); } else output += [flag] + llGetPrimitiveParams([flag]); } llOwnerSay(llDumpList2String(output,",")); return output; } //Contributed by Strife Onizuka
default { state_entry() { llSay(0, "Hello, Avatar!"); }
touch_start(integer total_number) { GetPrimitiveParams([PRIM_POSITION]); } }
|