Difference between revisions of "LlGetNumberOfPrims"

From Second Life Wiki
Jump to navigation Jump to search
(state the caveat implicit in the examples: The number of prims returned includes the count of avatars sitting on the object.)
m
 
(16 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{LSL_Function
{{LSL_Function
|func_id=275|func_sleep=0.0|func_energy=10.0
|func_id=275|func_sleep=0.0|func_energy=10.0
|func=llGetNumberOfPrims|sort=GetNumberOfPrims
|func=llGetNumberOfPrims
|return_type=integer
|return_type=integer
|func_footnote
|func_footnote
Line 7: Line 7:
|return_text=that is the number of prims in a link set the script is attached to.
|return_text=that is the number of prims in a link set the script is attached to.
|spec
|spec
|caveats=*The number of prims returned includes the count of avatars sitting on the object.
|caveats=*The number of prims returned also includes the number of avatars sitting on the object.
|constants
|constants
|examples=Returns the number of agents on the object
|examples=<source lang="lsl2">default
<Pre>
{
integer GetNumberOfAgents()
    state_entry()
{//count avatars
    {
    integer a = llGetNumberOfPrims();
        llOwnerSay((string)llGetLinkNumber());
     integer b = a;
        llOwnerSay((string)llGetNumberOfPrims());
    while(llGetAgentSize(llGetLinkKey(a)))
     }
        --a;
}</source>
    return b - a;
|helpers=<source lang="lsl2">
// Returns the number of prims in the object, ignoring seated avatars
integer getNumberOfPrims(){
  if (llGetObjectPrimCount(llGetKey()) == 0 ) return llGetNumberOfPrims(); // attachment
  return llGetObjectPrimCount(llGetKey());  // non-attachment
}
}
</Pre>
</source>
|helpers=<pre>
//Returns the number of agents on the object
integer GetNumberOfAgents()
{//count avatars
    integer a = llGetNumberOfPrims();
    integer b = a;
    while(llGetAgentSize(llGetLinkKey(a)))
        --a;
    return b - a;
}
 
//Returns the number of prims in the object
integer GetNumberOfPrims()
{//ignores avatars
    integer a = llGetNumberOfPrims();
    while(llGetAgentSize(llGetLinkKey(a)))
        --a;
    return a;
}
</pre>
|also_functions=
|also_functions=
{{LSL DefineRow||{{LSLG|llGetObjectPrimCount}}|Returns the number of prims in any object.}}
{{LSL DefineRow||[[llGetObjectPrimCount]]|Returns the number of prims in any object.}}
{{LSL DefineRow||{{LSLG|llGetLinkNumber}}|Returns the link number of the prim the script is in.}}
{{LSL DefineRow||[[llGetLinkNumber]]|Returns the link number of the prim the script is in.}}
|also_tests
|also_tests
|also_events
|also_events
Line 48: Line 32:
|notes
|notes
|cat1=Link
|cat1=Link
|cat2
|cat2=Object
|cat3
|cat3
|cat4
|cat4
}}
}}

Latest revision as of 01:16, 22 January 2015

Summary

Function: integer llGetNumberOfPrims( );
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

default
{
    state_entry()
    {
        llOwnerSay((string)llGetLinkNumber());
        llOwnerSay((string)llGetNumberOfPrims());
    }
}

Useful Snippets

// Returns the number of prims in the object, ignoring seated avatars
integer getNumberOfPrims(){
  if (llGetObjectPrimCount(llGetKey()) == 0 ) return llGetNumberOfPrims(); // attachment
  return llGetObjectPrimCount(llGetKey());   // non-attachment
}

See Also

Functions

•  llGetObjectPrimCount Returns the number of prims in any object.
•  llGetLinkNumber Returns the link number of the prim the script is in.

Deep Notes

Signature

function integer llGetNumberOfPrims();