Main Channel
This week the code from Le Tigre/Magnum rolled to the main channel. This is a server maintenance pack. It includes the LSL function llTransferLindenDollars(). The thread that links to is now about 5 pages long. The details of the function are:
- New LSL function: key llTransferLindenDollars(key id, integer amount)
- Attempt to transfer amount of L$ from the owner of the object to ‘id’. Requires PERMISSION_DEBIT. Returns a key used in a matching transaction_result event for the success or failure of the transfer.
- New LSL event: transaction_result(key id, integer success, string data) This event is triggered from an llTransfer* call (currently only llTransferLindenDollars).
- id: matches the return value of the llTransfer call and if the transaction was a success will match the ‘transaction id’ shown in transaction history on secondlife.com
- success: TRUE if the transfer succeeded otherwise FALSE.
- data: On successful transactions will contain a CSV of destination ID and amount transferred. In failure cases it will contain an error tag on failure.
- Error Tags for llTransferLindenDollars:
- LINDENDOLLAR_ENTITYDOESNOTEXIST – The destination UUID is not a valid agent.
- LINDENDOLLAR_INSUFFICIENTFUNDS – The source agent does not have enough L$ for the transfer
- INVALID_AGENT – Destination agent is not a valid UUID
- INVALID_AMOUNT – Amount is <= 0
- THROTTLED – The scripted L$ throttle was hit for this object owner.
- MISSING_PERMISSION_DEBIT – The script does not have debit permission
- GROUP_OWNED – The object is group owned and thus can’t give money
- TRANSFERS_DISABLED – L$ transfers are disabled in the region
- EXPIRED – The simulator timed out waiting for a response from the back-end service.
- SERVICE_ERROR – There was an error connecting to the back-end service
Also added in this release is the function: SCR-31 llGetParcelMusicURL().
There are also 12 bug fixes included that are itemized in the server release notes.
Blue Steel
This release channel had the voice diagnostics. It will continue to run in Blue Steel and be added to Le Tigre and Magnum as we are going into a no-change-window.
Le Tigre & Magnum
These channels get the Blue Steel code with voice diagnostics.
No Change Window
These are the last code roll outs until January. Through the holidays code will be static. However, the kernel upgrades will continue. Region restarts will also continue.
The next user group meeting for 12/23 is canceled. None of the Lindens will be around that day. It looks like the 12/30 meeting will also be canceled too.
llSetRegionPos()
This function has been talked about for some time and I’ve covered it in the some of the recent posts here. Simon Linden tells us that it will appear on a release channel in January. Simon built in the ability for this function to move an object 10m into an adjacent region. I think for now that means the 4 regions to the North, East, West, and South. We have new 8 region code coming, so may be this will one day soon include all 8 neighboring regions.
The function returns an integer. One, if the function completes within 0.1 meter of the target. The limits are from the ground up to 4,096m elevation. The upper limit is due to the loss of mathematical precision.
There is a very short sleep that assures the function stops the scripts for the frame. This assures the object reaches the destination before there is another move.
This function is supposed to be the replacement for the broken posJump() subroutine.
llGetEnv()
This function gets a new parameter: frame_number. It returns a number that starts at 0 when the region starts, and goes up by 45 or so every second.
SVC-7415
SVC-7415 – llSetKeyframedMotion skipping position distance worst over given time. Simon did some work on this JIRA item. He says, the times given to llSetKeyframedMotion() will be truncated to an even frame time. It’s an internal counter on the simulator — one for each simulation frame, uptime without lag factored in. If you want to measure something and take time dilation into account, it should be easier to use than trying to juggle fps and time dilation. After 1 year, 187 days with no lag it will roll over and go negative.
Summary
So far the week’s roll out seems to have gone reasonably well.
While we won’t see changes for the next two weeks, Lindens are still working. Code is still being written and tested, just not in the AGNI grid. We should have a little burst of new code in January. We may also start to hear some plans for the new year… or not.