Difference between revisions of "LlRemoteLoadScriptPin"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 1: Line 1:
{{LSL_Function/prim|target|sim=*}}{{LSL_Function/inventory|name|uuid=false|type=script}}{{Issues/SVC-3321}}
{{LSL_Function/give|target|name|sim=*|uuid=false|type=script}}{{Issues/SVC-3321}}
{{LSL_Function
{{LSL_Function
|func_id=253|func_sleep=3.0|func_energy=10.0
|func_id=253|func_sleep=3.0|func_energy=10.0
Line 19: Line 19:
* If '''target''' is invalid then "Unable to add item!" is shouted on [[DEBUG_CHANNEL]]. '''target''' is invalid when...
* If '''target''' is invalid then "Unable to add item!" is shouted on [[DEBUG_CHANNEL]]. '''target''' is invalid when...
** it equals the value returned by [[llGetKey]].
** it equals the value returned by [[llGetKey]].
* In SL 1.25.4 this function will not copy/move any script into an attachment unless the script is full perm. ([https://jira.secondlife.com/browse/SVC-3725 SVC-3725])
** SL 1.25.5 will allow this function to copy/move a script into an attachment so long as the target has matching (or more restrictive) copy and transfer permissions. ([https://jira.secondlife.com/browse/SVC-3738 SVC-3738])
*In case the object containing the script with llRemoteLoadScriptPin() is deeded to a group, the script which is supposed to be transfered needs transfer permissions even when it's supposed to be transfered to another object which is deeded to the same group.
*In case the object containing the script with llRemoteLoadScriptPin() is deeded to a group, the script which is supposed to be transfered needs transfer permissions even when it's supposed to be transfered to another object which is deeded to the same group.
|constants
|constants
Line 39: Line 37:
|also_events
|also_events
|also_articles
|also_articles
|history=
* Added in 1.2.6
* In SL 1.25.4 this function will not copy/move any script into an attachment unless the script is full perm. ([https://jira.secondlife.com/browse/SVC-3725 SVC-3725])
* SL 1.25.5 will allow this function to copy/move a script into an attachment so long as the target has matching (or more restrictive) copy and transfer permissions. ([https://jira.secondlife.com/browse/SVC-3738 SVC-3738])
|notes
|notes
|cat1=Script
|cat1=Script

Revision as of 07:11, 13 May 2009

Summary

Function: llRemoteLoadScriptPin( key target, string name, integer pin, integer running, integer start_param );

Copy script name into target and if running start with start_param.

• key target avatar or prim UUID that is in the same region
• string name a script in the inventory of the prim this script is in
• integer pin Must match pin set by llSetRemoteScriptAccessPin
• integer running boolean, if the script is to be set as running.
• integer start_param value returned by llGetStartParameter in the target script.

Only works if the owner of the object this script is in can modify target.

Caveats

  • This function causes the script to sleep for 3.0 seconds.
  • If target is not the owner nor shares the same owner, and name does not have transfer permissions, an error is shouted on DEBUG_CHANNEL.
  • If name 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.
  • 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 name is missing from the prim's inventory or it is not a script then an error is shouted on DEBUG_CHANNEL.
  • If name is present in the target prim's inventory then it is silently replaced.
  • start_param only lasts until the script is reset.
  • If target is an attachment owned by a different user, regardless of object modify rights granted, this function will silently (bug?) fail.[1]
  • If pin fails to match, the error "Task ~Prim~ trying to illegally load script onto task ~Other_Prim~!" is shouted on DEBUG_CHANNEL. "~Prim~" and "~Other_Prim~" are substituted with the applicable prim names.
  • If target is invalid then "Unable to add item!" is shouted on DEBUG_CHANNEL. target is invalid when...
    • it equals the value returned by llGetKey.
  • In case the object containing the script with llRemoteLoadScriptPin() is deeded to a group, the script which is supposed to be transfered needs transfer permissions even when it's supposed to be transfered to another object which is deeded to the same group.

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   stack trace error while running scripts after llRemoteLoadScriptPin

Examples

<lsl>//Child Prim PIN setter integer PIN=1341134;

default { state_entry() {

       llOwnerSay(llGetObjectName()+" : "+(string)llGetKey()+" is ready to accept a describer script using the agreed upon PIN.");
       llSetRemoteScriptAccessPin(PIN);
   }
}</lsl>

See Also

Functions

•  llSetRemoteScriptAccessPin Used to setup a prim for remote loading

Deep Notes

History

  • Added in 1.2.6
  • In SL 1.25.4 this function will not copy/move any script into an attachment unless the script is full perm. (SVC-3725)
  • SL 1.25.5 will allow this function to copy/move a script into an attachment so long as the target has matching (or more restrictive) copy and transfer permissions. (SVC-3738)

All Issues

~ Search JIRA for related Issues
   stack trace error while running scripts after llRemoteLoadScriptPin

Footnotes

  1. ^ Attachments can only be modified by their owner.

Signature

function void llRemoteLoadScriptPin( key target, string name, integer pin, integer running, integer start_param );