Search This Blog

Friday, November 11, 2016

Eat animation script

//Define Animation from the invertory

string anim ="drink";
string anim2 ="hold_R_handgun";

//Trigger Animation

default
{
    attach(key victim)
    {
    if(victim == NULL_KEY)
    {
          llStopAnimation(anim);
          llStopAnimation(anim2);
          llSetTimerEvent(0);
         
        }
        else
        {
         llRequestPermissions(victim,PERMISSION_TRIGGER_ANIMATION);
    }
}

   run_time_permissions(integer permissions)
    {
        if (PERMISSION_TRIGGER_ANIMATION & permissions)
        {
        llStartAnimation(anim);
        llStartAnimation(anim2);
        llWhisper(0,"Chinese Meat Burger!! Delicious!");
        llSetTimerEvent(5);
        }
    }

//Animation Timer

   timer()
   {
    llStartAnimation(anim2);
    llStartAnimation(anim);
    }

}





LSL Script for Visitor Registration and Visitor List


// Global variables
list visitor_list;
float range = 10.0; // in meters
float rate = 1.0; // in seconds


// Set up List

integer isNameOnList( string name )
{
    integer len = llGetListLength( visitor_list );
    integer i;
    for( i = 0; i < len; i++ )
    {
        if( llList2String(visitor_list, i) == name )
        {
            return TRUE;
        }
    }
    return FALSE;
}

// Set up states sensor

default
{
    state_entry()
    {
     llSensorRepeat( "", "", AGENT, range, TWO_PI, rate );
     llListen(0, "", llGetOwner(), "");
   
    }

// Touch to add avatar name to the list    

    touch_start(integer number_detected)
    {
         integer i;
        for( i = 0; i < number_detected; i++ )
        {
            if( llDetectedKey( i ) != llGetOwner() )
            {
                string detected_name = llDetectedName( i );
                if( isNameOnList( detected_name ) == FALSE )
                {
                    visitor_list += detected_name;
                }
            }
        }  
       
        llSay(0, "Visitor List Maker started...");
        llSay(0, "The owner can say 'say list' to review the registration list.");
    }
     
               
// Type "say list" to generate the visitor list   
// Type "help" to review the command
// Type "reset list" to reset the visitor list   
   
    listen( integer channel, string name, key id, string message )
    {
        if( id != llGetOwner() )
        {
            return;
        }
       
        if( message == "help" )
        {
            llSay( 0, "This object records the names of everyone who" );
            llSay( 0, "comes within "+ (string)range + " meters." );
            llSay( 0, "Commands the owner can say:" );
            llSay( 0, "'help'  - Shows these instructions." );
            llSay( 0, "'say list'   - Says the names of all visitors on the list.");
            llSay( 0, "'reset list' - Removes all the names from the list." );
        }
        else
        if( message == "say list" )
        {
            llSay( 0, "Visitor List:" );
            integer len = llGetListLength( visitor_list );
            integer i;
            for( i = 0; i < len; i++ )
            {
                llSay( 0, llList2String(visitor_list, i) );
            }
            llSay( 0, "Total = " + (string)len );
        }
        else
        if( message == "reset list" )
        {
            visitor_list = llDeleteSubList(visitor_list, 0, llGetListLength(visitor_list));
            llSay( 0, "Done resetting.");
        }
    }      
}