Difference between revisions of "Drink script"

From Second Life Wiki
Jump to navigation Jump to search
(New page: === A what? === A drink script, used in many parts of Second Life. Whether it's for food or drink, or roleplay potions and what-not, a drink script is ''always'' included. If it's not, it...)
 
m (<lsl> tag to <source>)
 
(5 intermediate revisions by 5 users not shown)
Line 4: Line 4:


=== Okay, okay, let's get this script, then ===
=== Okay, okay, let's get this script, then ===
<source lang="lsl2">
//Emmas Seetan


string animationToBePlayed = "drinking animation";
integer flag;
default
{
    on_rez(integer start_param)
    {
        llResetScript();
    }
    attach(key id)
    {
    //  when being detached
        if(id == NULL_KEY)
        {
            integer currentPerms = llGetPermissions();
            if (currentPerms & PERMISSION_TRIGGER_ANIMATION)
                llStopAnimation(animationToBePlayed);
        }
    }
    changed(integer change)
    {
        if (change & (CHANGED_OWNER | CHANGED_INVENTORY))
        {
        //  stop animation for old owner
            integer currentPerms = llGetPermissions();
            if (currentPerms & PERMISSION_TRIGGER_ANIMATION)
                llStopAnimation(animationToBePlayed);
        //  reset script to get new owner
            llResetScript();
        }
    }
    state_entry()
    {
        key owner = llGetOwner();
        llRequestPermissions(owner, PERMISSION_TRIGGER_ANIMATION);
    }
    run_time_permissions(integer perm)
    {
        if(perm & PERMISSION_TRIGGER_ANIMATION)
        {
            llStartAnimation(animationToBePlayed);
            llSetTimerEvent(15.0);
        }
    }


//Emmas Seetan
//1st November 2008
//21:59
integer flag = 0;
default
{
    state_entry()
      {
      llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION); //asks the owner's permission
         
    }
    run_time_permissions(integer parm)
    {
    if(parm == PERMISSION_TRIGGER_ANIMATION) //triggers animation
          {
       
        llSetTimerEvent(15); //how often it happens
       
          llStartAnimation("hold_R_handgun"); //animation to play
          }
   
    }
    on_rez(integer st)
    {
      llResetScript();
    }
    attach(key id)
    {
    llStopAnimation("hold_R_handgun"); //stops when detached
      }
   
   
   
   
     timer()
     timer()
     {
     {
     
        if(flag & 1)
            llStartAnimation(animationToBePlayed);
   
 
      if(flag == 1)
        flag = (flag + 1) % 4;
      {
    }
      llStartAnimation("drink"); //starts animation
}
      }
</source>
     
     
     
      if(flag == 3)
      {
    llStartAnimation("drink");
    }
    flag = flag + 1;
   
    if(flag == 4)
    {
    flag = 0;
    }  
   
    }
}

Latest revision as of 20:06, 24 January 2015

A what?

A drink script, used in many parts of Second Life. Whether it's for food or drink, or roleplay potions and what-not, a drink script is always included. If it's not, it's rubbish.

Okay, okay, let's get this script, then

//Emmas Seetan

string animationToBePlayed = "drinking animation";
integer flag;

default
{
    on_rez(integer start_param)
    {
        llResetScript();
    }

    attach(key id)
    {
    //  when being detached
        if(id == NULL_KEY)
        {
            integer currentPerms = llGetPermissions();

            if (currentPerms & PERMISSION_TRIGGER_ANIMATION)
                llStopAnimation(animationToBePlayed);
        }
    }

    changed(integer change)
    {
        if (change & (CHANGED_OWNER | CHANGED_INVENTORY))
        {
        //  stop animation for old owner
            integer currentPerms = llGetPermissions();

            if (currentPerms & PERMISSION_TRIGGER_ANIMATION)
                llStopAnimation(animationToBePlayed);

        //  reset script to get new owner
            llResetScript();
        }
    }

    state_entry()
    {
        key owner = llGetOwner();
        llRequestPermissions(owner, PERMISSION_TRIGGER_ANIMATION);
    }

    run_time_permissions(integer perm)
    {
        if(perm & PERMISSION_TRIGGER_ANIMATION)
        {
            llStartAnimation(animationToBePlayed);

            llSetTimerEvent(15.0);
        }
    }

    timer()
    {
        if(flag & 1)
            llStartAnimation(animationToBePlayed);

        flag = (flag + 1) % 4;
    }
}