LSL Wiki Mirror 10-5-2006: llGetKey

HomePage :: PageIndex :: RecentChanges :: RecentlyCommented :: UserSettings ::
key llGetKey()

Get the current key of the prim containing this script.

Each time an object is rezzed, each of its primitives receives a new, different, and probably unique key. It is probably worth thinking of llGetKey's result as the key associated with the prim's current existence in the world (or identifying its current session with the world) rather than as a key "for" the prim as such. This behavior is the case whether you have copy permission over the object or not. It almost goes without saying that different copies of the "same" object each have different keys for each of their constituent prims.

Teleporting from one place to another causes attachments to be derezzed and rezzed at the new location. This implies that when teleporting, all attachment scripts will receive an on_rez event, and each attachment's prims will be given a new key. Scripts making use of llGetKey should update the key in their on_rez event. None of the above applies to the short distance "teleport hack" using llSitTarget, however.

Email can only be sent to an object (either from the outside world or using llEmail) using a prim's key as part of the email address. Therefore, to get a long-lasting in-world target for email, either redirect it through a relay outside Second Life or make very sure that the target object will never be derezzed.

Modifying a prim (for example, by editing the scripts in it) does not change its key. Resaving a script does give the script itself a new key, but a script's key is retrieved with llGetInventoryKey, not llGetKey.

Compare with llGetOwnerKey, llGetOwner and llGetInventoryKey.


Functions | Key
There is no comment on this page. [Display comments/form]