Language LSL
(SecondLife Script Language)
Date: | 06/04/11 |
Author: | Linden Lab |
URL: | https://marketplace.secondlife.com/stores/67237 |
Comments: | 0 |
Info: | http://wiki.secondlife.com/wiki/LSL_Portal |
Score: | (2.33 in 3 votes) |
// Thorenbuilt - 99 Bottles of Beer // http://99-bottles-of-beer.net/ // As counted in Thor's Tavern, Thorstein's Lair in 1045 // // LSL is an event driven script language used in SecondLife // Because the song is sung in public chat, a regular loop would // make it impossible to hold a normal conversation ("chatspam"). // Instead, a timer event is used for the countdown. // Fill the shelves: float fTimer = 30.0; integer iBottles = 0; integer iMaxLoad = 99; integer iRunning = FALSE; // Pass 'em around: default { // This is where it all begins: state_entry() { iBottles = iMaxLoad; llSay(0, "Touch me to pass the bottles!"); } // Start or stop counting when object is clicked: touch_start(integer iNum) { iRunning = !iRunning; if (iRunning) llSetTimerEvent(fTimer); else { llSetTimerEvent(0.0); llSay(0, "They pulled the plug and stopped the count, " + "holding the bottles of beer on the wall."); } } // It's time to pass another bottle: timer() { string sBottles = " bottles "; if (iBottles > 0) { if (iBottles == 1) // down to the last bottle sBottles = " bottle "; llSay(0, (string)iBottles + sBottles + "of beer on the wall, " + (string)iBottles + sBottles + "of beer."); iBottles--; // take one if (iBottles == 1) // only one left sBottles = " bottle "; if (iBottles > 0) // still more on the wall llSay(0, "Take one down and pass it around, " + (string)iBottles + sBottles + "of beer on the wall."); else // last one gone llSay(0, "Take one down and pass it around, " + "no more bottles of beer on the wall."); } else // go shopping: { llSay(0, "No more bottles of beer on the wall, " + "no more bottles of beer."); iBottles = iMaxLoad; // fill the shelves llSay(0, "Go to the store and buy some more, " + (string)iBottles + sBottles + "of beer on the wall."); } } }
Download Source | Write Comment
Download Source | Write Comment
Add Comment
Please provide a value for the fields Name,
Comment and Security Code.
This is a gravatar-friendly website.
E-mail addresses will never be shown.
Enter your e-mail address to use your gravatar.
Please don't post large portions of code here! Use the form to submit new examples or updates instead!
Comments