Difference between revisions of "User:Kephra Nurmi/lsDisplay"

From Second Life Wiki
Jump to navigation Jump to search
m (<lsl> tag to <source>)
 
(3 intermediate revisions by one other user not shown)
Line 4: Line 4:
Just drop the script into a prim, resize X, and drop your pictures into the prims content.
Just drop the script into a prim, resize X, and drop your pictures into the prims content.


=== Script .lsDisplay simple 09221 ===
=== Script .lsDisplay simple 10321 ===
   
   
<lsl>
<source lang="lsl2">
// .lsDisplay simple 09221 (c) Kephra Nurmi 2007
// .lsDisplay simple 10321 (c) Kephra Nurmi 2007
// published under Creative Commons Attribution-Share Alike 3.0 License
// published under Creative Commons Attribution-Share Alike 3.0 License
 
string name = "";
string name = "";
 
integer pos = 0;
integer random = FALSE;
tick() {
tick() {
     if (name != "") {
     if (name != "") {
Line 17: Line 19:
         llSetTexture(name, 3);
         llSetTexture(name, 3);
     }
     }
    integer choice;
     integer number = llGetInventoryNumber(INVENTORY_TEXTURE);
     integer number = llGetInventoryNumber(INVENTORY_TEXTURE);
     if (!number) return;
     if (!number) return;
     float rand = llFrand(number);
     if (random) {
     integer choice = (integer)rand;
        choice = (integer)llFrand(number);
     } else {
        choice = pos;
        pos++;
        if (pos >= number) pos = 0;
    }
     name = llGetInventoryName(INVENTORY_TEXTURE, choice);
     name = llGetInventoryName(INVENTORY_TEXTURE, choice);
     if (name != "") llSetTexture(name, 5);
     if (name != "") llSetTexture(name, 5);
}
}
 
reshape() {
reshape() {
     vector size = llGetScale();
     vector size = llGetScale();
Line 31: Line 39:
     llSetTexture(TEXTURE_BLANK, ALL_SIDES);
     llSetTexture(TEXTURE_BLANK, ALL_SIDES);
}
}
 
default {
default {
     state_entry() {
     state_entry() {
Line 41: Line 49:
     }
     }
     timer() {
     timer() {
        tick();
    }
    touch_start(integer n) {
         tick();
         tick();
     }
     }
Line 48: Line 59:
     }
     }
}
}
</lsl>
</source>


== Ready to use lsDisplay Poster Cycler  ==
== Ready to use lsDisplay Poster Cycler  ==


You can pick a ready to use lsDisplay Poster Cycler in my home at [[http://slurl.com/secondlife/Apoda/243/86/51 Apoda]].
You can pick a ready to use lsDisplay Poster Cycler in my home at [[http://slurl.com/secondlife/Apoda/237/92/53 Apoda]].


{{LSLC|Library}}
{{LSLC|Library}}

Latest revision as of 23:45, 24 January 2015

The simple lsDisplay is a random picture cycler with a preloader on the inside of the prim. Just drop the script into a prim, resize X, and drop your pictures into the prims content.

Script .lsDisplay simple 10321

// .lsDisplay simple 10321 (c) Kephra Nurmi 2007
// published under Creative Commons Attribution-Share Alike 3.0 License
 
string name = "";
integer pos = 0;
integer random = FALSE;
 
tick() {
    if (name != "") {
        llSetTexture(name, 1);
        llSetTexture(name, 3);
    }
    integer choice;
    integer number = llGetInventoryNumber(INVENTORY_TEXTURE);
    if (!number) return;
    if (random) {
        choice = (integer)llFrand(number);
    } else {
        choice = pos;
        pos++;
        if (pos >= number) pos = 0;
    }
    name = llGetInventoryName(INVENTORY_TEXTURE, choice);
    if (name != "") llSetTexture(name, 5);
}
 
reshape() {
    vector size = llGetScale();
    llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_BOX, PRIM_HOLE_SQUARE, <0.0, 1.0, 0.0>, 0.95, <0.0, 0.0, 0.0>, <1.0, 1.0, 0.0>, <0.0, 0.0, 0.0>]);
    llSetScale(<size.x, 0.01, size.x*2/3>);
    llSetTexture(TEXTURE_BLANK, ALL_SIDES);
}
 
default {
    state_entry() {
        reshape();
        llSetText("", <0,1,0>,1);
        tick();
        tick();
        llSetTimerEvent(60.0);
    }
    timer() {
        tick();
    }
    touch_start(integer n) {
        tick();
    }
    changed(integer change) {
        if (change & CHANGED_SCALE) reshape();
        if (change & CHANGED_INVENTORY) tick();
    }
}

Ready to use lsDisplay Poster Cycler

You can pick a ready to use lsDisplay Poster Cycler in my home at [Apoda].