New #SL Feature llTransferLindenDollars

Today Kelly Linden posted about a new function added to the Linden Scripting Language:  llTransferLindenDollars(). The highlight of the feature is its ability to return the transaction result. You will know if they got the money, refused it, or whether it failed. See: Upcoming LSL feature: llTransferLindenDollars and transction_result This function is currently in testing on the … Read more

#SL Scripting News Week 46

This week Kelly Linden’s Scripting meeting covered a couple of interesting things.

Region Crossings

The server update with the region crossing infrastructure improvements did not make it to the main grid because of problems, something with vehicle crossing issues. Check the Server news later this week.

llSetKeyframedMotion( list keyframes, list options );

This function has run into some use problems. It seems there is some problem moving numeric data between SL and Havok that results in serious numeric round off errors. The problem causes objects being moved to drift out of the intended position.

See llSetKeframedMotion() for the scripting details.

Read more

#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’.

Read more

#SL Scripting News Week 43

There was an informative discussion in the Scripting Group. The scripting group’s general discussion meetings are good meetings for advanced LSL programmers to attend.

Operators Precedence

If you don’t understand precedence, sorry Google for an explanation. (LSL Precedence) It was brought up that the operators || and && should have equal precedence. Kelly Linden conformed that they are not equal.

Estate Owners Access List

The update running on the release channels will likely make it to the main channel this week. This will give residents the ability to use the new LSL functions discussed in the Server Update News here. ( llManageEstateAccess(integer action, key id) ).

The idea behind this function is it will make it easier for estate managers to manage ban lists.

Read more

#SL Server Update News Week 40

The main channel got the Le Tigre code Tuesday. The Critical Operating System (COS) updates are being made to the main grid. It is not possible to know which regions are running on COS updates. The COS is an upgrade to Linux. So, it is matched to the hardware not a region. As regions restart they may move to different hardware.  More about that further along.

Server Beta User Group

llCastRay

This new function was enabled in Le Tigre last week. The code has been rolled to the main channel this week. I am assuming it is now enabled across the main grid.

Read more

llSetKeyFramedAnimation

It’s official now. Oskar announced it for Falcon…  see the official post here: Keyframing now available on ADITI. The function name is confusing. Falcon posted late Monday that he was thinking of changing the function name to:  llSetKeyframedMotion, which would probably be a good idea. If you follow the blog you’ve already read about this … Read more

#SL Scripting Update Week 37

Today was a discussion day in the group. Kelly had no news. A couple of interesting things came up.

llCastRay()

Many people are waiting for this feature to come to the main grid. Several things have delayed its arrival. It is now up in the ADITI grid in DRTSIM-92. The code running there is the next server maintenance project. It should move to a Release Channel this week. DRTSIM-92 has SVC-34 fix in it and llCastRay().

SVC-34 is the bug that lets people stop vehicles. And SCR-53 – llSensorRepeat not triggering no_sensor unless a sensor event handler is present. Also llGetMassMKS() is included. (MKS = Meter, Kilogram, Seconds)

The current release channel with DRTSIM-91 should roll to the main grid. It has the fixes for llSetMemoryLimit and PRIM_LINK_TARGET.

Read more

#SL Scripting Update Week 34

The Scripting Maintenance Release rolled to the main grid last week. Kelly Linden tells us the release is doing well. See #SL Scripting Update Week 33 for the details of that release.

Now that the Scripting Release is out Kelly is finishing up any tweaks to it and preparing to move on to Server Maintenance. There are some glitches to fix but all does seem to be going well.

PRIM_LINK_TARGET

This is not working as expected when used in any prim other than the root prim. I think the JIRA is SCR-162.

Repeating Parameters

When one uses llSetPrimParams() there are a number of parameters that have to be used with each call using PRIM_LINK_TARGET or the call fails. This can get repetitively tedious. While it would be nice to have the function only change the values used, Kelly thinks adding that feature would get complex. Plan to be repeating the parameters for some time to come.

Read more