Standart Type Animation Shutoff

Expired

// Disable the standard typing animation - it should not disable custom typing
// animations unless those are activated by detecting the standard animation.
//
// This script will work in an attachment or a sit target
//
// This script is free to use, copy, or modify, but I do ask that you give credit
// to me and any subsequent authors.
// Created 12 December 2007 by Maxwell Weatherwax
integer gSitting = FALSE;

default
{
    state_entry() {
        // Remove this if you already set the sit target in another script.
        llSitTarget(<0., 0., 0.1>, ZERO_ROTATION);
    }

    changed(integer change)
    {
        if (change & CHANGED_LINK) {
            key id = llAvatarOnSitTarget();
            if (id != NULL_KEY) {
                gSitting = TRUE;
                llRequestPermissions(id, PERMISSION_TRIGGER_ANIMATION);
            } else if (gSitting) {
                gSitting = FALSE;
                llSetTimerEvent(0.0);   // cancel the timer when the av stands up
            }
        }
    }
    
    attach(key id)
    {
        if (id != NULL_KEY)
            llRequestPermissions(id, PERMISSION_TRIGGER_ANIMATION);
        else
            llSetTimerEvent(0.0);   // cancel the timer when detached.
    }
    
    run_time_permissions(integer perm)
    {
        if (perm & PERMISSION_TRIGGER_ANIMATION)
            llSetTimerEvent(0.2);
    }

    timer()
    {
        list anims = llGetAnimationList(llGetOwner());
        if(llListFindList(anims,[(key)("c541c47f-e0c0-058b-ad1a-d6ae3a4584d9")]) != -1)
        {
            llStopAnimation("c541c47f-e0c0-058b-ad1a-d6ae3a4584d9");
        }

    }
}

 

Multi Pose Stand

Expired

//Multipose Stand --  Rolig Loon -- 7/09/09 -- Updated March 2011

// Place this script and your animations in a prim pose stand.
// Touch pose stand to select the next animation in inventory or
// type chat commands in channel 47.
// Type /47 HELP to see a list of chat commands.

integer ThisAnim = 0;
integer NumAnims = 0;
string CurrAnim = "turn_180";
string HoldName;
key agent;

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

	state_entry()
	{
		HoldName = llGetObjectName();
		llSetAlpha(1.0,ALL_SIDES);
		llSetObjectDesc("Chat commands on channel 47");
		NumAnims = llGetInventoryNumber(INVENTORY_ANIMATION);
		llListen(47,"","","");
		llSetSitText( "Stand" );
		llSitTarget( <0.00, 0.00, 0.80>, ZERO_ROTATION );
	}

	listen(integer channel, string thing, key id, string message)
	{
		if(id == agent)
		{
			if (llToUpper(message) == "ON")  // Make the stand visible
			{
				llSetAlpha(1.0,ALL_SIDES);
			}
			else if (llToUpper(message) == "OFF")  //  Make ths stand invisible
			{
				llSetAlpha(0.0,ALL_SIDES);
			}
			else if (llToUpper(message) == "LIST")  // LIST all available animations by number
			{
				integer j;
				for (j=0;j<= NumAnims-1;j=j+5)
				{
					llInstantMessage(id,"/me " + (string)(j+1) + " = " + llGetInventoryName(INVENTORY_ANIMATION,j) +" \n"
						+  (string)(j+2) + " = " + llGetInventoryName(INVENTORY_ANIMATION,j+1) +" \n"
						+  (string)(j+3) + " = " + llGetInventoryName(INVENTORY_ANIMATION,j+2) +" \n"
						+  (string)(j+4) + " = " + llGetInventoryName(INVENTORY_ANIMATION,j+3) +" \n"
						+  (string)(j+5) + " = " + llGetInventoryName(INVENTORY_ANIMATION,j+4));

				}
			}
			else if (llToUpper(message) == "SHOW") //SHOW the currently active animation in chat
			{
				llInstantMessage(id,"/me Current Animation " + (string)ThisAnim + " = " + CurrAnim);
			}
			else if (llToUpper(message) == "NOTE")
			{
				llGiveInventory(id,"MultiPose Instructions"); // Give instruction notecard
			}
			else if (llToUpper(message) == "HELP")
			{
				llInstantMessage(id,"/me Left click the pose stand to advance poses or use chat commands on channel 47:");
				llInstantMessage(id,"/me     LIST produces a list of available poses with key numbers.\n"
					+ "        Typing a key number advances immediately to that pose in the LIST.\n"
					+ "        SHOW displays the key number and name of the current animation.\n"
					+ "        ON makes the pose stand visible.\n"
					+ "        OFF makes the pose stand invisible.\n"
					+ "        NOTE offers instructions on a notecard. \n"
					+ "        HELP produces this message.");
			}
			else
			{
				ThisAnim = (integer)message -1; //Listen for an optional direct command to apply animation #message
				if ((integer)message > NumAnims | (integer)message <= 0)
				{
					llInstantMessage(id,"/me Please type a number between 1 and " + (string)(NumAnims));
					ThisAnim = 0;
				}
				else
				{
					llStopAnimation(CurrAnim);
					CurrAnim = llGetInventoryName(INVENTORY_ANIMATION, ThisAnim%NumAnims);
					llStartAnimation(CurrAnim);
					llInstantMessage(id,"/me " +(string)(ThisAnim+1) + " = " + CurrAnim);
					++ThisAnim;
					ThisAnim = ThisAnim%NumAnims;
				}
			}
		}
	}

	touch_start(integer num_detected)
	{
		if (llDetectedKey(0) == agent)
		{
			llStopAnimation(CurrAnim);
			if(NumAnims != 0)
			{
				CurrAnim = llGetInventoryName(INVENTORY_ANIMATION, ThisAnim%NumAnims);
				llStartAnimation(CurrAnim);
				llInstantMessage(llDetectedKey(0),"/me " + (string)(ThisAnim+1) + " = " + CurrAnim);
				++ThisAnim;
				ThisAnim = ThisAnim%NumAnims;
			}
			else
			{
				llStartAnimation("turn_180");  // The default if there are no stored animations is the SL Appearance stance
			}
		}
	}

	changed(integer change)
	{
		if (change & CHANGED_LINK)
		{
			agent = llAvatarOnSitTarget();
			if (agent)
			{
				llInstantMessage(agent,"Click the pad to start and advance animations. Type \"/47 help\" for chat commands.");
				llRequestPermissions(agent,PERMISSION_TRIGGER_ANIMATION);
			}
			else 
			{
				if ( llGetPermissions() == PERMISSION_TRIGGER_ANIMATION)
				{
					llStopAnimation(CurrAnim);
					llSetObjectName(HoldName);
				}
				llResetScript();
			}
		}
		else if (change & CHANGED_INVENTORY)
		{
			llResetScript();
		}
	}

	run_time_permissions(integer parm)
	{
		if(parm == PERMISSION_TRIGGER_ANIMATION)
		{
			llStopAnimation("sit");
			llSetAlpha(0.0,ALL_SIDES); //Make the pose stand invisible
			llSetObjectName("");
			llStartAnimation(CurrAnim);
		}
	}
}

 

Basic Pose Ball script

Expired

This script is almost as simple as can be, so it is easy to make changes to. To use it:

  1. Type the desired animation name into the script by replacing the default build in: "stand".
  2. If the animation is not build in, then drop the animation in the pose ball prim
  3. Save(compile) the script in the pose ball prim

Besides handling the animation, the script has only few features:

  1. It hides the ball prim on sit and shows it on unsit
  2. Sets SitText to the name of the animation
  3. Has neither hide or show on chat commands. This makes it "Low Lag"
  4. Has no floating/hover text

 

// Basic pose ball script. by Dora Gustafson, Studio Dora 2010
// Free for anybody to read, copy, modify, compile, use, rip apart, trample on and flush
// v1.3 with Set Click Action

string animation = "stand"; // name of build in animation or animation in prim inventory 

default
{
    state_entry()
    {
        llSitTarget( <0.0, 0.0, 0.01>, ZERO_ROTATION );
        llSetSitText(llToUpper(animation));
        llSetClickAction(CLICK_ACTION_SIT);
    }
    changed(integer change)
    {
        if (change & CHANGED_LINK)
        {
            key sitter = llAvatarOnSitTarget() ;
            if(sitter != NULL_KEY) llRequestPermissions(sitter , PERMISSION_TRIGGER_ANIMATION);
            else
            {
                if (llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) llStopAnimation(animation);
                llSetAlpha(1.0, ALL_SIDES); // show prim
            }
        }
    }
    run_time_permissions(integer perm)
    {
        if ( perm & PERMISSION_TRIGGER_ANIMATION )
        {
            llSetAlpha(0.0, ALL_SIDES); // hide prim
            llStartAnimation(animation);
            llStopAnimation("sit");
        }
    }
}

 

Fire On/Off Script

Expired

// OnOffFire -- LSL script to toggle looping animation of fire on and off
//   with spoken commands "ignite fire" and "douse fire"
//
// Uses the free "lit_texture" created by kohne Kato.

// OnOffFire.lsl is Copyright (C) 2007 Prospero Frobozz
//
// This script is free software, available under the GNU GPL version 2.
// You are free to use it, modify it, or distribute it.  If you distribute
// this script or any modified versions, they must also be under the GNU GPL.
// This means that the script itself must be mod/copy/transfer.  Objects that
// use the script, or other components of such objects, do not themselves need
// to be mod/copy/transfer, but the script, or any other scripts derived from
// it, must.  In addition, the full text of the GNU GPL (in Notecard "GNU GPL
// v2") must be included whenever this script or any script derived from this
// script is distributed.

default
{
     state_entry()
     {
         llSetStatus(STATUS_PHANTOM, TRUE);
         llSetTextureAnim (ANIM_ON | LOOP, ALL_SIDES, 4, 4, 0, 0, 15.0);
         llSetTexture("lit_texture", 3);
         llSetTexture("lit_texture", 1);
         llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, <1 , 0.9, 0.7>, 
                                1.0, 10.0, 0.75]);
         llListen(0,"","","");
     }

     listen(integer number, string name, key id, string message)
     {
        message=llToLower(message);
        if(message=="douse fire")
        {
            llSetTexture("alpha",ALL_SIDES);
            llSetTextureAnim(0, ALL_SIDES, 4, 4, 0, 0, 15.0);
            llSetPrimitiveParams([PRIM_POINT_LIGHT, FALSE, <1 , 0.9, 0.7>,
                                    1.0, 10.0, 0.75]);
        }
        else if(message == "ignite fire")
        {
            llSetTextureAnim (ANIM_ON | LOOP, ALL_SIDES, 4, 4, 0, 0, 15.0);
            llSetTexture("lit_texture", 3);
            llSetTexture("lit_texture", 1);
            llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, <1 , 0.9, 0.7>, 
                                   1.0, 10.0, 0.75]);
        }
    } 
}