60aa8940ed9a394500acc66d8536a505a6bed7f7
[feisty_meow.git] / huffware / huffotronic_scripts / sculpty_morpher_v0.6.txt
1 //
2 // sculpty morpher
3 //needs header.
4
5 integer position;  // which texture are we on?
6
7 change_sculpture()
8 {
9     integer textures_available = llGetInventoryNumber(INVENTORY_TEXTURE);
10     if (textures_available == 0) {
11         // nothing to morph into.
12         return;
13     }
14     position++;
15     if (position >= textures_available) {
16         // we rolled over, so go back.
17         position = 0;
18     }
19     string texture_name = llGetInventoryName(INVENTORY_TEXTURE, position);
20     llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT, texture_name, PRIM_SCULPT_TYPE_SPHERE]); 
21 }
22
23 default {
24     state_entry() { if (llSubStringIndex(llGetObjectName(), "huffotronic") < 0) state real_default; }
25     on_rez(integer parm) { state rerun; }
26 }
27 state rerun { state_entry() { state default; } }
28
29 state real_default
30 {
31     state_entry()
32     {
33         llSetTimerEvent(4.0);
34         position = 0;
35     }
36     
37     timer() {
38         change_sculpture();
39     }
40     
41     changed(integer type) {
42         if (type & CHANGED_INVENTORY) {
43             change_sculpture();
44         }
45     }
46 }