Difference between revisions of "PRIM TEMP ON REZ"

From Second Life Wiki
Jump to navigation Jump to search
m
m
 
(15 intermediate revisions by 8 users not shown)
Line 6: Line 6:


{{LSL_Function/boolean|boolean}}
{{LSL_Function/boolean|boolean}}
{{Issues/SVC-2380}}


}}{{LSL Constant
}}{{LSL Constant
|inject-2={{LSL PrimitiveParam Categorize|Object}}
|name=PRIM_TEMP_ON_REZ
|name=PRIM_TEMP_ON_REZ
|type=integer
|type=integer
|value=4
|value=4
|desc=Used to get or set the objects temporary status. It lives until the next garbage collection cycle (about 1 minute). Does not count against prim limits. There are limits to the number of temporary objects that can exist in a region and the garbage collector may run sooner then expected.
|desc=Used to get or set the object's temporary status. It lives until the next garbage collection cycle (about 1 minute). Does not count against normal prim limits. There are limits to the number of temporary objects that can exist in a region and the garbage collector may run sooner than expected.
|caveats=* The maximum temporary prims allowed are based on the regular prim limit: <br/> <code>(regular_prim_limit - current_regular_prims) + minimum(0.5 * regular_prim_limit + 400, 1000)</code> <br/> See this [http://forums.secondlife.com/showthread.php?t=305651 forum post] and {{JIRA|SVC-2380}} for details.
* The garbage collection timer is cumulative and cannot be reset.  You can turn TEMP_ON_REZ off which stops the timer running but it will continue from where it left off if TEMP_ON_REZ is restored.
* Meshes are different than ordinary Prims and Sculpts when set Temporary. <br/>They still count against the Parcel and Sim Prim Limits. See: http://wiki.secondlife.com/wiki/Mesh_Prim_Equivalence_test#Temporary_meshes
|pa={{LSL Constant/List|i_front=[&#32;{{#var:temponrez_const}},&#32;|i_end=&nbsp;]
|pa={{LSL Constant/List|i_front=[&#32;{{#var:temponrez_const}},&#32;|i_end=&nbsp;]
|text=When used with [[llSetPrimitiveParams]] & [[llSetLinkPrimitiveParams]]
|text=When used with [[llSetPrimitiveParams]] & [[llSetLinkPrimitiveParams]]
|i1_type=integer|i1_name=boolean
*NOTE: This sets the entire object (linkset) when used in either function.
|i1_type=integer|i1_subtype=boolean|i1_name=boolean
|toc=llSetPrimitiveParams
}}
}}
|pb={{LSL Constant/List|i_front=[[llGetPrimitiveParams]]([&nbsp;{{#var:temponrez_const}}|i_end=&nbsp;]);|
|pb={{LSL Constant/List|i_front=[[llGetPrimitiveParams]]([&nbsp;{{#var:temponrez_const}}|i_end=&nbsp;]);|
|r_front=Returns the list [&nbsp;|r_end=&nbsp;]
|r_front=Returns the list [&nbsp;|r_end=&nbsp;]
|text
|text
|r1_type=integer|r1_name=boolean
|r1_type=integer|r1_subtype=boolean|r1_name=boolean
|toc=llGetPrimitiveParams
}}
}}
|examples
|examples
Line 27: Line 35:
{{LSL DefineRow||[[llSetLinkPrimitiveParams]]|}}
{{LSL DefineRow||[[llSetLinkPrimitiveParams]]|}}
{{LSL DefineRow||[[llGetPrimitiveParams]]|}}
{{LSL DefineRow||[[llGetPrimitiveParams]]|}}
{{LSL DefineRow||[[llRezObject]]|}}
|events=
|events=
{{LSL DefineRow||[[changed]]|}}
{{LSL DefineRow||[[changed]]|}}
|location
|location
|history=Before SL 1.9 objects would only be recognized by the garbage collector as temporary if they were rezzed with the temporary status already set. Setting the attribute only effected the object the next time it was rezzed. With 1.9 this was changed so that changing this status flag effected the object immediately. The constant name however was not changed to reflect this functionality change.
|history=Before SL 1.9 objects would only be recognized by the garbage collector as temporary if they were rezzed with the temporary status already set. Setting the attribute only effected the object the next time it was rezzed. With 1.9 this was changed so that changing this status flag effected the object immediately. The constant name however was not changed to reflect this functionality change.
|cat1=Prim
|cat1=Status
|cat2=Status
|cat2=Temporary
|cat3
|cat3
|cat4
|cat4
}}
}}

Latest revision as of 01:54, 23 December 2013

Description

Constant: integer PRIM_TEMP_ON_REZ = 4;

The integer constant PRIM_TEMP_ON_REZ has the value 4

Used to get or set the object's temporary status. It lives until the next garbage collection cycle (about 1 minute). Does not count against normal prim limits. There are limits to the number of temporary objects that can exist in a region and the garbage collector may run sooner than expected.

llSetPrimitiveParams

[ PRIM_TEMP_ON_REZ, integer boolean ]
• integer boolean TRUE enables, FALSE disables

When used with llSetPrimitiveParams & llSetLinkPrimitiveParams

  • NOTE: This sets the entire object (linkset) when used in either function.

llGetPrimitiveParams

llGetPrimitiveParams([ PRIM_TEMP_ON_REZ ]);

Returns the list [ integer boolean ]

• integer boolean TRUE enables, FALSE disables

Caveats

  • The maximum temporary prims allowed are based on the regular prim limit:
    (regular_prim_limit - current_regular_prims) + minimum(0.5 * regular_prim_limit + 400, 1000)
    See this forum post and SVC-2380 for details.
  • The garbage collection timer is cumulative and cannot be reset. You can turn TEMP_ON_REZ off which stops the timer running but it will continue from where it left off if TEMP_ON_REZ is restored.
  • Meshes are different than ordinary Prims and Sculpts when set Temporary.
    They still count against the Parcel and Sim Prim Limits. See: http://wiki.secondlife.com/wiki/Mesh_Prim_Equivalence_test#Temporary_meshes


Related Articles

Deep Notes

History

Before SL 1.9 objects would only be recognized by the garbage collector as temporary if they were rezzed with the temporary status already set. Setting the attribute only effected the object the next time it was rezzed. With 1.9 this was changed so that changing this status flag effected the object immediately. The constant name however was not changed to reflect this functionality change.

All Issues

~ Search JIRA for related Issues
   Temp-On-Rez Prim Limits Behave Erratically

Signature

integer PRIM_TEMP_ON_REZ = 4;