Add new files
This commit is contained in:
61
Script Tests/Script tests/Object/KanEd-Test11.lsl
Normal file
61
Script Tests/Script tests/Object/KanEd-Test11.lsl
Normal file
@@ -0,0 +1,61 @@
|
||||
// :CATEGORY:Scripting
|
||||
// :AUTHOR:Justin Clark-Casey (justincc)
|
||||
// :KEYWORDS:Opensim
|
||||
// :REV:1
|
||||
// :WORLD:Opensim
|
||||
// :DESCRIPTION:
|
||||
// One of many tests for Opensim
|
||||
// :CODE:
|
||||
|
||||
integer dialog_channel= 427; // set a dialog channel
|
||||
list menu = [ "Go up", "Go down" ];
|
||||
vector startPosition;
|
||||
float groundLevel;
|
||||
|
||||
default
|
||||
{
|
||||
state_entry()
|
||||
{
|
||||
// arrange to listen for dialog answers (from multiple users)
|
||||
llListen( dialog_channel, "", NULL_KEY, "");
|
||||
|
||||
startPosition = llGetPos();
|
||||
groundLevel = llGround( startPosition );
|
||||
}
|
||||
|
||||
touch_start(integer total_number)
|
||||
{
|
||||
llDialog( llDetectedKey( 0 ), "What do you want to do?", menu,
|
||||
dialog_channel );
|
||||
}
|
||||
|
||||
listen(integer channel, string name, key id, string choice )
|
||||
{
|
||||
vector position = llGetPos();
|
||||
|
||||
// if a valid choice was made, implement that choice if possible.
|
||||
// (llListFindList returns -1 if choice is not in the menu list.)
|
||||
if ( llListFindList( menu, [ choice ]) != -1 )
|
||||
{
|
||||
if ( choice == "Go up" )
|
||||
{
|
||||
if( position.z < ( startPosition.z + 10.0 ) )
|
||||
{
|
||||
llSetPos( llGetPos() + < 0, 0, 1.0 > ); // move up
|
||||
}
|
||||
}
|
||||
else if( choice == "Go down" )
|
||||
{
|
||||
if( position.z > ( groundLevel + 1.0 ) )
|
||||
{
|
||||
llSetPos( llGetPos() + < 0, 0, -1.0 > ); // move down
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
llSay( 0, "Invalid choice: " + choice );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user