aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/bin/assets/ScriptsAssetSet/KanEd-Test14.lsl
diff options
context:
space:
mode:
Diffstat (limited to 'bin/assets/ScriptsAssetSet/KanEd-Test14.lsl')
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test14.lsl70
1 files changed, 70 insertions, 0 deletions
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test14.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test14.lsl
new file mode 100644
index 0000000..2c60035
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test14.lsl
@@ -0,0 +1,70 @@
1integer createdObjectCounter;
2integer linkedObjectCounter;
3
4default
5{
6 state_entry()
7 {
8 llSay( 0, "Hello, Avatar!");
9 linkedObjectCounter = 0; // zero the linked object counter.
10 }
11
12 touch_start(integer total_number)
13 {
14 if( createdObjectCounter <= 0 ) // nothing has yet been linked,
15 { // begin object creation sequence...
16 // ask for permissions now, since it will be too late later.
17 llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS );
18 }
19 else // just do whatever should be done upon touch without
20 { // creating new objects to link.
21 // insert commands here to respond to a touch.
22 }
23 }
24
25 run_time_permissions( integer permissions_granted )
26 {
27 if( permissions_granted == PERMISSION_CHANGE_LINKS )
28 { // create 2 objects.
29 llRezObject("Object1", llGetPos() + < 1, 0, 2 >,
30 ZERO_VECTOR, ZERO_ROTATION, 42);
31 createdObjectCounter = createdObjectCounter + 1;
32
33 llRezObject("Object1", llGetPos() + < -1, 0, 2 >,
34 ZERO_VECTOR, ZERO_ROTATION, 42);
35 createdObjectCounter = createdObjectCounter + 1;
36
37 }
38 else
39 {
40 llOwnerSay( "Didn't get permission to change links." );
41 return;
42 }
43 }
44
45 object_rez( key child_id )
46 {
47 llOwnerSay( "rez happened and produced object with key " +
48 (string)child_id );
49
50 // link as parent to the just created child.
51 llCreateLink( child_id, TRUE );
52
53 // if all child objects have been created then the script can
54 // continue to work as a linked set of objects.
55 linkedObjectCounter++;
56 if( linkedObjectCounter >= 2 )
57 {
58 // Change all child objects in the set to red (including parent).
59 llSetLinkColor( LINK_ALL_CHILDREN, < 1, 0, 0 >, ALL_SIDES );
60
61 // Make child object "2" half-tranparent.
62 llSetLinkAlpha( 2, .5, ALL_SIDES );
63
64 // Insert commands here to manage subsequent activity of the
65 // linkset, like this command to rotate the result:
66 // llTargetOmega( < 0, 1, 1 >, .2 * PI, 1.0 );
67 }
68 }
69}
70