nyuuzyou/wikis huggingface dataset:
AO Overriding Pose Ball

*Click Here To see my page and more of my scripts
Tired of having to turn your animation overrider off and on whenever you want to sit on a poseball? Just drop this script in along with the pose and it will automatically stop your active animations. When you stand up, your AO will still be running and active.
//AO Overrider Pose Ball Script V 1.2
//Updated 11/09/2006
//Created by Jesse Barnett
//Edited to check if there is an animation to stop
//and Sit Position is stored in Object Description
//Drop this in a prim along with an animation. Store the sit
//position in the Object description
//Example; <0.0, 0.0, 1.0>
//If you change this then reset the script by using right
//click/reset for changes to apply immediately. If you forget then it will display
//"reset script" when you sit. Just stand and sit again for changes to take effect
//To see how it works and hear it go through the animations it is stopping, then
//make idebug = TRUE;
integer idebug = FALSE;//if TRUE then llOwnerSay sdebugs
string sdebug;
integer perm;//permissions
string anim2run;//animation in inventory
vector sit_pos;//adjust as needed in object description Example: <0.0, 0.0, 1.0>
list anims2stop;//default or AO sit animation
float sleep = 0.5;//duration of llSleep in seconds
debug(){
	if(idebug == 1)
		llOwnerSay(sdebug);
}
sit_desc_change(){
	if((sit_pos + (vector)llGetObjectDesc()) != (sit_pos* 2))
		llResetScript();
	//This checks to see if the description field matchs the stored position
	else
		llSitTarget(sit_pos, ZERO_ROTATION);
}
stop_anim(){
	integer list_pos = 0;
	integer list_length = llGetListLength(anims2stop);
	sdebug = (string)list_length;
	debug();
	if(list_length > 0){
		while(list_pos < list_length){
			llStopAnimation(llList2String(anims2stop, list_pos));
			sdebug = (string)list_pos;
			debug();
			list_pos++;
		}
	}
}
default{
	state_entry(){
		llSetTouchText("Reset");
		llOwnerSay("Script Reset.");
		anim2run=llGetInventoryName(INVENTORY_ANIMATION,0) ;
		sit_pos = (vector)llGetObjectDesc();
		sit_desc_change();
		perm=llGetPermissions();
	}
	touch_start(integer num_detected) {
		llResetScript();
	}
	changed(integer change){
		if (change & CHANGED_LINK)
			if (llAvatarOnSitTarget() != NULL_KEY){
				llRequestPermissions(llAvatarOnSitTarget(), PERMISSION_TRIGGER_ANIMATION);
			}
		else{
			perm=llGetPermissions();
			if ((perm & PERMISSION_TRIGGER_ANIMATION) && llStringLength(anim2run)>0)
				llStopAnimation(anim2run);
			llSetAlpha(1.0, ALL_SIDES);
		}
	}
	run_time_permissions(integer perm){
		if (perm & PERMISSION_TRIGGER_ANIMATION)
			anims2stop = [];//Clears the list
		sdebug = "perms granted";
		llStopAnimation("sit");
		llSleep(sleep);//need sleep to give avatar time to cycle from stand
		//to default sit to AO sit
		anims2stop = llGetAnimationList(llAvatarOnSitTarget());
		sdebug = llList2CSV(anims2stop);
		debug();
		stop_anim();//This runs the subroutine up top .
		llSetAlpha(0.0, ALL_SIDES);
		llStartAnimation(anim2run);
		sdebug = "anim2run started";
		debug();
	}
}
APIs and Web Services Portal

__NOTOC__ __NOEDITSECTION__
Also see Second Life Develop.
Official Second Life APIs provided by Linden Lab
These are official Second Life APIs provided and documented by Linden Lab.	Official Second Life APIs provided by Linden Lab
These are official Second Life APIs provided and documented by Linden Lab.
== Registration API ==
Enables you to register Second Life residents from your web page.	
== Map API ==
Enables you to embed Second Life Maps onto your web pages.
== Media Plugin API ==
API used by Second Life Viewer media rendering plugins.	
== Inventory API ==
Provides information on agent inventory.
== Live Data Feeds ==
Live data feeds provided by Linden Lab.	
== Viewer Web Widgets ==
Widgets used in the login screen and elsewhere. (Experiment-in-progress!)
== Name to Agent ID API ==
Enables you to translate usernames to their corresponding agent ID.	
Unofficial APIs
This information is not provided or reviewed by Linden Lab. Linden Lab does not guarantee that these APIs work as described or work at all. Use at your own risk!	Unofficial APIs
This information is not provided or reviewed by Linden Lab. Linden Lab does not guarantee that these APIs work as described or work at all. Use at your own risk!
== Snapshot API ==
Format of information contained within snapshots sent from the viewer.	
== Search API ==
Enables you to search Second Life for events, groups, people, places, and also to search this wiki.
== World API ==
API for gathering information on residents, groups, and parcels.	
== Picture Service ==
Web service which retrieves any texture from the Second Life Grid in the JPEG format.
== Third-party / Community Web Services ==
Web services and other APIs provided by third parties related to Second Life but not affiliated with Linden Lab.
Category:Portals
Category:Developer Resources
AS Alpha Animation

<lsl>
/*
 Show one piece of a linkset at a time, in the order specified.
*/
// The names of the linkset pieces in the (looping) order you want them shown.
list ORDER = [ "A", "B", "C" ];
// linkset ID numbers in order
list frames;
// current position in the frames list
integer current_frame = 0;
list ListLinked(list Needles) {
 integer Prims = llGetNumberOfPrims()+1;
 while(--Prims) {
 integer Ptr = llListFindList(Needles,[llGetLinkName(Prims)]);
 if(~Ptr) Needles = llListReplaceList(Needles,[Prims],Ptr,Ptr);
 }
 return Needles;
}
SetFrame( integer frame ) {
 llSetLinkAlpha( LINK_SET, 0.0, ALL_SIDES);
 llSetLinkAlpha( frame, 1.0, ALL_SIDES);
}
default
{
 state_entry() {
 frames = ListLinked( ORDER );
 llSetTimerEvent ( 1.0 );
 }
 
 timer() {
 if (current_frame >= llGetListLength(frames)) current_frame = 0;
 
 SetFrame(llList2Integer(frames, current_frame));
 ++current_frame;
 }
}
</lsl>
AS Flexi Wing Flap

/* 
 Change the gravity settings on flexi child prims named "WING"
 each second to simulate flapping.
*/
// Gravity settings for the flaps
float UP = 1.0;
float DOWN = -1.0;
float MID = 0.0;
// Looping order of the flaps
list FLAPS = [ UP, DOWN, UP, DOWN, UP, DOWN, MID, MID, MID, MID ];
// internal values
integer current_flap = 0;
list WingIDs = [];
list LinkedList(string Needle) {
 list Needles;
 integer Hay = 1;
 integer Stacks = llGetNumberOfPrims();
 for(; Hay <= Stacks; ++Hay ) if(llGetLinkName(Hay) == Needle) Needles += Hay;
 return Needles;
}
default
{
 state_entry() {
 WingIDs = LinkedList( "WING" );
 llSetTimerEvent( 1.0 );
 }
 
 timer() {
 if ( current_flap >= llGetListLength(FLAPS) ) current_flap = 0;
 
 integer x = llGetListLength(WingIDs);
 integer y = 0;
 for ( ; y < x; ++y )
 {
 llSetLinkPrimitiveParamsFast( llList2Integer( WingIDs, y ), 
 [PRIM_FLEXIBLE, TRUE, 1, 
 llList2Integer(FLAPS, current_flap), 
 0.0, 0.0, 1.0 , <0, 0, 0>]);
 }
 
 ++current_flap;
 }
}
AS Sculpt Map Swap

<lsl>
/*
 Swap the sculpt map shown on the prim
 in the linkset named "BODY"
*/
// Looping order of the sculpt maps.
list MAPS = [ "MAP1", "MAP2", "MAP3" ];
// internal values
integer current_map = 0;
integer LinkID = 0;
integer Linked(string Needle) {
 integer Prims = llGetNumberOfPrims()+1;
 while(--Prims) if(llGetLinkName(Prims) == Needle) return Prims;
 return 0;
}
default
{
 state_entry() {
 LinkID = Linked( "BODY" );
 llSetTimerEvent( 1.0 );
 }
 
 timer() {
 if ( current_map >= llGetListLength(MAPS) ) current_map = 0;
 
 llSetLinkPrimitiveParamsFast( LinkID, 
 [PRIM_TYPE, PRIM_TYPE_SCULPT, 
 llList2String(MAPS,current_map), 
 PRIM_SCULPT_TYPE_SPHERE] );
 
 ++current_map;
 }
}
</lsl>
AS Texture Animation

<lsl>
/*
 Animate the texture showing on all prims
 in the linkset named "EYE"
*/
// internal values
list LinkIDs = [];
list LinkedList(string Needle) {
 list Needles;
 integer Hay = 1;
 integer Stacks = llGetNumberOfPrims();
 for(; Hay <= Stacks; ++Hay ) if(llGetLinkName(Hay) == Needle) Needles += Hay;
 return Needles;
}
default
{
 state_entry() {
 LinkIDs = LinkedList( "EYE" );
 
 integer x = llGetListLength(LinkIDs);
 integer y = 0;
 for ( ; y < x; ++y )
 {
 llSetLinkTextureAnim( llList2Integer(LinkIDs,y), ANIM_ON | LOOP | PING_PONG, ALL_SIDES, 2, 2, 0, 4, 10.0 );
 }
 }
}
</lsl>
AWG2 Agenda

* Logistics
** meetings
** drafts
*** style of a standard
*** commentary
** interoperability
*** plan of attack
*** state of LL's code
* SLGOGP structure
** three entities
** resources
** capabilities
** event queues
* Phases
** Phase 1
*** login
*** teleport
*** agent presence
** Phase 2
*** inventory
*** IM
*** L$ transfers
*** friends
*** AV baked textures
** Phase 3 & Beyond
*** AV profile (info/picks/interests/1stlife)
*** AV comments
*** Groups (info/membership/roles/notices/votes)
*** Classifieds
*** Events
*** Viewer stats
*** User report
*** Names
*** Mutes
*** Gestures
*** Animations (? are these in some other message?)
*** Home
*** Wearables
*** Postcard
* Other Issues
** Permissions
Category:AW Groupies
AWG: Cross Domain Trust issues

=== Cross Grid / Cross Domain Trust Issues ===
* Each Major area, A, B, H and P are trust domains. The components within trust each other fully, and don't need to do special work to manage trust and security. 
* The domains are informally:
** Service Provider Grids A and B: A large, complete grid, with a full set of utilities, including asset storage, currency, escrow, an instant messaging service, map and geography services. 
** Hosting Domain H: A smaller hosting company which allows individual entities to host region simulators, and provides asset storage services in support of these regions. This hoster does not manage agents, or users, but rather serves to provide virtual real estate, and the storage of virtual assets, separate from other grids. 
** Private region P: A small region of virtual land, with no utilites or services. It does not directly expose any assets or users to other domains
Note: These are three slices of the functional set which makes up a workable virtual world. There are may others, and we will likely examine them in future sections of this write up. Examples include local copies of land, pure agent domains, pure utility hosting domains, private complete domains. Each of these will introduce additional requirements and use cases. 
==== The core problems ====
* Are uuids sufficiently unique for these cases?
* When is it safe to pass an entity to a component outside mytrust domain? (The core issue)
** Note: Textures are already loose in the world, if we send them to clients
* Where do I run scripts?
** Note: the script creator may not want the script exposed to other servers
** Note: A domain provider may not want to run arbitrary scripts, given virus, malware concerns
* Rezzing No-copy entities would cause the entity to leave one domain and enter another
* 
==== Some issues ====
Category:AW Groupies User Pages
AWG Domain rationale discussion

This is intended to explain, in some detail, the basis for the definition offered in the glossary. Please feel free to add to it, ask questions, and generally help articulate this more clearly
Glossary entry
In normal usage, within computer architecture, a domain is a span of authority or trust, or in the case of DNS, a subtree of name space. Linden has proposed splitting the current flat system into an agent domain, and a region domain, and then, multiple agent and region domains. (in the 2008 picture, we see SecondLife Agents, XYZ Employees, XYZ land, and LindenMainland, as examples of domains, as well as a third domain, marked as central utilities. This strongly implies that domains which are both functional as well as trust/authority based. 
Pragmatically, domains are only useful, if they give us some leverage in building the system. In other words, when we separate a set of components into a domain, we should expect to gain some technical leverage from the distinction. Grouping services by trust, for example permits us to use lower cost mechanisms to establish trust between services in the domain. Grouping services by function, seems less obvious, unless there is a very specific load balancing benefit from the grouping. (There may be perfectly good reasons for a company hosting a service to group servers by function for administrative purposes, or for example to provide a 3rd party acceleration service for one or more functions, but that is not being considered at this time.)
So... abstractly, a domain is a grouping of resources which have some properties in common, such that we can use those properties when structuring the system, on an architectural level. 
In software terms we could imagine having an web service which permits us to determine the membership and the properties of a domain. (This would require having useful markup for these properties) Note that both explicit and implicit domains exist in the current world. (any machine that is resolvable as .ibm.com 
is in the .ibm.com domain in DNS space, even tho we cannot fully enumerate them, and they share no other properties. All the machines in a lan server domain may be enumerable, and share a single administrative password. 
There are other useful meanings of the word domain, and we might discuss domain experts, and the "scalability domain" in our discussion, but they aren't used in understanding the architecture we are trying to explain, and as such, can be left to common usage. 
==== AWG Components =====
These components are a part of the AWG Domain:
* Identity
* Scalability
* Decentralization
* Virtualization
* Geometry
* Physics
Category: AW Groupies
AWG Meeting 1

The first official meeting of the Architecture Working Group occurred on September 13, 2007.
Resources:
* ArchWG_Mtg_1_Agenda
* Zero Linden's summary
* Workitems for Meeting 1
* 2007-09-13 Arch WG Minutes
AWG member comments:
* User:Zha Ewry/comments on meeting 1
* User:Tree Kyomoon/comments on meeting 1
* User:Diva Canto/AWG Review
* User:Finrod Meriman/AWG Feedback
* User:Gareth Ellison/Views of the Gareth
* User:Omei Turnbull/Thoughts on asset domains
* Tao Takashi's blog post
* Gigs' Seventh Sun Article mirror
Category:Architecture Working Group
AWG Meeting 2

The second meeting of the Architecture Working Group was held on 18 March 2008, 8am-11:30am PDT.
Topic: 
* Review of Second Life Grid Open Grid Protocol Draft 1
* AWG2 Agenda
Resources:
* AWG2 Chat Transcript
* Tao Takashi's audio & video recording of the meeting
** part 1
** part 2
AWG member comments:
* Tao's blog commentary
Category:Architecture Working Group
AWG flows login

=== AWG Login strawman ===
This is a strawman flow for first contact to rezzed avatar. It is very much a rough cut, work in progress, choose your favorite words to indicate raw, unfinished, proto work. 
We will describe two sub cases. One with the agent host coordinating, one with the client in control. Note that the calls made are similar, the locus of control merely changes. 
* Components
** User Client
** Initial Authentication and profile Service: SecundusVita
** Agent Domain host
** Presence Management service 
** Public Asset Host Public_asset_host_a
** Public Asset Host Public_asset_host_b
** Private asset Host Private_asset_host_p
** Simulator host JoesDiner
See also Second_Life_Login_API_Strawman
=== Sequence ===
# Initial login
The client contacts a well known hosting server, "SecundsVita" and passes in it's login information.
The client receives back, a set of annotated services and properties which represent the services the client will contact 
in the next steps. This includes:
## The capability form of the login service for the agent domain host for the avatar 
In order to pass this capability, the hosting server must perform several subordinate flows
### locate agent host for avatar
This will cause a lookup to be done, which will return the service hosts desired server for the agent host
### Create hosting capability 
This is a call on the agent host, which causes it to create and return a capability for the client to use when contacting the agent host. (Note this nicely secures the connection) 
## A set of properties about the avatar (enumerating where the avatars assets are stored, the last sim the avatar was in, the home sim of the avatar... )
# Agent domain login
# The client uses the capability acquired in step X to connect to the agent host. It passes the properties from step X, along with any additional ones it cares to add. 
The agent host then performs a set of steps to get the agent populated and ready to use
(Two paths here. We pass the properties up, or the agent domain fetches them, I think I prefer the client passing them up, but I can be had on doing it elsewise.)
The agent host gets assets
## presence host, post login agent credentials X, no location
## Public_asset_host A, get current agent state (stored set of assets defining the agent's appearence, etc) 
## Public_asset_host A, Get asset list for agent credentials X
## public_asset_host B, get asset list for agent credentials X
## private_asset_host P, get asset list for agent credentials X
The agent host stores the assets lists and, possibly, signals the client to begin downloading themm
The agent host contacts the sim requested by the client (we'll assume, last, home, or specified, similar to SL today) 
## Sim54, request agent arrival, agent credentials X, location X,Y,Z (returns a capability to the agent proxy on the sim, if allowed)
## Agent host passes the capability to the client
## Sim54//capability, Rez Agent, AssetList (Returns, X,Y,Z of agent)
## presence host, post agent rez, Sim, X,Y,Z
Category: AW Groupies
AW Groupies In-World Meeting Agenda

Next AW Groupies meeting:
:: 2010-May-4 0930 PDT
Please help fill in this agenda outline! Don't be shy.
Latha Serevi will host a discussion on the theme of "proxy-based interop". 
== Interop use cases relevant to proxy-based interop ==
:# IRC and XMPP bridging
:# Enhanced world interactions
:## Double-click TP (Par)
:## Viewer ident (Par)
:# Viewer UI enhancements
:## separable windows (SNOW-375)
:# mix and match client features 
:# Server-side rendering (??)
:# 3d scene adapters across incompatible VW's
== Examples of proxy-based and other approaches ==
:# Proxies based on SL packets and libomv
:## XMPP bridging Dahlia's proxy way
:## LordGregGreg's http://code.google.com/p/par/
:# hypothetical VWRAP proxies
:# Relay agents using multiple client-style connections
:## IRC and XMPP bridging Latif's way (Radegast agent with plugins)
:# Loosely coupled client UI components
:## SNOW-375 (Dzonatas), provides http interface to viewer/world state
:## wouldn't a SNOW-375 style REST API fit nicely into a (thick) proxy?
== Common Problems with Proxies ==
The GridProxy that is supplied with libOpenMetaverse is an excellent piece of technology, but long-term experience with it highlights that there are a few problems with the approach:
:# Users need a certain amount of networking awareness
:# Viewer has to be directed at proxy instead of at the target world
:# Proxy needs to be brought up manually before the viewer
:# There can be only one proxy at a time, which limits flexibility
:# Terminating the proxy kills or disables the viewer session
These problems severely hamper widespread deployment and adoption of proxies as a regular user facility for non-technical users. Technical users are inconvenienced by these issues as well.
== A Solution to the Problem with Proxies ==
There is a technical solution to the problems outlined above.
:# Replace the inline proxy process by a transparent proxy thread in the viewer
:# The viewer would connect to the desired target world in the normal manner
:# By default the proxy thread would be fully transparent and do nothing
:# Proxy programs/scripts can be loaded into or unloaded from the proxy thread
:# From a user perspective, the "problem with proxies" vanishes.
Possible implementation options:
:# Either load proxy code directly into the proxy thread (fast but not robust),
:# Or run a listener in the thread and attach proxy plugins to it via a socket:
:::* This places the proxy process "on the side" of the transparent inline thread which funnels the traffic into and back out of the socketed plugin process.
:::* Any number of such proxy processes could be attached and processed in parallel.
:::* A proxy process could be killed at any time (or could fail and die through software error), and the viewer would continue working normally --- the proxy thread would become transparent again as soon as the socket is disconnected.
Category: AW Groupies
A 195 Sim Group

A195 is a Sim Group. It is located at Coordinates 1165-1173/1006-1006, Grid Sector K10, Eastern Ocean, Sharp Sea. It is North to Sharp Continent, the old piece of mainland for the teen grid. A195 has only 5 sims and is a remnant of the teen gird estates. It has reduced size to a third. The sims are from East to West as follows:
* Epic looks like suburbs, but with a lot of Unused Land
* Eutopia is a rural sim with green grass, flowers, farms, a church and a country road.
* Eros was closed at our survey.
* Eden has restricted access for entire sim.
* Ella was closed at our survey.
To East, there was another sim.
== See Also ==
Second Life Geography
List Of Microcontinents And Sim Clusters
Oceans
Abderos

Abderos is part of the Pillars of Herakles Estate. The estate was part of New Pride Land and is now part of the Gay Archipelago, the estate has 3 sims: Hylas, Abderos and Phrix.
Like every island of the estate, the sim gets his name from a male lover of Herakles (Hercules in Latin). Abderos was son of Hermes. He was a lover and companion of Herakles in the 12 labors of the greek hero. The eighth labor consisted for Herakles to fetch the man-eating mares from King Diomedes of Bistonia, a thracian tribe. After he captured the mares, the Bistonians attacked the camp and Herakles enthrusted the mares to Abderos. He was dragged around and devoured by them while Herakles fighted and killed the King. According to other sources Herakles captured the King and fed Diomedes to the beasts.
Abderos is a mature residential sim. It is made of 3 residential islands. It is a homestead sim.
See also Hylas, the first sim full sim of the estate.
Category:Private Estates
New Pride Land
AbortXfer

==Message Layout==
{
	AbortXfer Low NotTrusted Unencoded
	{
		XferID				Single
		{	ID				U64	}
		{	Result			S32	}
	}
}
==Usage and Notes==
Used for Xfer Manager transfers
*ID - Unique ID of the transfer
*Result - Error code 
** -42 - Cannot Open File
** -43 - File Not Found
** -44 - File Empty
Category:Messages