Difference between revisions of "LlSetObjectName"

From Second Life Wiki
Jump to navigation Jump to search
(11 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{LSL_Function/limits}}{{LSL Function
{{LSL Function
|inject-2={{LSL_Function/limits}}
|func_id=203
|func_id=203
|func_sleep=0.0
|func_sleep=0.0
Line 6: Line 7:
|p1_type=string
|p1_type=string
|p1_name=name
|p1_name=name
|func_desc=Sets the prim's name according to the '''name''' parameter.
|func_desc=Sets the prim's name according to the {{LSLP|name}} parameter.
|func_footnote=If this function is called from a child prim in a linked set, it will change the name of the child prim and not the root prim.
|func_footnote=If this function is called from a child prim in a linked set, it will change the name of the child prim and not the root prim.
|return_text
|return_text
Line 12: Line 13:
|caveats=
|caveats=
* The name is limited to 63 characters. Longer prim names are cut short.
* The name is limited to 63 characters. Longer prim names are cut short.
* Names can only consist of the 128 characters found in the ASCII-7 (non-extended) character set.
* Names can only consist of the 95 printable characters found in the [http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters ASCII-7] (non-extended) character set, with the exception of the vertical bar/pipe ("<nowiki>|</nowiki>") character.
** Non-ASCII characters will be replaced with two question marks ("??").
** Non-ASCII characters will be replaced with two question marks ("??").
* While an object is attached, the script cannot change the name of the object as it appears in the user's inventory. This behavior [http://forums-archive.secondlife.com/255/ab/84853/1.html was a bug], but it [https://jira.secondlife.com/browse/SVC-3429?focusedCommentId=267372&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-267372 remained long enough to become permanent].
** Objects with all-whitespace names (e.g., a space or a series of spaces) will appear as "(Unnamed)" if they emit chat via [[llSay]], [[llOwnerSay]], [[llInstantMessage]], etc.
* While an object is attached, the script cannot change the name of the object as it appears in the user's inventory.{{Footnote|2=Whether or not this is a bug is still debated, regardless LL has said they will not fix it. This behavior was first recognized as a pain point in 2006 and only confirmed to be lava-flowed more recently (2011).|1=Whether or not this is a bug is still debated, regardless LL has said they will not fix it. This behavior was first recognized as a pain point in [http://forums-archive.secondlife.com/255/ab/84853/1.html 2006] and only confirmed to be lava-flowed [https://jira.secondlife.com/browse/SVC-3429?focusedCommentId=267372&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-267372 more recently (2011)].}}
** Changes to the name of the root prim (with [[llSetObjectName]] for example) will not be saved to inventory; when the attachment is detached (to inventory, not dropped) this name change is discarded and the name in inventory is used instead.
** Changes to the name of the root prim (with [[llSetObjectName]] for example) will not be saved to inventory; when the attachment is detached (to inventory, not dropped) this name change is discarded and the name in inventory is used instead.
** Dropping an attachment (to the ground) and taking it into inventory will <!--somebody please verify this--> cause the inventory name of the attachment to be the changed name.
** When attachment is dropped (to the ground) and taking it into inventory, the inventory item will have the new name (not the old).
* Changes to the names of child prims will be saved back to inventory when the object is detached to inventory. They survive detachment.
* Changes to the names of child prims will be saved back to inventory when the object is detached to inventory. They survive detachment.
|constants
|constants
|examples=<lsl>default
|examples=
{{{!}} class="sortable" width="100%" {{Prettytable}}
{{!}}- {{Hl2}}
! '''Set this prim's name'''
! '''Set the root prim's name'''
{{!}}-
{{!!}}<source lang="lsl2">
default
{
{
     state_entry()
     state_entry()
     {
     {
         string yyyy1mm1dd = llGetDate();
         llSetObjectName("NEW PRIM NAME");
        string name = yyyy1mm1dd + " " + llGetObjectName();
        llOwnerSay("llSetObjectName(\"" + name + "\")");
        llSetObjectName(name);
     }
     }
}</lsl>
}
</source>
{{!!}}
<source lang="lsl2">
default
{
    state_entry()
    {
        llSetLinkPrimitiveParamsFast(LINK_ROOT,
            [PRIM_NAME, "NEW ROOT PRIM NAME"]);
    }
}
</source>
{{!}}}
|helpers
|helpers
|also_functions=
|also_functions=

Revision as of 17:08, 3 February 2019

Summary

Function: llSetObjectName( string name );

Sets the prim's name according to the name parameter.

• string name

If this function is called from a child prim in a linked set, it will change the name of the child prim and not the root prim.

Caveats

  • The name is limited to 63 characters. Longer prim names are cut short.
  • Names can only consist of the 95 printable characters found in the ASCII-7 (non-extended) character set, with the exception of the vertical bar/pipe ("|") character.
    • Non-ASCII characters will be replaced with two question marks ("??").
    • Objects with all-whitespace names (e.g., a space or a series of spaces) will appear as "(Unnamed)" if they emit chat via llSay, llOwnerSay, llInstantMessage, etc.
  • While an object is attached, the script cannot change the name of the object as it appears in the user's inventory.[1]
    • Changes to the name of the root prim (with llSetObjectName for example) will not be saved to inventory; when the attachment is detached (to inventory, not dropped) this name change is discarded and the name in inventory is used instead.
    • When attachment is dropped (to the ground) and taking it into inventory, the inventory item will have the new name (not the old).
  • Changes to the names of child prims will be saved back to inventory when the object is detached to inventory. They survive detachment.
All Issues ~ Search JIRA for related Bugs

Examples

Set this prim's name Set the root prim's name
default
{
    state_entry()
    {
        llSetObjectName("NEW PRIM NAME");
    }
}
default
{
    state_entry()
    {
        llSetLinkPrimitiveParamsFast(LINK_ROOT,
            [PRIM_NAME, "NEW ROOT PRIM NAME"]);
    }
}

See Also

Functions

•  llGetObjectName Get the prims name
•  llGetLinkName Get a linked prims name
•  llGetObjectDesc Get the prims description
•  llSetObjectDesc Set the prims description
•  llGetObjectDetails Get a list of object details

Articles

•  Limits SL limits and constrictions

Deep Notes

Search JIRA for related Issues

Footnotes

  1. ^ Whether or not this is a bug is still debated, regardless LL has said they will not fix it. This behavior was first recognized as a pain point in 2006 and only confirmed to be lava-flowed more recently (2011).

Signature

function void llSetObjectName( string name );