InWorldz

Where your Dreams are our Vision!

It is currently Wed May 23, 2018 1:27 am | All times are UTC - 6 hours
 Page 1 of 1 [ 8 posts ] 
Author Message
 Post subject: How Compatible are we LSL-wise?
PostPosted: Tue Oct 04, 2016 7:57 am 
User avatar

Joined: Mon Mar 09, 2015 7:14 am
Posts: 938
I'm going to start a new thread rather than derail the one that brought up this question in my mind.

To The Code Monkeys:
If you had to rate our LSL in a general overview; standard commands, all their parameters and how they all work, how compatible are we with SL LSL and Open Sim LSL. I *know* it's not 100% or all SL and Open Sim scripts would work period as-is out of the box and they do not!

So where are we in odds of a script working as-is?



_________________
Logan's Stuff And Junk http://tp2.me/LOGANSSTUFFANDJUNK
My Youtube Channel - https://www.youtube.com/channel/UC2I0Zb-io_DK1argPuo4RyA
Jesus loves you. Everybody else thinks you suck.
Offline
 Profile  
 
 Post subject: Re: How Compatible are we LSL-wise?
PostPosted: Tue Oct 04, 2016 8:58 am 
User avatar

Joined: Mon Jul 16, 2012 5:56 am
Posts: 277
Location: On chair in front of PC
A lot of the problem with Opensim scripts comes down to the problem that Opensim isn't SL compatible. Your chances of trying to get any script that uses physics (vehicles, weapons, even non-physical vehicles) working here or in SL are slim. Opensim also has a lot of its own extensions which are specific to Opensim [some of these would be nice to have here like being able to draw/print text on a texture]. Of course that's not forgetting the other problem with Opensim scripts - they aren't even Opensim compatible as over the years Opensim has changed script engines & physics engines and not all commands are enabled on all sims.


For the most part though, I've found the vast majority of "SL" scripts work here without problems. There's a few little fudges/hacks that have been used in the past in SL scripts to help with [lack of] memory management which can trip up here (myList = (myList = []) + myList + addition) and a few missing commands (llMinEventDelay* and a few others), but most work straight off the bat.



*http://wiki.secondlife.com/wiki/LlMinEventDelay - I'm not really sure what the point of that command is, anyone know?



_________________
Sometimes I look back at the indenting on my scripts and wonder if it was actually intended to be an E E Cummings poem.
Offline
 Profile  
 
 Post subject: Re: How Compatible are we LSL-wise?
PostPosted: Tue Oct 04, 2016 12:31 pm 
User avatar

Joined: Mon Mar 09, 2015 7:14 am
Posts: 938
Quit Button wrote:
*http://wiki.secondlife.com/wiki/LlMinEventDelay - I'm not really sure what the point of that command is, anyone know?


I had a look a that page and from the script on that page

"//Without the event delay set touch would cause the screen to fill
//with the word "Touched" in a split second if you held the mouse button down.'

is the reason I guess. It slows down events to keep them from instantly triggering. I'd guess it's to prevent accidental touches or collisions maybe. I'd say in the case of a collision it would prevent quick accidental brush-bys and only catch true hits.



_________________
Logan's Stuff And Junk http://tp2.me/LOGANSSTUFFANDJUNK
My Youtube Channel - https://www.youtube.com/channel/UC2I0Zb-io_DK1argPuo4RyA
Jesus loves you. Everybody else thinks you suck.
Offline
 Profile  
 
 Post subject: Re: How Compatible are we LSL-wise?
PostPosted: Tue Oct 04, 2016 1:35 pm 
User avatar

Joined: Mon Jun 07, 2010 7:07 pm
Posts: 7936
Location: Nova Scotia, Canada
I think the two largest incompatibilities with SL, at least in terms of what people ran into most frequently, were the lack of moving seated avatars (what I call avatar-as-a-prim), and lack of the llMinEventDelay function. Both are used in scripts from SL and have been around a very long time.

Our Mantis report (#323) for the avatar-as-a-prim stuff is one of our oldest.

So now, the missing llMinEventDelay function may be at the top of the "missing" list, at least in terms of frequency of being a problem for scripts brought from SL.

Other missing functionality is things like a lack of an SL-compatible llTeleportAgent function (although we have better alternatives, but that doesn't help with scripts from SL), moving_start and moving_end events not firing to scripts, and a couple of miscellaneous things like llTransferLindenDollars. There's actually a summary Mantis report that lists [url=llTransferLindenDollars]the known areas of missing functionality (#923)[/url]. You can see by the green areas of resolved reports that we've been making steady progress on these. But there are also some newer operations that aren't listed there yet at all; one that I can think of immediately is the group of operations associated with the SL "experiences" functionality (which would be a very major work item so that one will take time to see here, as there are much higher priorities). But I think that summary Mantis is a pretty good summary of where we are in general.

Bottom line is that InWorldz is mostly compatible with SL scripts, especially any of the historical scripts that isn't taking advantage of the latest features. With the avatar-as-a-prim stuff implemented, other than the couple of gotchas I mentioned above, almost all SL scripts will just run unchanged here now. And InWorldz can actually do much better than SL for things like animation systems, rental boxes, vendors etc, because it has functions like iwMakeNotecard to actually save configuration changes into data storage in the object. So no need to copy chat output from MLP or NPose into notecards, for example, if someone was to enhance those scripts specifically for InWorldz.


Offline
 Profile  
 
 Post subject: Re: How Compatible are we LSL-wise?
PostPosted: Tue Oct 04, 2016 1:41 pm 
User avatar

Joined: Mon Jun 07, 2010 7:07 pm
Posts: 7936
Location: Nova Scotia, Canada
Yes, llMinEventDelay exists to lower the processing impact on both regions and scripts. The workaround is generally to just comment out the call in InWorldz, although that will result in more events than in SL, but they have a much reduced impact in InWorldz compared to SL because we don't compile LSL to native code like SL and OpenSim does. Instead, it is compiled to a byte code that is interpreted by our very own Phlox virtual machine runtime environment. That means Phlox controls the execution of each script, and that lowers the impact of such cases.

That said, it would be nice to have llMinEventDelay implemented, although it should only be used in cases where the only events for that script are discardable (e.g. movement events), not in scripts that have other events like listen events that might be important.


Offline
 Profile  
 
 Post subject: Re: How Compatible are we LSL-wise?
PostPosted: Tue Oct 04, 2016 2:24 pm 
User avatar

Joined: Mon Jul 16, 2012 5:56 am
Posts: 277
Location: On chair in front of PC
Jim Tarber wrote:
... not in scripts that have other events like listen events that might be important.

That's why it seems a bit of an odd command to me, if it works by discarding *all* events, which according to the example on the SL wiki it does, it just seems as though it'd make objects seem poorly scripted or laggy as they'd fail to respond.

LoganStargazer wrote:
I'd say in the case of a collision it would prevent quick accidental brush-bys and only catch true hits.

if used as show in the example, it'd completely fail to register a lot of collisions.



_________________
Sometimes I look back at the indenting on my scripts and wonder if it was actually intended to be an E E Cummings poem.
Offline
 Profile  
 
 Post subject: Re: How Compatible are we LSL-wise?
PostPosted: Tue Oct 04, 2016 4:34 pm 
User avatar

Joined: Mon Jun 07, 2010 7:07 pm
Posts: 7936
Location: Nova Scotia, Canada
Quit Button wrote:
Jim Tarber wrote:
... not in scripts that have other events like listen events that might be important.

That's why it seems a bit of an odd command to me, if it works by discarding *all* events, which according to the example on the SL wiki it does, it just seems as though it'd make objects seem poorly scripted or laggy as they'd fail to respond.
Yeah it's of limited use, primarily in cases where perhaps there are multiple scripts in a prim, or single-minded scripts that are only interested in one type of event (which can be discardable). But collisions are actually one of those examples where a script might want to know if there are any collisions in the last second or whatever, not catch every one. It's mostly for the main <event> events (like touch), not the <event>_start or <event>_end events (like touch_start and/or touch_end). A script that needs to catch <event>_end probably shouldn't call llMinEventDelay at all because it could lead to loss of that event.


Offline
 Profile  
 
 Post subject: Re: How Compatible are we LSL-wise?
PostPosted: Tue Oct 04, 2016 11:07 pm 
User avatar

Joined: Fri Jul 29, 2011 2:10 pm
Posts: 3989
Location: France
This is probably for events like touch or collision or land_collision, which trigger dozens of times per second, as long as the situation is happening. In this case the script indeed does not need to catch all of them, and throttling down these events saves lag. But most of the time we just need the start or end variant, which trigger only once (sometimes two times, and this can arise problems)



_________________
Elfs are in virtual worlds to share a vision of a wonderful life :-)
Elven bards and storytellers
"Elf Dream" for Elf living
"Shedrupling University" science
YichTrains Elven Works Lysaer Gortax Robots
Offline
 Profile  
 
Display posts from previous:  Sort by  
 Page 1 of 1 [ 8 posts ] 


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  

Site Navigation