Second Life Scripting Totorial Chatlog
Chatlog from our in-world Second Life Scripting 101 Tutorial
Darkblob Omegamu: Coke, it does a body good
Aliasi Stonebender: Indeed. Although I prefer coke zero these days.
Buster Sword: releasing controls
Aliasi Stonebender: chair
Kadeno Saarinen: thats awesome
Artemesia Sandgrain: Hey everybody listen up!
Artemesia Sandgrain: I'd like to introduce two of your four mentors.
Artemesia Sandgrain: Satchmo Prototype meet Gamrz482
Angel Wings v0.4.8 whispers: Psykes FastFly Script v0.4.8 - use "wings off" and "wings on"
Artemesia Sandgrain: And Aliasi Stonebender meet the class
Satchmo Prototype: Hey all
Aliasi Stonebender: howdy, all!
Artemesia Sandgrain: A few more incoming
Zhell Frobozz: 'ello
Darkblob Omegamu: hi
You: hi
Zhell Frobozz: /dance
Artemesia Sandgrain: Aliasi and Satchmo are going to give you a scripting tutorial.
Aliasi Stonebender: now, are you SUPPOSED to be bringing miniguns to class? ;)
Artemesia Sandgrain: We'll also figure out a way for you to get in touch with them in between
Satchmo Prototype: yea Mini-guns are ok
Angel Wings v0.4.8 whispers: Detached from avatar
Satchmo Prototype: just no cellphones in class
Kadeno Saarinen: i like my minigun!
Artemesia Sandgrain: Please reconceal your weapons class...
Wet Ikon Anim Override One.7 (Amped): 3303 bytes free
Kadeno Saarinen: would a lightsaber be better?
Zhell Frobozz: it most certainly would
Little Pengi whispers: I will follow you :)
JoniBaloney Wombat: kiss
Little Pengi: I'm frozen again, Dang connection !!
Little Pengi: I'm frozen again, Dang connection !!
Little Pengi: I'm frozen again, Dang connection !!
Little Pengi: That tickles, hehe
Little Pengi: You spotted dinner yet ?
Little Pengi: Where are the fish?
Little Pengi: You spotted dinner yet ?
Little Pengi: This Tux itches !!
Little Pengi: I'm frozen again, Dang connection !!
Little Pengi: You spotted dinner yet ?
Little Pengi: That tickles, hehe
Little Pengi: This Tux itches !!
Little Pengi: This Tux itches !!
vodka whispers: Absolutely the best vodka...!!
Satchmo Prototype: hey folks
Satchmo Prototype: bear with me and Aliasi for a moment
Kadeno Saarinen: hi?
Kadeno Saarinen: okay
Darkblob Omegamu: ok
Satchmo Prototype: as we try to decide teh best way to tackly you guys
Satchmo Prototype: tackle even
*Free* Mini Hoverpod 2.0.2 whispers: Use arrow keys to drive. Press PgUp to jump. Press PgDown to brake.
Satchmo Prototype: tacky is next class :)
Artemesia Sandgrain: Come closer you guys
*Free* Mini Hoverpod 2.0.2: Thanks for riding the FREE mini hoverpod by Cubey Terra. To see more hovercraft and aircraft visit Abbotts Aerodrome.
Artemesia Sandgrain: How do you want to proceed?
Kadeno Saarinen: if a dragon lady tackles me i think i will have an aneurysm
Satchmo Prototype: well we are going to head someplace with seating
Satchmo Prototype: Aliasi has some land she usually teaches on
Kadeno Saarinen: i like seating
Satchmo Prototype: she regularly teaches LSL in SL
Zhell Frobozz: sitting is good
Satchmo Prototype: so I'm gonna let her lead the whole class
Satchmo Prototype: and I'll support her
Aliasi Stonebender: gulp.
Artemesia Sandgrain: Class simmer down
Artemesia Sandgrain: !
Lightsaber(Green): releasing controls
You: who are they?
Artemesia Sandgrain: Aliasi will take the stage
Light Saber (luke redid): Kadeno Saarinen Say saber help for a list of commands
Artemesia Sandgrain: Aliasi And Satchmo
Satchmo Prototype: ok we're gonna head over to Aliasi's place
Satchmo Prototype: is the whole class in one group?
Satchmo Prototype: to make it easy to IM everyone
Artemesia Sandgrain: Yes
Artemesia Sandgrain: How do you want to do this?
Artemesia Sandgrain: Should we just teleport them?
Aliasi Stonebender: my place is the "Field of Can'-Ka No Rey".... it's in find...
Artemesia Sandgrain: Or give them landmarks?
Satchmo Prototype: sure everyone click teh Find button and the bottom
Aliasi Stonebender: so we can port them, or they can port themselves, whichever is easiest
Aliasi Stonebender: I'll head on there.
Satchmo Prototype: then search " Field of Can"
Satchmo Prototype: then you should see "The Field of Can'-K No Rey"
Satchmo Prototype: choose Teleport
Satchmo Prototype: aight you all got it :)
Artemesia Sandgrain: Got it
Kadeno Saarinen: awwwww
Satchmo Prototype: then go to Places
You: I feel alone with my mac
Satchmo Prototype: ok you all read to fly over there?
Satchmo Prototype: SW corner
You: here we go
Artemesia Sandgrain: Kadena drop it!
Artemesia Sandgrain: Everyone plese takea seat
Aliasi Stonebender: also, if you'd care to click on the yellow box, you'll get a folder full of the stuff I use as examples for this.
Wurlitzer Zodiac v1.6 whispers: v1.6 by Weedy Herbst
Wurlitzer Zodiac v1.6 whispers: Type : /chill, /classical, /country, /dance, /easy, /eighties, /hiphop, /hits, /house.
Wurlitzer Zodiac v1.6 whispers: Type : /jazz /salsa, /techno, /trance, /rap, /rock, /virgin /off, or /help.
Wurlitzer Zodiac v1.6 whispers: Type : /radio ( channel # ) for user channels.
Wurlitzer Zodiac v1.6 whispers: Type : /url (http://xxx.xxx.xxx.xxx:xxxx) to select a stream.
Wurlitzer Zodiac v1.6 whispers: Type : /list to view user channels.
Wurlitzer Zodiac v1.6 whispers: Type : /playing to view current selection.
Scripting 101 Class whispers: Vending Scripting 101 Class
Artemesia Sandgrain: Okay folks plese give Aliasi your attention
Artemesia Sandgrain: And please take a seat
Aliasi Stonebender: alrighty then. everybody click on the yellow box yet?
Zhell Frobozz: aye
Kadeno Saarinen: *Sits at attention*
Roy Sleeper: yup
Artemesia Sandgrain: Joni take a seat
Artemesia Sandgrain: Okay Aliasi take it away
You have offered friendship to Aliasi Stonebender.
Aliasi Stonebender: looks like about everyone...
Cerulia Moxie: hello all!
Cerulia Moxie: Wow, quite a crowd!
Aliasi Stonebender: also, please don't offer friendship to me. It's not any judgement of you as people, I just only friend people I need to stay in constant contact with - I really hate the name they gave the feature. :/
Aliasi Stonebender: Hey ceru, this isn't primtionary.
Cerulia Moxie: ohhh >_<
Cerulia Moxie feels stupid
Cerulia Moxie: cancelled this week?
Aliasi Stonebender: LSL class, primtionary is delayed, look at the events.
Aliasi Stonebender: okay, that said.
Cerulia Moxie: ok, sorry to interrupt!
Aliasi Stonebender: everybody get their folder from the yellow box there? you should have gotten a folder named "USL Library: Scripting 101 Class".
Aliasi Stonebender: may take a second for your click to respond, I don't usually have so many. ;)
Christian Chickenwing: tell me when to go
Aliasi Stonebender: alright, before we start - Atremesia, how much in the way of programming and such does this bunch know?
Christian Chickenwing: not a lot
Artemesia Sandgrain: Varies. Some are CS students but you can consider them all as beginners
Artemesia Sandgrain: This is a design class rather than a tchnical class
Aliasi Stonebender: well, I just wanted to know how basic I had to start... see if I have to give "okay, this is a var-i-able" first. ;)
Artemesia Sandgrain: yes
Artemesia Sandgrain: basic is good
Artemesia Sandgrain: beginner level for sure
Christian Chickenwing: chea!
Aliasi Stonebender: okay, so let's start at the veyr beginning. everybody, open up the script named "SPIN"
Kadeno Saarinen: question: does a "var ee able" ever change?
Kadeno Saarinen: ok
You: what is a variable ?
You: ; )
Artemesia Sandgrain: Oaky good start.
JoniBaloney Wombat: >,>
Zhell Frobozz: >.<
Bonaventure Tackleberry: so i opened it...
Christian Chickenwing: where do you open it
Kadeno Saarinen: open, sensei!
Bonaventure Tackleberry: inventory
Aliasi Stonebender: (for those who /don't/ know, a variable is a placeholder for a number. like, how many times an object has been touched, or your current position, or any one of a large number of things._
Aliasi Stonebender: open your inventory (Ctrl + I) and double-click on the script.
Aliasi Stonebender: okay, first, let me explain the script editor.
Aliasi Stonebender: the SL script editor, to be honest, isn't very good. Many serious scripters write their scripts outside of SL and copy them in... but it's here, and everybody has it, so I'll explain it.
Bonaventure Tackleberry: ok
Aliasi Stonebender: it works much like any text editor... or the SL notecard editor, with a few extras. the topmost box is the script itself, of course, the next lower one
Aliasi Stonebender: is where any messages will appear when you save the script, especially error messages.
Aliasi Stonebender: the buttons at the bottom do what you would expect, and the "Insert..." drop down is a big list of every LSL function, in case you forget exact spellings or such.
Aliasi Stonebender: Also, "Cut", "Copy", and "paste" on the edit menu of SL work here as you'd expect them to.
Aliasi Stonebender: Very basic, no frills, so let's move on to the script itself!
Aliasi Stonebender: this script is about as simple a script can get in LSL and do something useful.
Aliasi Stonebender: which makes it good to show you the basic structure.
Aliasi Stonebender: those of you who are CS students will note LSL looks a bit like C, if you kicked it in the face a few times. ;)
JoniBaloney Wombat: =3
Artemesia Sandgrain: lol
Aliasi Stonebender: so, here's what the script actually does.
Kadeno Saarinen: who here actually is a cs major?
Bonaventure Tackleberry: not me
Kadeno Saarinen: oops, sorry, go ahead
You: neither me
Porky McDunnough: Ive taken some
Aech Valentine: me sorta
Darkblob Omegamu: thinking about switching
Artemesia Sandgrain: just affirmatives please
JoniBaloney Wombat: cool your hands move when you type
Zhell Frobozz: not i, said the clown
Aliasi Stonebender: the first line, "default", is a "state". LSL is a state and event based language... that is, a script is always in one of possibly many states, and each state can contain a number of pre-defined events.
Aliasi Stonebender: the upshot of this is a lot of the "what goes where" work is thus done for you. All scripts must have at least one state, "default", and you can see the curly brackets, which contain everythign in that state.
Aliasi Stonebender: this state only has one event, state_entry(). state_entry, surprise!... is run when you first enter a state!
Aliasi Stonebender: Now, in SL, scripts keep their state even when you pick up the object they are in.
Aliasi Stonebender: so, for example, if you're playing a game that's all in one object, you can pick it up and put it back out and still be where you left off.
Aliasi Stonebender: this trips up a lot of people because they might want to make something that does stuff every time you rez it out.
Aliasi Stonebender: in this case, the script runs exactly once - when you first set it out- and then stays in idle.
Aliasi Stonebender: the function in it, "llTargetOmega", is used to make things spin. (Omega is a geometric term).
Aliasi Stonebender: just by way of example, I'll rez a cube and stick this in it to show you what it does.
Aliasi Stonebender: simple enough, eh?
Roy Sleeper: nice
Christian Chickenwing: whatd u do??????
Christian Chickenwing: O No!!
Artemesia Sandgrain: slow spin
Aliasi Stonebender: I just dropped the script into that box.
Kadeno Saarinen: whooooooooo *gets dizzy*
Aliasi Stonebender: functions are the basic LEGO block of LSL.
Zhell Frobozz: where in the script does one determine the rate at which the object spins?
Bonaventure Tackleberry: ok, i can deal with LEGOS
Aliasi Stonebender: I'm getting to that, Zhell.
Darkblob Omegamu: so is state_entry() like main?
Zhell Frobozz: ah :)
Darkblob Omegamu: for C
Aliasi Stonebender: not exactly, darkblob. you don't even have to have a state_entry in a state.
Darkblob Omegamu: o ok
Aliasi Stonebender: although all states must have ONE event at least.
Aliasi Stonebender: but that can be any event you like.
An object named Scripting 101 Class owned by Aliasi Stonebender gave you USL Library: Scripting 101 Class.
You: I am lost
Darkblob Omegamu: ok
Aliasi Stonebender: anyway, here's how llTargetOmega breaks down.
Aliasi Stonebender: inside the ( ) parenthesis
Aliasi Stonebender: are the various parameters you "plug in" to say what you want to do.
Aliasi Stonebender: the first, the <0, 0, -1> is a vector. A vector is just 3 numbers that define a direction and a magnitude.
Zhell Frobozz: what do you mean by magnitude?
You: Now I am with you
Kadeno Saarinen: amount, like, speed
Zhell Frobozz: ah
Darkblob Omegamu: length, for examplke
Bonaventure Tackleberry: whats the order?
You: I though there were the 3D coordinates
Aliasi Stonebender: it depends/
Aliasi Stonebender: but here, it means the X, Y, and Z axes.
Bonaventure Tackleberry: ok
Aliasi Stonebender: so, by saying <0, 0, -1>
Aliasi Stonebender: you're saying "I want this to spin around on the Z axis.
Aliasi Stonebender: the negative just is what direction, clockwise or counterclockwise.
Christian Chickenwing: where do we go to do this again???
Aliasi Stonebender: hm? right now, just open SPIN.
Christian Chickenwing: k
Aech Valentine: aaaaa
Aliasi Stonebender: okay, now for the other two numbers
Aliasi Stonebender: the second one is "rate' - how fast to spin.
Aliasi Stonebender: 0.05, as you can see, is not very fast.
Kadeno Saarinen: *nods*
Aliasi Stonebender: whereas now, it's at 50.
Darkblob Omegamu: so that's the second .05?
Aliasi Stonebender: yes, darkblob.
Aliasi Stonebender: and the third one is the "gain"
Darkblob Omegamu: ok
Aliasi Stonebender: this ONLY matters if you have turned the object physical.
You: So one is the velocity and the other is the itime?
Aliasi Stonebender: that is, it interacts with the SL physics engine instead of just hanging there.
Aliasi Stonebender: gain means the strength of the spin force.
Kadeno Saarinen: oooooh, physics
Aliasi Stonebender: so, if an object had a high rate but low gain
Aliasi Stonebender: it would take a long time but end spinning very fast
Aliasi Stonebender: again, this ONLY matters for physical objects, but the number must be greater than zero for ANY object.
Aliasi Stonebender: and that's llTargetOmega, basically... it makes things spin. feel free to rez up a cube and stick SPIN in if you want to play with it!
Kadeno Saarinen: so basically, gain is inertia?
JoniBaloney Wombat: mmm chicken!
Little Pengi whispers: I will follow you :)
Aliasi Stonebender: more or less, yes
Little Pengi: This Tux itches !!
Aliasi Stonebender: but llTargetOmega does funny things sometimes.
Kadeno Saarinen: are you editng the chicken?
Aliasi Stonebender: but that's outside the scope of this class, feel free to play with it yourself, though!
You: SO How I can apply what I just learn with a cube
Darkblob Omegamu: so how do we drop a box
Aliasi Stonebender: okay, heh
You: I have to rigth click and then edit and copy the script or what
Aliasi Stonebender: here's how to make a prim
Aliasi Stonebender: and drop the script in.
Aliasi Stonebender: click the "Build" button.
Aliasi Stonebender: you'll get the build menu.
10000: say help for a notecard
Little Pengi: This Tux itches !!
Aliasi Stonebender: choose a shape - let's stick to cubes for the moment.... and then click somewhere in-world.
Desert Eagle .50 whispers: Press 'M' to enter mouslook and the mouse button to fire
Little Pengi: Where are the fish?
Artemesia Sandgrain: put the gun away please
Aliasi Stonebender: after that, hit the "More >>" button on the build box
Kadeno Saarinen: *hangs head*
Aliasi Stonebender: and choose the "Content" tab
Artemesia Sandgrain: lol
Aliasi Stonebender: then just drag the SPIN script into the contents!
Aliasi Stonebender: okay, to go a little more into that
Aliasi Stonebender: in SL, you can think of prims - the more usual name for the basic bits you create - as "containers" for scripts.
Second Life: Your object 'Tic Tac Toe board - Free to copy, pass it around' has been returned to your inventory lost and found folder by 'Aliasi Stonebender' from parcel 'The Field of Can'-Ka No Rey' at Neualtenburg 46, 71.
Roy Sleeper: oops
Darkblob Omegamu: o it works
Darkblob Omegamu: yay
Aliasi Stonebender: and an object may have many prims in it.
Bonaventure Tackleberry: sorry
Bonaventure Tackleberry: oops
Failed to place object at specified location. Please try again.
Aliasi Stonebender: so, people sometimes get a bit sloppy when referring to all of this... but you always have to put a script into something, scripts can't just "float free".
Aliasi Stonebender: so, is this as clear as mud?
Kadeno Saarinen: its...... interesting
Aliasi Stonebender: we haven't even GOTTEN to the interesting bits. ;)
Aliasi Stonebender: and please, would you not rez random objects on the stage?
Kadeno Saarinen: i beleieve you
JoniBaloney Wombat: lol
Second Life: Your object 'Tic Tac Toe board - Free to copy, pass it around' has been returned to your inventory lost and found folder by 'Aliasi Stonebender' from parcel 'The Field of Can'-Ka No Rey' at Neualtenburg 47, 69.
Kadeno Saarinen: yes ma'am
Bonaventure Tackleberry: aadddddddddddddddddddddddddddddddddddd
McMoony Spoonhammer: aww who took my buffalo
Aliasi Stonebender: don't make me have you all listen to Reason.
Roy Sleeper: lol what else is there to learn for this?
Kadeno Saarinen: what does reason sound like?
Kadeno Saarinen: coooool, a briefcase!
Failed to place object at specified location. Please try again.
Roy Sleeper: lol wow
JoniBaloney Wombat: augh my hp
Roy Sleeper: is that what reason sounds like?
Aliasi Stonebender: Reason is my hypersonic railgun. :P
Roy Sleeper: haha nice
Second Life: Your object 'Tic Tac Toe board - Free to copy, pass it around' has been returned to your inventory lost and found folder by 'Aliasi Stonebender' from parcel 'The Field of Can'-Ka No Rey' at Neualtenburg 50, 71.
Christian Chickenwing: ok my "new script" portion is greyed out
Christian Chickenwing: i cant access it
Roy Sleeper: o man
JoniBaloney Wombat: /swt
Aliasi Stonebender: that would be because I didn't want you to make a new script, christian.
Second Life: Your object 'Tic Tac Toe board - Free to copy, pass it around' has been returned to your inventory lost and found folder by 'Aliasi Stonebender' from parcel 'The Field of Can'-Ka No Rey' at Neualtenburg 50, 70.
Christian Chickenwing: i dont know how to make it spin
You cannot create objects here. The owner of this land does not allow it. Use the land tool to see land ownership.
Aliasi Stonebender: drop the script into the prim. that's it.
Christian Chickenwing: the content one?
Aliasi Stonebender: yes.
You cannot create objects here. The owner of this land does not allow it. Use the land tool to see land ownership.
Christian Chickenwing: which script
Aliasi Stonebender: the "SPIN" script, Christian. the one I've been telling you all about.
JoniBaloney Wombat: it wont let me click and drag
Christian Chickenwing: im dragging it but i cant drop it in there
Christian Chickenwing: i cant click and drag it
Kadeno Saarinen: she turned it off
Christian Chickenwing: oooook
Aliasi Stonebender: yeah, to prevent buffalo outbreaks.
Kadeno Saarinen: lol
Aliasi Stonebender: so, I'm just going to move on.
Roy Sleeper: cool
Kadeno Saarinen: ok
Aliasi Stonebender: I'll demonstrate it all, and you can trythem out yourselves later... it'll sav etime.
Artemesia Sandgrain: We have about 20 minutes time remaining
Aliasi Stonebender: okay, next, open up the "Cycle Colors" script.
Kadeno Saarinen: colors.... k
Aliasi Stonebender: yeah, we need ot hurry along!
Artemesia Sandgrain: Bonaventure can you please have a seat?
Height detector 1.0.2: JoniBaloney Wombat is 1.710920 m (5 feet 7 inches) tall. (counting your shoes)
Aliasi Stonebender: okay then.,
JoniBaloney Wombat: crap
Height detector 1.0.2: McMoony Spoonhammer is 2.099481 m (6 feet 11 inches) tall. (counting your shoes)
JoniBaloney Wombat: =3
You: I am lost again
Aliasi Stonebender: this script is just a little more complex - two events instead of one.
Satchmo Prototype: VirtualSoul, go into your inventory, Find the Folder that says "USL Library: Scripting 101 Class" and open the "Cycle COlors" script
Height detector 1.0.2: Aech Valentine is 2.059876 m (6 feet 9 inches) tall. (counting your shoes)
Aliasi Stonebender: okay then
Aliasi Stonebender: this script, when you first run it
Artemesia Sandgrain: Hey all we don't have much time left so listen up
Aliasi Stonebender: uses llSetTimerEvent to... set up the timer event.
Aliasi Stonebender: shock!
Aliasi Stonebender: the 3.0 is how often (in seconds) you want the timer to fire.
Aliasi Stonebender: so, every 3 seconds, the timer() event is run.
Height detector 1.0.2: Artemesia Sandgrain is 1.994392 m (6 feet 7 inches) tall. (counting your shoes)
Aliasi Stonebender: as for the timer event itself...
Height detector 1.0.2: Artemesia Sandgrain is 1.994392 m (6 feet 7 inches) tall. (counting your shoes)
Height detector 1.0.2: Aliasi Stonebender is 2.196282 m (7 feet 2 inches) tall. (counting your shoes)
Kadeno Saarinen: why does that keep coming up?
Aliasi Stonebender: peopel keep touching it.
Bonaventure Tackleberry: stop touching!
Roy Sleeper: keep going please
Aliasi Stonebender: anyway. this event has the llSetColor function... which sets the color of a prim!
Kadeno Saarinen: /nod
Aliasi Stonebender: now, this is an example of "nesting" LSL functions.
Aliasi Stonebender: many functions spit out a result, aside from just doing something like llTargetOmega.
Kadeno Saarinen: *oohs and aahs*
Aliasi Stonebender: here, you use llFrand to make a random number.
Aliasi Stonebender: between 0 and 1.
Aliasi Stonebender: in LSL, you can also describe COLORS with a vector, you see, in the form of
Aliasi Stonebender: with each color being... from 0 to 1, for no color to full intensity.
Aliasi Stonebender: so, by making 3 random numbers, and enclosing them in the < > symbols to make a vector
Aliasi Stonebender: you're making a random color.
Aliasi Stonebender: the second part you can place a number to choose a specific side to change.
JoniBaloney Wombat: why would you want a random color when designing
Aliasi Stonebender: here, we want the whole thing to change, so we use ALL_SIDES.
Artemesia Sandgrain: Could you assicate a point value with changing color?
Aliasi Stonebender: you'd want a random color when you want a random color, Joni.
JoniBaloney Wombat: okay lol xD
Aliasi Stonebender: What do you mean, Artesmia?
Artemesia Sandgrain: Seems like that could be useful in a game...when i touch something it's color changes and I get a point
Aliasi Stonebender: Oh, that. You certainly could. You could make the color vector get numbers from anything you like, if you try.
Artemesia Sandgrain: So for progress in a game for instance
Aliasi Stonebender: anyway, I'd like to get to a last script here, but before I do
Aliasi Stonebender: I'd like to suggest a few resources for you to study.
Artemesia Sandgrain: 8 minutes left!
Aliasi Stonebender: the first and foremost is the LSL wiki.
Artemesia Sandgrain: :)
Aliasi Stonebender: http://www.secondlife.com/badgeo
Artemesia Sandgrain: I'LL POST ON THE BLOG
Aliasi Stonebender: this is a big reference of every LSL function and feature. There's also a fairly nice LSL101 tutorial under the "tutorials" section to help you.
Satchmo Prototype: I'm also starting a web based, LSL by example scripting tutorial. It can be found here: http://www.futureprototype.com/scripting/lsl-intro1.html
Aliasi Stonebender: thankee, Satchmo.
Satchmo Prototype: my tutorial links heavily back to the wiki
Bonaventure Tackleberry: thx
Artemesia Sandgrain: Gret will post
Aliasi Stonebender: it's a reference, not a how-to, so it's aimed towards people who kind of know what they want, but just forget exactly how... but it's a good reference.
Aliasi Stonebender: other sources: the "Scripting Library" and "Scripting Tips" forums on the www.secondlife.com website.
Aliasi Stonebender: also, there's a place in-world named "YadNi's Junkyard". Aside from a bunch of free objects, most of them fully-modifyable, there's a box full of scripts./
Bonaventure Tackleberry: yeah
Darkblob Omegamu: ok
Aliasi Stonebender: you can learn a lot just by picking scripts and looking up what they do on the wiki.
Artemesia Sandgrain: We went there last week
Artemesia Sandgrain: :)
Aliasi Stonebender: good, good.
Artemesia Sandgrain: First stop for the entire class
Porky McDunnough: Aliasi, Why do all functions start with 11 ? (or is it ll ?)
Aliasi Stonebender: ll
Aliasi Stonebender: for Linden Labs
Aliasi Stonebender: you can also make your own functions, but that's for my "102" class.
Satchmo Prototype: functions taht start with "ll" are build in functions of the language
Aliasi Stonebender: okay, last script
Aliasi Stonebender: open "listen example"
Aliasi Stonebender: this one is nice and commented, as it's a bit more involved than the other two.
Aliasi Stonebender: but I'll run over it real quick before you have to head out.
Aliasi Stonebender: like the cycle colors, it has 2 events
Aliasi Stonebender: the state_entry sets up a "listen"
Aliasi Stonebender: which you can think of as a sort of "microphone".
Aliasi Stonebender: it picks up any chat said near the object.
Aliasi Stonebender: the four parameters after it narrow down WHAT it listens to.
Aliasi Stonebender: those parameters are the chat channel, the name of something to listen for, the key (or UUID) of something to listen for, and an actual specific message to listen for.
Aliasi Stonebender: channel 0 is the 'normal" chat channel.
Aliasi Stonebender: if you have anything that takes commands like "/1 ao on" or something similar
Aliasi Stonebender: that's using the other chat channels.
Aliasi Stonebender: they won't show up in normal chat, but objects can use them.
Aliasi Stonebender: the "name" and "message" fields are blank, but let me explain the llGetOwner()
Aliasi Stonebender: everything in SL has a "key", a string that gives you that things database number
Aliasi Stonebender: YOU have a UUID, for example, and it stays with you - it's kind of your "other name"
Aliasi Stonebender: llGetOwner() returns the key of the owner of the object.
Aliasi Stonebender: so, the result is, you make an object that listens to you, and ONLY you.
Aliasi Stonebender: now, the listen event
Aliasi Stonebender: is the other end.
Aliasi Stonebender: as you can see, it sets up four variables - channel, name, id, and message.
Aliasi Stonebender: these are filled with... well, what you'd expect. the number of the channel, the name of whatever spoke, their key, and what they actually said.
Aliasi Stonebender: and inside the listen it uses an "if" statement to check what was said... if it is "hello", the bit inside the if is run.
Aliasi Stonebender: so, in this case, you say hello to the object, it says hi back!
Aliasi Stonebender: hello
Object: Hello.
Aech Valentine: hello
Aliasi Stonebender: the llToLower sets the case to be all lower-case, whatever what was actually typed.
Aliasi Stonebender: so
Aliasi Stonebender: HELLO
Aliasi Stonebender: works too.
Object: Hello.
Christian Chickenwing: hellol
Christian Chickenwing: hello
Bonaventure Tackleberry: hullo
Aliasi Stonebender: however, YOU can say hello all you like, it won't say anything back
Bonaventure Tackleberry: hahhaha
Aliasi Stonebender: because it's only listening to ME.
Roy Sleeper: lol
Christian Chickenwing: k
Aliasi Stonebender: this is how a lot fo things in SL are controlled, by talking to them.
Roy Sleeper: anything else?
Aliasi Stonebender: okay... that's about it... I wish I could have gone further, but we kind of got a late start.,
Darkblob Omegamu: so most objects have this script?
Christian Chickenwing: thank you
Roy Sleeper: thanks
Aliasi Stonebender: well, they don't have THIS script.
Aech Valentine: thanks a mil
Aliasi Stonebender: but they do use listens, yes. ;)
Zhell Frobozz: thanks, very helpful and informative ^_^
Darkblob Omegamu: ok
Aliasi Stonebender: just for example
McMoony Spoonhammer: thanky
Satchmo Prototype: there are actually 4 of us that will help you guys out with scripting classes
Aliasi Stonebender: this wand uses listens to make things based on magic words
Zeke Summers: thankyou
Devon Maladay: Thanx
Satchmo Prototype: the other two are Digi VOx
Aliasi Stonebender: cat on fire!
Porky McDunnough: How close does the object owner have to be to the object?
Satchmo Prototype: and Hiro Pendragon
Roy Sleeper: wow
Satchmo Prototype: we're gonna work with Artemesia to split your groups up and assign groups to mentors
JoniBaloney Wombat: O_O
Satchmo Prototype: in some logical way
Aliasi Stonebender: yes.
Aliasi Stonebender: that would be a good idea
Aliasi Stonebender: anyway
Darkblob Omegamu: cool
Aliasi Stonebender: for your question porky
Satchmo Prototype: like I'll probably take the bad kids cause I'm mean
Aliasi Stonebender: there's 3 kinds of chat
Roy Sleeper: lol
Aliasi Stonebender: normal chat travels 20 meters
Aliasi Stonebender: shouts travel 100 meters
Artemesia Sandgrain: Re mentors, Satchmo lets' talk about this via e-mail.
Aliasi Stonebender: and whispers (which objects can do) only go 10 meters.
Satchmo Prototype: yea, caught that email :)
Artemesia Sandgrain: We can either have the mentors by speciality or assign each to a group...there are 3 groups altogether.
Artemesia Sandgrain: It's up to you.
Artemesia Sandgrain: I can follow up with an e-mail to the students.
Ellipse Sportster S101: You are not the owner of this vehicle ...
Aliasi Stonebender: it would probably be best... smaller groups are easier to work with
Artemesia Sandgrain: Someone here suggests one mentor per group and one uber-mentor
Aliasi Stonebender: I just figured getting everybody with the basics at once would be quicker fo rthis case.
Satchmo Prototype: yea I think that sounds good
Christian Chickenwing: I Have CLあss
Satchmo Prototype: and Aliasi THANK YOU
Artemesia Sandgrain: Okay well wahy don't we base the mentors on the projects and the types of things they need
Satchmo Prototype: I think that lesson went well
Artemesia Sandgrain: YES Alisasi!
Artemesia Sandgrain: THANK YOU!
Aliasi Stonebender: Yes, if you have specific questions, feel free to bug me.
JoniBaloney Wombat: thank you very much Satchmo and Aliasi
Artemesia Sandgrain: 'clap
Artemesia Sandgrain: 'applause
Roy Sleeper: thanks aliasi and satchmo
Kadeno Saarinen: /clap
Aech Valentine: yeeeeeeeaaaaaaaaa
Aliasi Stonebender: I don't promise to answer you right away, but I'll try.
Satchmo Prototype: and everyone, you cna check out the URL I gave you... it's got some beginner basics for ya to practice again offline
Roy Sleeper: /clap
Darkblob Omegamu: /clap
Zhell Frobozz: /clap
McMoony Spoonhammer: /clap
Bonaventure Tackleberry: /clap
JoniBaloney Wombat: /clap
Kadeno Saarinen: /clap
Aech Valentine: /clap
Zeke Summers: /clqp
Zhell Frobozz: /cheer
Darkblob Omegamu: /clap
Zeke Summers: /clap
You: /clap
Aech Valentine: \clap
JoniBaloney Wombat: /clap
Kadeno Saarinen: /clap
Christian Chickenwing is offline
Kadeno Saarinen: \clap
Satchmo Prototype: ok thanks folks, we'll be in touch soon
McMoony Spoonhammer: /clap
JoniBaloney Wombat: /clap
Aliasi Stonebender: TACOOOOOOZZZZZZ
McMoony Spoonhammer: \clap
Darkblob Omegamu: /clap
JoniBaloney Wombat: \clap
Kadeno Saarinen: /clap
JoniBaloney Wombat: >,>
Kadeno Saarinen: \clap
McMoony Spoonhammer is offline
Zhell Frobozz is offline
Aliasi Stonebender: okay, either you turned into the King of All Cosmos, or there's a box on someone's head.
JoniBaloney Wombat: im in the ground x_X
JoniBaloney Wombat: thank you again, good bye
Aliasi Stonebender: anywho folks, I'm about to run a game of Primtionary here, so see you all around!
Satchmo Prototype: yup and I have to walk my dog
Satchmo Prototype: catch yall later
Darkblob Omegamu: thanks again
Artemesia Sandgrain: Thank you very much that was great...
You: thanks a lot
Artemesia Sandgrain: hard to teach in this environment.
Cerulia Moxie: me again ^_^
Darkblob Omegamu is offline
Roy Sleeper is offline