Difference between revisions of "Template:LSL Function/give"

From Second Life Wiki
Jump to navigation Jump to search
m
(Attempt to fix llGiveInventory to not say that it can give to groups)
 
(17 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<includeonly>{{#if:
<includeonly>{{LSL Injection Test}}{{#if:


{{#vardefine:target-type|~{{#expr:{{#if:{{{avatar|}}}|1|0}}+{{#if:{{{prim|}}}{{{object|}}}|2|0}}}}}}
{{#vardefine:target-type|~{{#expr:{{#if:{{{avatar|}}}|1|0}}+{{#if:{{{prim|}}}{{{object|}}}|2|0}}+{{#if:{{{link|}}}|4|0}}}}}}


{{#vardefine:pcaveats|{{#var:caveats}}}}
{{#vardefine:pcaveats|{{#var:caveats}}}}
{{#vardefine:caveats}}
{{#vardefine:caveats}}


{{LSL Function/{{#switch:{{#var:target-type}}|~1=avatar|~2=prim|uuid}}|object={{{object|}}}|sim={{{sim|}}}|{{{1|}}}|}}
{{LSL Function/{{#switch:{{#var:target-type}}|~1=avatar|~2=prim|~4=link|uuid}}|group=|object={{{object|}}}|sim={{{sim|}}}|{{{1|}}}|}}


{{LSL Function/inventory|{{{2|}}}|type={{{type|}}}|uuid={{{uuid|}}}|full={{{full|}}}}}
{{LSL Function/inventory|{{{2|}}}|type={{{type|}}}|uuid={{{uuid|}}}|full={{{full|}}}|insert={{{insert|}}}|}}


{{#vardefine:caveats|{{#var:pcaveats}}
{{#vardefine:caveats|{{#var:pcaveats}}{{#ifeq:{{#var:target-type}}|~4||
* If '''{{LSL Param|{{{1}}}}}''' is {{#switch:{{#var:target-type}}|~1=not the owner|~2=not owned by the same person|is not the owner nor shares the same owned}} and '''{{LSL Param|{{{2}}}}}''' cannot be transfered an error is shouted on {{LSL Const|DEBUG_CHANNEL|integer|hex=0x7FFFFFFF}}.
* If '''{{LSL Param|{{{1}}}}}''' is {{#switch:{{#var:target-type}}|~1=not the owner|~2=not owned by the same person|not the owner nor shares the same owner}}, {{#ifeq:{{{uuid|}}}|true|'''{{LSL Param|{{{2}}}}}''' is not a [[UUID]]}} and '''{{LSL Param|{{{2}}}}}''' does not have transfer permissions, an error is shouted on {{#var:DEBUG_CHANNEL}}.
* If '''{{LSL Param|{{{2}}}}}''' cannot be copied then an error is shouted on {{LSL Const|DEBUG_CHANNEL|integer|hex=0x7FFFFFFF}}.
{{#if:{{{copyok|}}}||
* If '''{{LSL Param|{{{2}}}}}''' {{#if:{{{full|}}}|is not {{HoverLink|:Category:LSL_Permissions/Asset|copy, mod and transfer|full permissions}}|permissions do not allow copy}}, the transfer fails and an error is shouted on {{#var:DEBUG_CHANNEL}}.{{#switch:{{#var:target-type}}
|~1=|* If '''{{LSL Param|{{{1}}}}}''' {{#ifeq:{{#var:target-type}}|~2||is a prim that}} is not in the same region an error is shouted on {{#var:DEBUG_CHANNEL}}.}}}}}}
{{#switch:{{{type|}}}|script|=* When scripts are copied or moved between inventories, their state does not survive the transfer. Memory, event queue and execution position are all discarded.|#default=}}
{{#var:caveats}}}}
{{#var:caveats}}}}


Line 20: Line 23:
{{Multi-lang}}
{{Multi-lang}}
{{UpdateLink}}
{{UpdateLink}}
 
{{#vardefine:caveats}}{{#vardefine:p_target_desc}}{{#vardefine:p_target_hover}}{{#vardefine:p_item_desc}}{{#vardefine:p_item_hover}}
{| {{Prettytable}} {{#vardefine:caveats}}
{| {{Prettytable}} {{#vardefine:caveats}}
|+<code><nowiki>{{</nowiki>{{FULLPAGENAMEE}}<nowiki>|target|item|type=sound|uuid=true}}</nowiki></code>{{{{FULLPAGENAMEE}}|target|item|type=sound|uuid=true}}
|+<code><nowiki>{{</nowiki>{{FULLPAGENAMEE}}<nowiki>|target|item|type=sound|uuid=true}}</nowiki></code>{{{{FULLPAGENAMEE}}|target|item|type=sound|uuid=true}}
Line 37: Line 40:
{{VarPair|p_item_hover}}
{{VarPair|p_item_hover}}
|}
|}
 
{{#vardefine:caveats}}{{#vardefine:p_target_desc}}{{#vardefine:p_target_hover}}{{#vardefine:p_item_desc}}{{#vardefine:p_item_hover}}
{| {{Prettytable}} {{#vardefine:caveats}}
{| {{Prettytable}} {{#vardefine:caveats}}
|+<code><nowiki>{{</nowiki>{{FULLPAGENAMEE}}<nowiki>|target|item|type=sound|uuid=false}}</nowiki></code>{{{{FULLPAGENAMEE}}|target|item|type=sound|uuid=false}}
|+<code><nowiki>{{</nowiki>{{FULLPAGENAMEE}}<nowiki>|target|item|type=sound|uuid=false}}</nowiki></code>{{{{FULLPAGENAMEE}}|target|item|type=sound|uuid=false}}
|-{{Hl2}}
! #var
! value
|-
{{VarPair|caveats}}
|-
{{VarPair|p_target_desc}}
|-
{{VarPair|p_target_hover}}
|-
{{VarPair|p_item_desc}}
|-
{{VarPair|p_item_hover}}
|}
{{#vardefine:caveats}}{{#vardefine:p_target_desc}}{{#vardefine:p_target_hover}}{{#vardefine:p_item_desc}}{{#vardefine:p_item_hover}}
{| {{Prettytable}} {{#vardefine:caveats}}
|+<code><nowiki>{{</nowiki>{{FULLPAGENAMEE}}<nowiki>|target|item|type=script|uuid=true|link=*}}</nowiki></code>{{{{FULLPAGENAMEE}}|target|item|type=script|uuid=true|link=*}}
|-{{Hl2}}
|-{{Hl2}}
! #var
! #var

Latest revision as of 11:14, 24 September 2022

Press this link after making a change, so it becomes displayed.
{{Template:LSL_Function/give|target|item|type=sound|uuid=true}}
#var value
caveats
  • If target is not the owner nor shares the same owner, item is not a UUID and item does not have transfer permissions, an error is shouted on DEBUG_CHANNEL.
  • If item permissions do not allow copy, the transfer fails and an error is shouted on DEBUG_CHANNEL.
  • If target is a prim that is not in the same region an error is shouted on DEBUG_CHANNEL.
  • If item is missing from the prim's inventory and it is not a UUID or it is not a sound then an error is shouted on DEBUG_CHANNEL.
  • If item is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
p_target_desc avatar or prim UUID
p_target_hover avatar or prim UUID
p_item_desc a sound in the inventory of the prim this script is in or a UUID of a sound
p_item_hover a sound in the inventory of the prim this script is in or a UUID of a sound
{{Template:LSL_Function/give|target|item|type=sound|uuid=false}}
#var value
caveats
  • If target is not the owner nor shares the same owner, and item does not have transfer permissions, an error is shouted on DEBUG_CHANNEL.
  • If item permissions do not allow copy, the transfer fails and an error is shouted on DEBUG_CHANNEL.
  • If target is a prim that is not in the same region an error is shouted on DEBUG_CHANNEL.
  • If item is missing from the prim's inventory or it is not a sound then an error is shouted on DEBUG_CHANNEL.
p_target_desc avatar or prim UUID
p_target_hover avatar or prim UUID
p_item_desc a sound in the inventory of the prim this script is in
p_item_hover a sound in the inventory of the prim this script is in
{{Template:LSL_Function/give|target|item|type=script|uuid=true|link=*}}
#var value
caveats
  • When scripts are copied or moved between inventories, their state does not survive the transfer. Memory, event queue and execution position are all discarded.
  • If item is missing from the prim's inventory and it is not a UUID or it is not a script then an error is shouted on DEBUG_CHANNEL.
  • If item is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
p_target_desc Link number (0: unlinked, 1: root prim, >1: child prims and seated avatars) or a LINK_* flag
p_target_hover Link number (0: unlinked, 1: root prim, >1: child prims and seated avatars) or a LINK_* flag
p_item_desc a script in the inventory of the prim this script is in or a UUID of a script
p_item_hover a script in the inventory of the prim this script is in or a UUID of a script