Search This Blog

Showing posts with label Second Life. Show all posts
Showing posts with label Second Life. Show all posts

Wednesday, December 28, 2016

FoodKiosk Design - Hong Kong Dim Sim


Kiosk Design


References:




Food References:




Chinese Meat Burger


Egg Volk Bun

Shrimp Dumpling


 Egg Custard Tart


Spring Egg Roll


Pork Sui Mai 




Chinese herb tea


Yuanyang



Egg Puffs


Egg Waffle


Fish Ball and Sausage





Osmanthus Cake

Rice Noodle Roll

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.");
        }
    }      
}