#SL Scripting News Week 45

There is some news from the Scripting User Group. Meaning something I find interesting.

Le Tigre Oddities

The current update (week 44) running in Le Tigre is showing some scripting oddities. Most are around scripts that use the llTakeControls(). Kelly says it look like the control events are firing too often. So, if you are trying to steer a vehicle things are going awry.

Paraphrasing Kelly said something like: We put a cap on the total time the scripts for an agent can trigger. This is the time outside normal script time. When you press a key we give your scripts, that have control, an extra chance to run. This happens in ‘agent time’. To prevent abuse we added a cap per framer per agent (1ms per frame per agent). It is pretty large right now (it is adjustable and we may drop it later). Disabling scripts on a parcel only stops the script time block. The changes make it so you get at most 1 extra script run per frame.

Anything that adds more data to serialize per script is difficult. There is some potential to use a lot of script time but the recent changes on Le Tigre limit that severely.

Kelly says, “1ms is generally enough time to run ~20 scripts. More if they are ‘quick’.

SCR-37

The fix for SCR-37llGiveMoney() method needs a money_given() event handler – is in the next server maintenance release. That update should freeze and go to QA, ADITI (may be week 45), and then a release channel. So we may see it in an RC in week 46 or 47, if things go well.

IIGiveMoney() has changed some. Kelly says, “It will be llTransferLindenDollars(), which triggers a transaction_result event. The key used will match what shows in transaction history on secondlife.com if the transaction is successful. The transaction_result(key id, integer success, string message) The message is a short identifier string like INVALID_AGENT.  On success the message is a key [as] CSV <dest_id>,<amount> .

Also included will be:

  • SCR-230llSetPhysicsMaterial() fails if you don’t have modify perms.
  • SCR-147Timer event fails to trigger following heavy amounts of linked messages
  • SVC-7324Physics stalls every 20-30 seconds

llTransferInventory() is, I guess, being considered. But, Kelly says it is much more complex than llTransferLindenDollars(). He explained that llTransferLindenDollars() happens in seconds, which makes it easy to return a success or fail value to a script. llTransferInventory() is more complex because sending and accepting inventory can spread over a much longer time, possibly a day or more if a user is off line. Within that time it is very possible for a region to restart and and move to another server. Thus all scripts move with it. When a region moves to a new server it makes it very hard for the system to know where to find the script to send an acknowledgment to.

Summing It Up

Interesting things are still happening and new stuff is coming.

Leave a Reply

Your email address will not be published. Required fields are marked *