llGetNumberOfPrims
Revision as of 10:21, 10 September 2013 by Findbhair McConaught (talk | contribs) (zusätzliches Beispiel zugefügt)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: integer llGetNumberOfPrims( );275 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns an integer that is the number of prims in a link set the script is attached to.
Caveats
- The number of prims returned also includes the number of avatars sitting on the object.
Examples
<lsl>default {
state_entry() { llOwnerSay((string)llGetLinkNumber()); llOwnerSay((string)llGetNumberOfPrims()); }}</lsl>
Useful Snippets
<lsl> // determine the number of prims in linkset (by Fin's Corp.) getNumberOfPrims() {
maxLinkNumber = llGetNumberOfPrims(); // subtract seated avatars if(1 < maxLinkNumber) { while( llGetAgentSize( llGetLinkKey(maxLinkNumber) ) ) { --maxLinkNumber; } }
} // END getNumberOfPrims()
// Returns the number of prims in the object, ignoring seated avatars
integer GetNumberOfPrims()
{
if (llGetAttached()) { // llGetObjectPrimCount fails on attachments, but you can't sit on an attachment return llGetNumberOfPrims(); } return llGetObjectPrimCount(llGetKey());
}
//-- inline version of the above (llGetObjectPrimCount( llGetKey() ) + llGetNumberOfPrims() * !!llGetAttached())
// Returns the number of agents on the object integer GetNumberOfAgents() {
return llGetNumberOfPrims() - GetNumberOfPrims();
}
//-- inline version of the previous ((llGetNumberOfPrims() - llGetObjectPrimCount( llGetKey() )) * !llGetAttached()) </lsl>
See Also
Functions
• | llGetObjectPrimCount | – | Returns the number of prims in any object. | |
• | llGetLinkNumber | – | Returns the link number of the prim the script is in. |