Add new files
This commit is contained in:
79
Script Tests/Script tests/Object/KanEd-Test14.lsl
Normal file
79
Script Tests/Script tests/Object/KanEd-Test14.lsl
Normal file
@@ -0,0 +1,79 @@
|
||||
// :CATEGORY:Scripting
|
||||
// :AUTHOR:Justin Clark-Casey (justincc)
|
||||
// :KEYWORDS:Opensim
|
||||
// :REV:1
|
||||
// :WORLD:Opensim
|
||||
// :DESCRIPTION:
|
||||
// One of many tests for Opensim
|
||||
// :CODE:
|
||||
|
||||
integer createdObjectCounter;
|
||||
integer linkedObjectCounter;
|
||||
|
||||
default
|
||||
{
|
||||
state_entry()
|
||||
{
|
||||
llSay( 0, "Hello, Avatar!");
|
||||
linkedObjectCounter = 0; // zero the linked object counter.
|
||||
}
|
||||
|
||||
touch_start(integer total_number)
|
||||
{
|
||||
if( createdObjectCounter <= 0 ) // nothing has yet been linked,
|
||||
{ // begin object creation sequence...
|
||||
// ask for permissions now, since it will be too late later.
|
||||
llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS );
|
||||
}
|
||||
else // just do whatever should be done upon touch without
|
||||
{ // creating new objects to link.
|
||||
// insert commands here to respond to a touch.
|
||||
}
|
||||
}
|
||||
|
||||
run_time_permissions( integer permissions_granted )
|
||||
{
|
||||
if( permissions_granted == PERMISSION_CHANGE_LINKS )
|
||||
{ // create 2 objects.
|
||||
llRezObject("Object1", llGetPos() + < 1, 0, 2 >,
|
||||
ZERO_VECTOR, ZERO_ROTATION, 42);
|
||||
createdObjectCounter = createdObjectCounter + 1;
|
||||
|
||||
llRezObject("Object1", llGetPos() + < -1, 0, 2 >,
|
||||
ZERO_VECTOR, ZERO_ROTATION, 42);
|
||||
createdObjectCounter = createdObjectCounter + 1;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
llOwnerSay( "Didn't get permission to change links." );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
object_rez( key child_id )
|
||||
{
|
||||
llOwnerSay( "rez happened and produced object with key " +
|
||||
(string)child_id );
|
||||
|
||||
// link as parent to the just created child.
|
||||
llCreateLink( child_id, TRUE );
|
||||
|
||||
// if all child objects have been created then the script can
|
||||
// continue to work as a linked set of objects.
|
||||
linkedObjectCounter++;
|
||||
if( linkedObjectCounter >= 2 )
|
||||
{
|
||||
// Change all child objects in the set to red (including parent).
|
||||
llSetLinkColor( LINK_ALL_CHILDREN, < 1, 0, 0 >, ALL_SIDES );
|
||||
|
||||
// Make child object "2" half-tranparent.
|
||||
llSetLinkAlpha( 2, .5, ALL_SIDES );
|
||||
|
||||
// Insert commands here to manage subsequent activity of the
|
||||
// linkset, like this command to rotate the result:
|
||||
// llTargetOmega( < 0, 1, 1 >, .2 * PI, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user