Wanted: your top 5 ways to improve scripting
|
Ben Bacon
Registered User
Join date: 14 Jul 2005
Posts: 809
|
12-11-2005 00:35
Agreed, Argent - Another thing for everyone to remember is that Mono really just means that you can change the raw language in which you code. It is the "SL API" that determines what we can or can't do. If under the Mono framework we still have only the existing stuff (like llSetRot), but we don't get things like secondlife.avatar.attachToAvatar, then we haven't gained much.
Personally, I think the way LSL is designed and built around states and events, makes it the ideal language to continue with.
|
Ralph Doctorow
Registered User
Join date: 16 Oct 2005
Posts: 560
|
My list
12-12-2005 09:10
Not in order. 1. Pass by reference - I'd love some kind of structs or objects. 2. More options for command input, llDialog is a great start, but more flexibility and UI options (eye candy). 3. Much better performancs/load metrics readable by the scripts so we can see how piggy we're being. 4. External callable libraries, even if they are in linked objects, so there's only one copy of the code. 5. External compiler for offline development.
|
Ralph Doctorow
Registered User
Join date: 16 Oct 2005
Posts: 560
|
Why would Mono change the scheduler?
12-12-2005 09:27
From: Argent Stonecutter Consider. If you write an infinite loop in LSL, the LSL runtime can break it and give someone else time because the loop code is aware of what it's doing. If you write an infinite loop in Mono, it's going to run until the next interrupt.
I don't see this as a problem unless SL uses cooperative multitasking which seems extremely unlikely. The task scheduler shouldn't care what runtime is being used, when a task runs out of timeslice, the list of runnable tasks is rescanned and the next one gets scheduled and run. There's always clock ticks interupts running so the scheduler can keep a single task from hogging the whole system.
|
Gornemant Aleixandre
Registered User
Join date: 23 Sep 2005
Posts: 10
|
12-13-2005 02:52
I've been toying around with the scripts for about 1 day or two now, and I can only say that I was amazed by the flaws of this language....
I can't believe these were already asked 2 years ago and aren't yet in.... 1. arrays (multidimensional array support included) I've checked the forums for the list workaround... duct tape and bubblegum to keep the pieces together anyone? Not even to mention the horrific amount of memory needed for that. 2. switch/case statements 3. user defined data structures
and for fun 4. Byte type (0-255), less memory usage anyone? 5. error handling events 6. assign keys on the keyboard for personal use, the default keys are just not enought or badly placed >.>
see you in 2 years for the exact same requests?
|
Margot Abattoir
Senior Member
Join date: 15 Jul 2004
Posts: 234
|
yes...
12-13-2005 05:46
have the Linden Lab employees know how to 
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
12-14-2005 05:25
From: Ralph Doctorow I don't see this as a problem unless SL uses cooperative multitasking which seems extremely unlikely. Actually, that's extremely common for this kind of environment where you're getting real-time behaviur out of a non-real-time OS. I actually find it unlikely that every script is running as a separate OS-level thread. You have tens of thousands of active scripts on some sims, and they're scheduled by SL... not by Linux: if they were scheduled by Linux the "new script scheduler" that people are complaining about wouldn't be possible, you just don't have that kind of fine control over the Linux scheduler. If they're not using cooperative multitasking then I'm professionally interested in knowing how they're doing it.
|
Ralph Doctorow
Registered User
Join date: 16 Oct 2005
Posts: 560
|
Hmmm, yes I see what you mean
12-15-2005 09:25
From: Argent Stonecutter Actually, that's extremely common for this kind of environment where you're getting real-time behaviur out of a non-real-time OS. Right, that makes sense.
|
Aislin Wallaby
Registered User
Join date: 4 Mar 2005
Posts: 27
|
Option to cascade object permissions
12-15-2005 11:50
This is probably only relevant for those of us who do group projects, but have the option on a prim so that you can cascade it's permissions to all of the items in its inventory (especially scripts), that way we don't keep accidentally running into the problem where a group deeded object has uneditable scripts even though the object's perms were set appropriately. I say this as an option since there are many instances where an object once transferred needs to have modify permissions, but the scripts shouldn't be seen (i.e. selling avatar attachments, etc.)
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
12-16-2005 07:55
After reading more of what Babbage has written about the way they're implementing Mono, it looks like I'll have to partially retract that comment.
If they just use it for LSL, where they control the compiler, they can get the LSL translation to put in all the necessary checks to maintain the same semantics they have now without having to load the runtime down with lots of unnecessary checks.
I don't anticipate them opening up to random Mono uploads from resis, at least not for very long. Because they'll need to either add checks on EVERY generated backwards branch, or put up with massive script lag from buggy code.
|
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
|
12-16-2005 16:09
From: Argent Stonecutter After reading more of what Babbage has written about the way they're implementing Mono Where can I read this? I've always been curious about the "Once Mono is here, you can code in any language you want" thing. What happens to OS calls? The LSL "OS" doesn't have any features that most RTOS' have, so if I took a C program that made mutex and malloc calls, how would that run in SL? How would state transitions be handled in the syntax of this "whatever language we want to program in"? Those are just two examples.
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
12-17-2005 18:32
From: Ziggy Puff Where can I read this? Messages in the forums, mostly. It sounds like they're mainly concentrating on using Mono to make LSL faster.
|
Graiser Lightworker
Registered User
Join date: 13 Dec 2005
Posts: 38
|
12-19-2005 18:49
Oh, heck. If I said something someone else said, count it as a vote. better documentation of the existing functions. One line doesn't say much unless you already are familiar with the function. This would help those of us learning the language.
Case would be nice too. /vote It seems you could do it cleaner, and more efficiently at the compiler than I could with a set of nested together if-then-else statements.
How about... How about giving scripts two low level options. Persistant and when present. Persistant can work as I assume it works now. No matter if someone is present or not, it has a bit of server time. when present could only be called up when someone is present to benefit. If you distribute the load of the scripting across multiple sims, and one sim might have fewer running scripts because no one is present, this seems like a good thing.
BTW....GOTO statements?!?
|
Fidelio Matador
Registered User
Join date: 13 Mar 2005
Posts: 9
|
12-29-2005 16:12
My turn  1. Documentation (written by the folks who designed and implemented LSL) and organized sell enough that the several people who posted in this thread about email without realizing the facility existed would have seen same in the documentation  2. Ability to read/write notecards - critical escape for limited internal storage 3. Function to test whether an agent is a *member* of a given group (rather than whether the agent has a given group active) - critical for access control systems 4. Ability to pass inventory to an object across sim boundaries given its UUID 5. Function to return the UUID for an agent/avatar given its name. And LL problems that impact usefulness of scripted systems: 6. Remove the present filter on email incoming to LL which rejects messages that Bcc: objects' UUID based addresses. 7. Make Estate Ban actually work - presently, all it does is to prevent teleportation to the estate; if a person *walks in* from an adjacent estate, nothing whatsoever happens to him.
|
Bri Koolhaas
Registered User
Join date: 21 Dec 2004
Posts: 48
|
12-29-2005 16:21
look At The Start Date Of This And All Threads Before Posting....sheesh
|
Loniki Loudon
Homes By Loniki
Join date: 5 Dec 2005
Posts: 176
|
Scripting
01-11-2006 10:07
The only thing I can come up with in scripting is perhaps an intuitive out of game interface that guides a person along in writing a script and takes care of the syntax problems and lets you know in plain language what exactly is happening. Make it real simple and modular. Then have it spit out the script in a form that can be imported.
Then just charge the usual 10L to import the script into the game for use.
|
Farfletched Ixchel
Registered User
Join date: 16 Dec 2005
Posts: 11
|
Scripting Improvements
01-11-2006 10:30
I could make a big wish list, but a lot of it will probably arrive with the advent of mono.
However, in the interim, the two biggest boons I'd require would be some in-world documentation that included a small example (using cast literals in the examples where possible) of each function, as well as a brief on its use; and I'd like to see a search and replace feature in the editor.
Other than that, my wishes all center on inventory management and building interface.
Thanks for one hell of a good time in the best virtual world I've ever had the pleasure of tripping through.
With Regards, Farfletched Ixchel
|
Farfletched Ixchel
Registered User
Join date: 16 Dec 2005
Posts: 11
|
LoL Dead Thread
01-11-2006 10:31
Well if anybody's looking, those are still things I'd like to see 
|
ziphren Moonflower
Future Full-Time Resident
Join date: 31 Oct 2003
Posts: 94
|
beating a dead horse
01-12-2006 01:15
1) object to object communication 2) notecard writing.. 3) more array functions etc. like those described above that's about all I can think of 
|
Tsu Goodliffe
Registered User
Join date: 23 Dec 2005
Posts: 86
|
01-12-2006 08:38
Not sure if these where mentioned or not, don't jump me ether about what I request, this is just from my exprince, and i'm very very new at this and I have many disabilitys that cause me from understanding this stuff easyer so that doesn't help, but someone was teaching me about scripting and all. So what I would like to see is these things.
<>Firstly, A Better Interface, its hard for some of us to work in this size of a window thats mostly fades when accedently clicking on something else, and the the object being highlighted when working with a script is so annoyying it makes a persno want to do this not on SL.
<>this isn't a script request but I wish for this to be done if possiable, I'd like to see the SL editor and if possiable the compiler as a option to download so a person don't have to be loged onto seocond life and can pritace out side of seocond life, I get so many group pop ups when i'm scripting it becomes annoyying, and plus second life can be laggy at times, so I'd like to be able to use second lifes scripting editor on my pc without having to be loged on
<>a way to makes more simpler and maybe when you make a error in the script and cick on save it will point out by highlighting the section that is causeing the error and provide more in depth detail about what you did wrong! I would be greatly pleased to see this add'd and I bet alot of others would be also.
<>a way to make a rolling, (what ever way the avatar is walking direction) for objects like ball's that you can get inside of and it will roll in what ever direction the avatar walks in by actully like irl movement. I know its possable. I don't this its been add'd into the editor to be done yet not sure.
<>a obtion to allow you set you'r friends names in and bring up a menu and set specail notes and stuff and contact them via by useing a object ect, don't know if this aready created or not.
Sorry if I have said or requested anything that was aready mentioned, thankyou. Sincelly; tsu
|
Siggy Romulus
DILLIGAF
Join date: 22 Sep 2003
Posts: 5,711
|
01-12-2006 15:20
Looks like the good ones have been covered so:
A method of object to object coms TRANS WORLD other than email.. sending and returning emails to talk to other sims just seem wastefull to me - your milage may vary.
_____________________
The Second Life forums are living proof as to why it's illegal for people to have sex with farm animals. From: Jesse Linden I, for one, am highly un-helped by this thread
|
Fiona Fielding
Registered User
Join date: 21 Jun 2005
Posts: 24
|
01-13-2006 07:39
I'ld sell my soul for arrays, switch/case and block comments.
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
01-14-2006 10:07
I'd be happy with the ability to operate on a list without copying the list.
Even Tcl, which is a pure macro language with every operation performed in terms of strings, makes list copies and substitutions a special case so that list assignments are efficient.
That is, if you call lreplace on a list, it just modifies pointers and reference counts on the list elements actually being replaced. It doesn't copy the whole list.
|
Graiser Lightworker
Registered User
Join date: 13 Dec 2005
Posts: 38
|
Stand-alone editor/interpreter
01-15-2006 04:07
A one-machine, (windows or linux) severly crippled version of Second Life, for the development and testing of scripts off-line.
|
Keknehv Psaltery
Hacker
Join date: 11 Apr 2005
Posts: 1,185
|
01-15-2006 16:08
From: Graiser Lightworker A one-machine, (windows or linux) severly crippled version of Second Life, for the development and testing of scripts off-line. This has been discussed many times before. I highly doubt it will ever happen-- more important things like arrays (di immortales, we STILL don't have arrays) and Mono take precedence. By the way, how long until we all get Mono? (Sorry, bad joke)
|
Ben Bacon
Registered User
Join date: 14 Jul 2005
Posts: 809
|
01-16-2006 04:05
From: Keknehv Psaltery By the way, how long until we all get Mono? (Sorry, bad joke) ummmm after Havok2 but before Generalised Texture Layers 
|