Don't click here unless you want to be banned.

LSL Wiki : TemporaryOnRez

HomePage :: PageIndex :: RecentChanges :: RecentlyCommented :: UserSettings :: You are crawl809.us.archive.org

Temporary on Rez

Objects set to "temporary on rez" (temp-on-rez) automatically die without triggering any events after a short time and do not count against the prim allotment for the land parcel beneath them. Otherwise, they're the same as an ordinary prim: visible to all, able to be scripted, interacted with, etc. Temp-on-rez objects do not make assets when they are deleted, so the deletion events are not a load on the asset server.

An object's temporary on rez property can be set with llSetPrimitiveParams, or by checking the "Temporary" checkbox in the building editor in the SL client. llGetPrimitiveParams can be used to determine if an object has been set to temporary on rez.

Performance Advisory
Always use temp-on-rez when rezzing a large number of "disposable" objects such as bullets or other projectiles. Doing this allows them to automatically be cleaned up, should they break or encounter no-script land. This is both good scripting practice, as well as good for your sim and neighbours. It also keeps you and your customers happy by not getting complaints sent after them.

Temp-on-rez prim limits

According to Andrew Linden, as of SL 1.11, there is a limit on the number of temp-on-rez prims allowed on a parcel based on the parcel's prim limit.

The formula is currently "temp_prim_limit = 0.5 * regular_prim_limit + 20", or 500 temp-on-rez prims, whichever is smaller. Any rezzing above this limit will cause older temp-on-rez objects to immediately be garbage collected until the limit is reached again. As the aforementioned forum thread indicates, the limit may be tweaked in later versions.

Lifespan of Temporary Prims

According to Andrew Linden, the current system is a per-frame (1/45th of a second) tally correction for any parcel that has gained or lost objects. If the parcel is over its temp-on-rez limit, it aggresively deletes older temporary objects until it is within its limit. Otherwise, if it has any temporary objects at all, that parcel is scanned for old ( > 60 seconds) temporary objects every 10 seconds.

In practical terms, expect the lifespan of temp-on-rez objects to range between 60 and 70 seconds.

Observations

WARNING! The following behaviour was observed in 1.12.0 (2006-08-23). Creating an object and then setting the "temporary on rez" property DOES make the object temporary (eligible for garbage collection) directly, even without being taken and re-rezzed. Setting the "temporary on rez" property on an existing object DOES decrease the number of objects the simulator thinks are on the parcel.

Taking an object with the "temporary on rez" property set into inventory and rezzing it gives a copy of the object which is temporary, and which does not count towards the number of objects the simulator thinks are on the parcel. This is the normal case.

If you remove the "temporary on rez" property from an already-rezzed temporary object, that object will no longer be temporary and will not be garbage collected. However, it will then count against the number of objects on the parcel.

Although rezzing a new non-temp-on-rez object on a parcel isn't allowed if it would take you over the parcel limit, it does appear to be possible to remove the "temporary on rez" property from a temporary object sitting on a full parcel. This puts you in a situation where the "About Land" dialog says something like "235 out of 234 (1 will be deleted)" and a little while later said prim will be removed after all. Note that such an object is not deleted outright as a dying temp-on-rez object would be, but is sent back to your "Lost and Found" folder instead.



Primitive | Object | Rez
Comments [Hide comments/form]
I noticed that while someone sits on an object composed of "temporary on rez" prims, the object won't be garbage collected.
The object still do not count against the parcel's prim allotment.
Can someone confirm this?
-- RaffaelePirandello (2005-12-09 05:29:23)
As of 1.10 it appears as though temp_on_rez prims now count against the parcel limit, as reported above. Unfortunate.
-- IridescentEnzyme (2006-06-23 21:56:19)
The number of temp-on-rez prims allowed on a parcel is now limited, as described above. The linked forum post also answers your question RaffaelePirandello, temp-on-rez objects will not be garbage collected until the user "removes its selection" of the object.
-- OdysseusFairymeadow (2006-07-24 16:24:23)
I think maybe you misread.

It hasn't really changed that much. it's what its supposed to be. Temp Upon REZ. Meaning, you create an object, and turn on temp-on-rez feature: You have to take it and re-rez it to BECOMING temporary. Otherwise, the property isnt enabled until it is rezzed.

I don't believe it ever was anything else?
-- BirdRaven (2006-07-25 00:28:57)
Temp-on-rez only affects newly rezzed objects to allow the master to be worked on without having it disapear (due to garbage collect) this is an existing behavior, not new.
-- IceBrodie (2006-07-31 09:01:50)
Linking a temp_on_rez prim to a permanent prim disables the temporary setting and the prim will count against the parcel limit. If the temporary prim is older than 60 seconds when it is unlinked from permanent prims then it will be deleted immediately.
-- DominoMarama (2006-10-07 03:15:50)
The behavior is different now, regarding setting already rezzed objects to temporary. I am not certain when it changed, but now if you set an object to temporary, it will be garbage collected, even if you don't take it and re-rez it. LL changed the text in the building editor to read 'temporary' instead of 'temp on rez' I think back around 1.7. I am not sure if that is when the behavior changed, though it would imply so. So make sure you don't accidentally set a no-copy object to temporary ;)
-- JamalMfume (2006-10-07 18:35:41)
are u sure?
-- a82-93-140-232.adsl.xs4all.nl (2007-09-27 18:42:42)
Attach a comment to this page: