Skip to content

Autoscript Creates LSL Scripts Without Code

This week, I created autoscript, a simple LSL script generator for Second Life. The concept is to translate the way you think about interactive design - what should happen, and when - into functional code.

Scripting is one of the most creative parts of designing immersive spaces, and I hope this will make it accessible to more people. Please feel free to use this code however you like!

Writing a program like this requires a balance between simplicity and flexibility, and I’m erring on the side of the former. I do plan to add more functionality to it and would love your suggestions and ideas! Also, if you encounter anything that doesn’t work, please let me know in the comments here.

The link: autoscript

Related posts

{ 73 } Comments

  1. Graham Mills | September 2, 2007 at 3:51 pm | Permalink

    Thanks a lot for this. There is a small bug in the code generated for the rez object on touch option (an unwanted closing parenthesis).

  2. Hilary | September 2, 2007 at 8:03 pm | Permalink

    Thanks Graham… it’s fixed!

  3. Kyle | September 4, 2007 at 12:23 pm | Permalink

    this is insanely awesome, nice job!

  4. Ellie Brewster | September 4, 2007 at 4:05 pm | Permalink

    I’ve got an idea — how about adding “play a sound” in the first column?

    Thanks again, Hilary!

  5. Graham Mills | September 4, 2007 at 4:27 pm | Permalink

    Maybe add a link to the relevant page(s) on lslwiki.net for those wanting to take it further?

  6. Roberto | September 5, 2007 at 7:33 pm | Permalink

    Thank you for creating this tool it is very cool!

  7. JanOS Otzuaum | September 6, 2007 at 8:29 am | Permalink

    Yeah! great Job!

    Congratulations

  8. !van | September 6, 2007 at 11:18 am | Permalink

    hey very nice !!!

    its very basic but it can be veeeery useful for ppl who dont know scripting

    and for newbie ; )

    keep on !!! and good luck

    add more things ! try with linked messages

    and maybe u can add ..comunications between 2 objects ..on minus channel. then u can give automaticly 2 script wich will talk on -n or something it will be useful for ppl

    btw sorry for my “perfect” language

    cheers ;)

  9. Hilary | September 8, 2007 at 12:11 am | Permalink

    Thanks, everyone!

    Sound is up, along with some object movement code. I found some spam on lslwiki.net, so I’ll wait until it’s cleared up to add links.

    I’m working on perfecting one script before moving on to two! I might add a “use a switch” event that allows two scripted objects to communicate, with one activating the other. Would that work?

  10. !van | September 8, 2007 at 8:44 am | Permalink

    sure that would be nice,

    becouse ppl ask me almoust for “how can i on touch change color on other object
    or something :) so i brake my head to explain how to make it with linked message or with channels :)

    and at the end i give the script and say just put THIS in one and THIS in another object ..link them and thats it :)

  11. Torley | September 11, 2007 at 9:33 am | Permalink

    I just found out about this from Patsy Linden. Sounds pretty kewl thus far, I hope to try it out the next time I need some “casual scripts” to get things done.

    Thanks for doing this! It’s a kind of “I’m surprised it wasn’t done earlier” but I sure am glad it has!

  12. Saijanai Kuhn | September 13, 2007 at 12:36 am | Permalink

    Very nice. I’m working on a script library for SL that lives within the client itself. Your script generator would be an interesting panel to use instead/in addition to.

    Give me an IM in world, or email me at LEnglish5@cox.net

  13. Dvora Tardis | September 16, 2007 at 1:37 pm | Permalink

    Looks pretty handy. Any chance we can cause more than one effect at a time? I.e. if touched, then “hand out two things and change colour and play a sound”?

  14. Soujanya | September 17, 2007 at 8:03 pm | Permalink

    this is really cool way to learn!

  15. Jazzman Jibilla | September 21, 2007 at 11:24 am | Permalink

    Weee…thanks Ann, I have managed, with much help, to gain an understanding of particle scripts and was just moving onto to “movement” when I found this site.. Thank you thank you thank you this goes a loooong way to making it clear in my mind what certain things do.
    Ta muchly

  16. Beatrice Boisblanc | September 22, 2007 at 11:01 am | Permalink

    Congrats Ann! And greetings from germany - what a perfect help for scripting-beginners like me… will tell all my friends! Kisses from Beatrice!

  17. Nuschi | September 22, 2007 at 12:28 pm | Permalink

    thank you!
    just added the site to our link-list!

    maybe you could add a script that allows to seat eight persons in a moving bus? 4 is the max. so far…
    :-)

  18. Abba Thiebaud | September 24, 2007 at 12:11 am | Permalink

    Problem ID’d in your prefab scripting.

    Repro:

    Click “Say something in chat” (wootadonga)
    Type in saying in box.
    Click say it normally.
    Click “When someone says something” (bleepys)
    Click Public chat.
    Type in specific saying in box.

    Returns:

    // This script was auto-generated by Ann Enigma’s script autogenerator
    // available at http://www.3greeneggs.com/autoscript/

    default
    {

    state_entry() {
    llListen(0,”", NULL_KEY, “”);
    }

    listen(integer channel, string name, key id, string message) {
    if (message == “bleepys”) {

    // speak out loud!
    llSay(0,”bleepys”);

    }
    }

    }

    Thereby (not tested) creating an endless loop, perhaps?

  19. Hilary | September 24, 2007 at 11:52 am | Permalink

    Abba, thanks for the comment — that one goes under “user error”.

    This program helps people write programs… it doesn’t keep them from writing stupid ones. :-)

  20. Amanda Ascot | September 24, 2007 at 2:59 pm | Permalink

    *chuckles* Nice catch, Abba. I’m going to have to test that one, but I think it might not actually create an endless loop. While the program is spitting out the chat I don’t think it’s simultaneously listening for it, so once it gets back to listening the chat has already happened. Now, put two of them side by side and all bets are off. It will be an interesting experiment, though.

    Very cool program, Hilary, and I’m with Torley on this one. It’s hard to believe nobody has done it before. A few suggestions:

    “Say something in chat” should give the option of using a channel other than public chat.
    “Change the object’s color” should give the option of using RGB values, or at least give additional colors (cyan, magenta, and yellow come to mind).
    “Create hovering text” should have the same color options as “Change the object’s color”.

  21. sa | September 24, 2007 at 4:25 pm | Permalink

    WONDERFUL JOB.

    GO ON!

  22. Naomi Talon | September 29, 2007 at 1:57 pm | Permalink

    Tnx, it’s a great tool.

  23. Anthony Fontana | October 7, 2007 at 8:46 am | Permalink

    This is GREAT! Thanks a bunch!

  24. life | October 11, 2007 at 9:19 am | Permalink

    good stuff! i have put it in the toolbar for sl!

  25. Chris | October 13, 2007 at 6:11 am | Permalink

    This is a great job ! As a scripting teacher I recommanded it to my beginners. Unfortunately many of them don’t understand English, or not well. Would there be an opportunity to collaborate in order to translate the page for some european users ? I’d be very happy to volunteer to translate it to French. If you’d possibly agree this, please feel free to mail me. Thanks anyway for this very useful tool !

  26. Jenni | October 15, 2007 at 2:38 am | Permalink

    Thank you - this little tool is a great help!

  27. Jahaya | October 22, 2007 at 7:01 am | Permalink

    Thanks a lot Hilary, this is a very helpfull tool.
    I wonder if you could add a script that generates a dialog menu.
    Thanks a bunch.

  28. WiLLuMPJuH Gausman | November 10, 2007 at 3:42 pm | Permalink

    Thank you, professor. Very comprehensive and most useful to the beginning scripter as i am. Much obliged. Exactly what I needed.

  29. David121 Finsbury | November 30, 2007 at 1:33 pm | Permalink

    Any chance of adding to the rez object that it deletes that object from in world after set time?

  30. Pyter Morgridge | November 30, 2007 at 3:00 pm | Permalink

    I’ve just stumbled across this script-generator, and thought that it was such a neat and useful idea that I couldn’t resist doing a brief blog about it.

    http://secondview.wordpress.com/2007/11/30/second-life-script-kiddies-start-here/

    Forgive the questionable title… :)

  31. Blue Linden | December 7, 2007 at 6:19 pm | Permalink

    Some people assume that all Lindens can script but I was proof to the contrary…

    …until now ;)

  32. Nexeus Fatale | December 17, 2007 at 9:20 am | Permalink

    Wow, this is actually pretty cool and great for those people looking to make a quick script! Nice!

  33. sarah | December 30, 2007 at 3:42 am | Permalink

    hey i really appreciate this i cant script at all lol i have to use someone elses scripts to script and this really helps ur truly a good person to share this information and thanks for it if you want to comment me back plz im saraheve burger and tell me what i said and then ill know its not some wierdoh lol ^^ k buhbye

  34. Michael DiTullio | January 3, 2008 at 8:58 am | Permalink

    Excellent idea! I was just in the process of creating an automatic script generator in-world when I came across your site. I would love to incorporate your tool if possible (giving you full credit of course). Drop me an email or IM to ‘Far Link’ located on Architecture Island. Also check out my blog at http://www.interactivearchitectures.blogspot.com as I will be posting about your site soon. Thanks again!

  35. Arwenna Stardust | January 17, 2008 at 8:31 pm | Permalink

    Awesome Hilary - thank you!

  36. Corcosman Voom | January 26, 2008 at 11:09 am | Permalink

    I ran across your website at the ITC library last night. This is great. I used it to make a ‘URL link on Touch’ script right away. As a neophyte, it helps to see what a good script looks like.

    I’ve already passed the website on to a friend. Thank you very much for the effort you put into this.

  37. Brigitte Kungler | January 26, 2008 at 1:55 pm | Permalink

    thanks for the autoscript!!!
    it is very helpful to learn how scripts work!

  38. Montana Corleone | January 28, 2008 at 7:55 am | Permalink

    Fantastic! And I love it’s in French too.

    Gonna link it on my blog…

  39. Dale Innis | January 29, 2008 at 9:46 pm | Permalink

    oooo, so cool! Even if it might cut in to my trivial-script tip-stream lol.

    I notice that if I make a script to do something when someone says “foo” in chat, it does a listen with a null last argument, and then tests for “foo”. Wouldn’t it be more efficient to has the last argument to the llListen be “foo”, and then not bother testing in the listen() event?

  40. Transparent Banshee | February 3, 2008 at 4:57 am | Permalink

    awesome! thank you! extremely neat!

    :-))/TB

  41. Qwertyuiop Oe | February 5, 2008 at 8:02 pm | Permalink

    This is excellent. The Thinkerer says script modding is great to learn - this tool gives a great starting place for a modder-learner. How very cool this is. Thanks so much for doing this.

  42. Archironus | February 25, 2008 at 7:34 am | Permalink

    Heh, great work. :D The one thing i think it needs adding is when an avatar sits on the object and some things to set physical or phantom Otherwise its great! keep up the good work.

  43. LIONEL | February 29, 2008 at 11:57 am | Permalink

    IM FRENCH !!!

    thank you very much ( merci :)

  44. robin winter/ shukra | April 1, 2008 at 1:07 pm | Permalink

    i still love this lil script maker…ann i wish you would expand on it more, though i dont have specifics.

  45. lawnchair giha | April 2, 2008 at 11:21 am | Permalink

    Hi , just a quick thank you to you for this simple to use tool , just a suggestion on the colour changer , there is no scope that I can see for random colours on click , mebe that could be incorporated easily ?? , however , keep up the good work , =))
    Lawn

  46. garvie garzo | April 11, 2008 at 3:41 pm | Permalink

    this is enormously useful.. if you ever figure out a way to use this for more complicted script combinations, while charging lindens or paypal for it, IM me immediately and i will do my best to make you rich.

  47. thaumata | April 22, 2008 at 11:59 am | Permalink

    what a great tool, and something i’ve been nagging people to write for a long time. thank you so much!

  48. Martijn Notredame | May 9, 2008 at 3:48 am | Permalink

    Hi,

    did anyone know how to make a script to increase an object when you touch it.

    Thx

  49. Ruby Hanriot | June 9, 2008 at 3:50 pm | Permalink

    should expand the site
    to what do you want object to do :
    move /rotate/move in a position etc
    what else do you want object to do?
    when and how do you want object to do this?
    thanks great now for simple scripts.

  50. john | June 25, 2008 at 8:00 pm | Permalink

    none of the script i try seem to do anything, i know nothing about scripts so i can explain why

  51. Genevieve | June 28, 2008 at 2:09 am | Permalink

    This thing is totally amazing. It’s really helped me get use to scripting!

  52. Kitsune | July 3, 2008 at 6:45 pm | Permalink

    Maybe you could add something that causes damage? Like a sword or a gun script option?
    ‘Cause damage to another avatar’
    I’ve found it’s impossible to find a sword script if you’re new to SL.

  53. cabrobst Hubble | July 19, 2008 at 11:08 am | Permalink

    I have myself created a script that will slowly move a ‘ghost’ from one place to another. I need to add a condition where it will reset if a limit is reached. If anyone knows how, IM me in world. Thank you.

  54. Thordain Curtis | July 19, 2008 at 11:13 am | Permalink

    Neat idea. Played around with it for a few seconds and I’m sure many residents will find it useful. You might want to modify the rez object code so that it works properly with rotated objects. For instance, “rez 0.5 right” pops out ‘llGetPos()+’ for the object position, but it should be ‘llGetPos() + ( * llGetRot())’

  55. Jon Daikon | July 19, 2008 at 3:32 pm | Permalink

    There is an error with making an object follow an avatar around. The declared setup() function is never put into any event.

  56. AngelDel | July 19, 2008 at 4:24 pm | Permalink

    I loved your brilliant tool, ideas like yours make our SLs easier every day, THANK YOU. Also, as a Spanish native speaker and qualified translator, it’d be a pleasure for me to to add one more language to your web-based script generator if you want (unless someone is doing it already, of course ;-) Always happy to contribute to great iniciatives!

  57. james monroe | July 20, 2008 at 1:22 am | Permalink

    would love to see more also a loop script

  58. Sunshinebabe Villota | July 20, 2008 at 5:58 am | Permalink

    Hi,
    the following text does not make sense in German:
    Wenn Sie das Skript Generator, bitte zu spenden, um die Rechnung für Hosting dieser Website:
    Because it is an important message :), i give you a better text as follows:
    Wenn Ihnen der Script-Generator gefallen hat, würde ich mich über eine Spende zur Bezahlung der Kosten für das Hosting dieser website freuen. Danke!

  59. Ener Hax | July 20, 2008 at 1:55 pm | Permalink

    Thank you Ann Enigma for such a wonderful tool! It will help me a lot and it serves as a great way to introduce others to scripting.

    You are quite a wonderful person to make this for everyone and host it. Thank you so very much. :)

  60. Bofon | July 21, 2008 at 11:39 am | Permalink

    C’est génial ! on en demande encore plus ! silvousplait :)

  61. mahem rossini | July 21, 2008 at 3:57 pm | Permalink

    Three urrah for the good simple things for the simple minds. Urrah!!!! Urrah!!! Urrah!!! Go on. That’s the way!

  62. Arylis | July 23, 2008 at 8:17 pm | Permalink

    THANK YOU THANK YOU THANK YOU! You have done EXACTLY what I have been begging for for so long! Finally I can just say “Why can’t I just click something to MAKE a door open?!” and here it is!

    I’ve *always* been intimidated by the scripting, but I’m positive this will help me warm up to the scary language that is LSL.

    I could *never* thank you enough!

  63. Lee Jenkinson | July 24, 2008 at 5:18 pm | Permalink

    This is a great way to learn scripting! Thanks a million for an easier more organic way to learn this stuff, I hope this gets out to everyone who has any interest in creating things in Second Life.

  64. electro | July 27, 2008 at 5:40 pm | Permalink

    I love it, Its very similar to a tool I learnt to script from =). A time saver too, for the lazy among us ;) ..

  65. chris harvey | July 29, 2008 at 8:07 am | Permalink

    OMG!!! tytytytyty for this site. as a newbi to the LL language its great. i can look at this auto made stuff and cut the learning curve. LONG LIVE OPEN SOURCE!!!
    and im adding you place in sl to my pics :)
    great awsome job!!

  66. robertltux mccallen | July 30, 2008 at 12:50 am | Permalink

    on the give an object how can you modify it to give a FOLDER of objects (im thinking of doing an object that gives a whole avatar/outfit and i would need to work with a whole folder)

  67. Sally Chenaux | July 30, 2008 at 8:10 am | Permalink

    I learned about this from Torley Linden’s video. That is a really helpful tool for undereducated orangutans like me who have a hard time following directions. May I suggest that you have a link to the video on the “What to do next” page?

  68. Max Chatnoir | July 30, 2008 at 6:47 pm | Permalink

    Absolutely fabulous tool! I’m definitely using if for faculty workshops this fall! Thanks so much for this great addition to the educational enterprise.

  69. VenusMari | August 1, 2008 at 4:33 am | Permalink

    If you ask for a routine that says something in chat in response to something an avatar says in chat, it will respond with the original phrase. So if your script listens for an avatar saying “hello”, the script will reply “hello”, regardless of what phrase you entered for the script to utter.

  70. dennis vogel | August 3, 2008 at 8:13 am | Permalink

    if i could get an email to a few questions
    i made a script from your auto page, to give a web page,notecard,landmark and sound for secondlife.com all as one script. i have a script error that appears, but it works, what did i do wronge?
    i am also looking for a script to push an avie 10-20 meters in one direction when they are in range of an object was wondering how i can do this, this are my first scripts i am trying to ever do on secondlife.
    ty for any help

    dennis vogel/aka captainblackbeard jessop on secondlife

  71. allota1 paine | August 4, 2008 at 1:39 pm | Permalink

    OMG you Rock thanks so much for this site.

  72. Al H | August 11, 2008 at 4:13 pm | Permalink

    I found the autoscript tool very usefull as i am not very good at scripting myself. One function I would like to see on the app is the ability to show video footage from a live stream. I heard this replaces the objects texture with the live stream. This would be useful as you could create a tv that when touched turns on and shows video from the stream. Once again thanks you for the brilliant app!

  73. gpgrieve@gmail.com | August 13, 2008 at 5:29 pm | Permalink

    I think the site is down

{ 2 } Trackbacks

  1. [...] May I present Ann Enigma’s LSL Script Auto-Generator! [...]

  2. [...] Life scripting tool is the cat’s pajamas for newbies or those with no programming experience. Hilary Mason aka Ann Enigma coded this tool to make simple scripts for those who have no programming experience. It’s simple, intuitive, [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *