Animation Overrider Scripting Information

Kelly Linden gave us some more information about the new animation functions added to the scripting language.

Kelly said, “The server has supported overriding animations for over a year. The missing piece was the LSL calls and a couple bug fixes. It is expected that once overridden they would continue to be overridden on older servers.”

This means this was something started some time ago. Those old changes have been in place for some time. So, if one overrides an animation in one of the Release Candidate channels, the override should work across ALL servers. It is only the script that has to have the new server code to work. This is the behavior Amber Murfin discovered and commented about.

Kelly also told us the new override functions do not allow setting by UUID. They must be set by a string constant, read that to mean an animation file’s name. The reason for this reveals some possible future plans of the Lab. Kelly says he originally planned to use integer ID’s to handle the state names. But, others in the Lab wanted a more flexible system that would allow additions or changes and possibly and update of the state machine.

Continue reading

New AO Stuff 2013-14

The new server side of the New Animation Overrider functions is scheduled to roll out to the Blue Steel and Le Tigre Release Wednesday. The only viewer that has added the AO functions, AFAIK, is Niran’s Beta 2.1.6 (2600).

The functions will only work if you are in a Blue Steel or Le Tigre channel region.

As far as I know Niran’s viewer does not have a built in AO. He only added the functions to the script editor. So, you get syntax highlighting. But, you can use the viewer to write test scripts. You just have to be in a Blue Steel or Le Tigre region.

Second Life Scripting Changes

We don’t hear much about changes to the Linden Scripting Language (LSL) these days. But, today is different. We got a bunch of stuff. Exciting stuff!

Server Beta Meeting 2013-12

Server Beta Meeting 2013-12

At the Server Beta meeting Kelly and Maestro Linden were announcing several new changes.

Particles

There are changes coming to the Particle System in Second Life™.  Maestro Linden said, “Alright, so there’s an upcoming server maintenance project, which will probably go to RC next week it has your usual bug fixes, but it also includes goodies for new LSL features.”

Continue reading

Breaking Second Life AO News

At the Server Beta meeting Kelly and Maestro Linden just announced the addition of two new Linden Scripting Language (LSL) functions that will allow script-less Animation Overriding (AO).

llSetAnimationOverride(“Walking”, “sassywalk”)  – where Walking = default animation state and sassywalk = the animation to use for that state.

llGetAnimationOverride(string anim_state) – Get the name of the animation currently set for state.

More to come…

These will soon be running on the ADITI grid and moving to RC channels…

#SL Best Practices

Jeremy Linden has been working on the Second Life(TM) wiki, the Best Practices for building, mesh, animation, and more. Check out the main page: Good Building Practices.

 

Revised Wiki Page

This page covers all the aspects of building or making just about anything in Second Life. If you are building with mesh, check this out. It covers several aspects of reducing Land Impact costs.

I would say the place is being spruced up for the coming entry into Steam. Whatever, it is nice to the wiki updating.

ALERT: Le Tigre HTTPRequest Change

This change could be a problem. Kelly Linden tells us that cURL has changed and that is going to affect HTTPRequest calls coming from Linden Scripting Language (LSL).

Here is the deal. cURL is a communications and security process used by Second Life™. The cURL process has always added a no-cache parameter to all HTTP requests passing through it. In a recent update, which is now on Le Tigre, that changed. A no-cache parameter is not added. This means those using 3rd party servers to implement their breedables and other tasks may run into problems. They will have to change their queries to use HTTP_CUSTOM_HEADER in their requests.

If you have breedables or frinds that do, contact the maker or your friends and send them to this post.

Continue reading

Scripting & Server News Week 42

For the release candidate on Le Tigre we have some new information that comes from the wiki release notes just recently updated. Some of those are:

Havok Update

The Havok Physics Engine updates to version 2012.1 in the release candidate. In week 35 I reported that this version was coming. At the time we had just updated to 2010.x, I think. This update enables Havok’s terrain optimized that simplifies the physics shape of the terrain for improved performance. This feature can be disabled by region owners and estate managers with the Region Debug Console command “set optimize_terrain false“.

Havok Physics

Some are reporting vehicle crossing are slower.

llGetSimStats

llGetSimStats() has yet to show up in the Linden Scripting Language (LSL)  pages of the wiki. Fortunately the release notes say:

Currently, this function accepts only [[SIM_STAT_PCT_CHARS_STEPPED]] as its parameter, which returns the % of Pathfinding characters skipped each frame, averaged over the last minute.  The returned value corresponds to the “Characters Updated” stat in the viewer’s Statistics Bar.

Continue reading

Pathfinding Events Change

About the 6th of September Maestro Linden updated the Pathfinding Events. See the Wiki page: Event path_update. I hadn’t looked at the page for some time. So, I had not noticed until now.

Events are triggers for scripts. They are sort of thing that says: this just happened. You then have a chance to have the script do something in response. The Pathfinding events now include these things:

  1. PU_SLOWDOWN_DISTANCE_REACHED
  2. PU_GOAL_REACHED
  3. PU_FAILURE_INVALID_START
  4. PU_FAILURE_INVALID_GOAL
  5. PU_FAILURE_UNREACHABLE
  6. PU_FAILURE_TARGET_GONE
  7. PU_FAILURE_NO_VALID_DESTINATION
  8. PU_EVADE_HIDDEN
  9. PU_EVADE_SPOTTED
  10. PU_FAILURE_NO_NAVMESH
  11. PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED
  12. PU_FAILURE_PARCEL_UNREACHABLE
  13. PU_FAILURE_OTHER

The green items are new.

Being able to detect when a region has disabled Pathfinding allows the scripter to move the character out of the area and restart it. That will stop PF Characters from piling up at the borders of disabled regions.

When I looked at the page the links from these items had not been added yet. So, we don’t have detailed information on each event. For instance at what distance does PU_SLOWDOWN_DISTANCE_REACHED trigger? Can one set the distance?

Eventually the pages will get written and appear. Until then we’ll just have to go with the short descriptions provided on the path_update page.