nyuuzyou/wikis huggingface dataset:
Notecard reading

Here is a notecard reading template I use as a starting point.
//Notecard Reading template
//Copyright 2007, Gigs Taggart
//Released under BSD license
//https://opensource.org/license/BSD-2-Clause
key gSetupQueryId;
integer gSetupNotecardLine;
string gSetupNotecardName = "setup";
//define config variables here
string gPassword;
readSettingsNotecard()
{
 gSetupNotecardLine = 0;
 gSetupQueryId = llGetNotecardLine(gSetupNotecardName, gSetupNotecardLine); 
}
default
{
 state_entry()
 {
 readSettingsNotecard();
 }
 dataserver(key queryId, string data)
 {
 if(queryId == gSetupQueryId) 
 {
 if(data != EOF)
 {
 list tmp = llParseString2List(data, ["="], []);
 string setting = llList2String(tmp, 0);
 
 if (setting == "password")
 {
 gPassword=llList2String(tmp, 1);
 }
 //add more if statements here, for each config variable
 //you can also do stuff like variable=val1,val2,val3, simply
 //do llCSV2List(llList2String(tmp, 1));
 
 gSetupQueryId = llGetNotecardLine(gSetupNotecardName, ++gSetupNotecardLine); 
 }
 else
 {
 state running; 
 }
 }
 } 
 changed(integer change)
 {
 if (change & CHANGED_INVENTORY)
 llResetScript();
 }
}
state running
{
 changed(integer change)
 {
 if (change & CHANGED_INVENTORY)
 llResetScript();
 }
}
Category: LSL Examples
Notecards OS

=== Feature Design Document ===
(none)
=== Functional Spec ===
(none)
=== Test scripts ===
Notecard Test
=== Discussion for future improvements ===
(none)
=== Relationship to other features ===
 List of features that need to be tested when this feature changes, and why. 
* Scripts - The script editor uses much of the same code as Notecards.
=== User Guides ===
(none)
NumberFormat

=== string NumberFormat(integer) ===
You can use this to take large numbers and format them to be comma separated by thousands.
string NumberFormat(integer number)
{
 string output; 
 integer x = 0;
 string numberString = (string)number;
 integer numberStringLength = llStringLength(numberString);
 integer z = (numberStringLength + 2) % 3;
 
 for(;x < numberStringLength; ++x)
 {
 output += llGetSubString(numberString, x, x);
 if ((x % 3) == z && x != (numberStringLength - 1))
 output += ",";
 }
 
 return output;
}
Numéro gratuit dans plusieurs pays pour le service facturation

==Vous pouvez maintenant appeler le service facturation gratuitement dans la plupart des pays !==
Nous sommes heureux d'annoncer l'activation de plusieurs numéros de téléphone gratuits pour nos résidents internationaux.
Des numéros verts sont désormais disponibles en France, en Allemagne, au Japon, au Portugal, en Espagne et au Royaume-Uni.
Des représentants du service consommateur pourront répondre en anglais à toutes vos questions de facturation ou de compte. Si vous avez besoin d'aide dans votre langue, veuillez contacter l'assistance en envoyant un ticket (Submit a ticket) et en sélectionnant l'une des langues dans le menu déroulant. Un agent vous répondra aussi rapidement que possible dans la langue indiquée. Le portail d'assistance est également disponible en allemand.
Ces numéros verts sont disponibles 24h/24, 7j/7.
France : 0805.101.490
Allemagne : 0800.664.5510
Japon : 0066.33.132.830
Portugal : 800.814.450
Espagne : 800.300.560
Royaume-Uni : 0800.048.4646
De l'Allemagne au Japon, nos équipes sont là pour vous aider et répondre à vos questions de compte et de facturation. N'hésitez pas à les appeler gratuitement !				
							
*Toll-free-billing-support-now-available-to-more-countries
Category:Blog Translations
Número gratuito de suporte a sua conta está agora disponível para mais países!

== Número gratuito de suporte a sua conta está agora disponível para mais países! ==
Temos o prazer de anunciar a activação de várias linhas de telefone gratuitas de suporte as contas para os nossos residentes de todo o mundo!
As linhas de apoio estão agora disponíveis em França, Alemanha, Japão, Portugal, Espanha e Reino Unido.
O nosso apoio ao cliente em Inglês está disponível para ajudá-lo com as suas questões sobre a sua conta. Se você precisar de ajuda no seu idioma preferido, por favor envie um bilhete (ticket) através do nosso portal e escolha o apoio na sua língua.
Um assistente vai responder-lhe logo que esteja disponível
A ajuda também está disponível através do nosso portal alemão de apoio.
Estas linhas estão disponíveis 24 horas por dia, 7 dias por semana para apoiar as vossas necessidades.
França: 0805.101.490
Alemanha: 0800.664.5510
Japão: 0066.33.132.830
Portugal: 800.814.450
Espanha: 800.300.560
Reino Unido: 0800.048.4646
Nossa equipe de apoio está a postos desde a Alemanha ao Japão para o atender na suas perguntas sobre a sua conta e faturaçao! Dêem-lhes uma chamada gratuita!				
							
*Toll-free-billing-support-now-available-to-more-countries
Category:Blog Translations
OC One Stop - Isolated Sim

This is an Isolated Sim with its temporary name A204, Coordinates 1300-1300/1240-1240, Grid Sector L13, Eastern Ocean. This is the most Eastern sim after Zindra and certainly the most Eastern private-owned sim.
This is a hospital, with all a hospital requires. Interesting is the fact that everything moves here in slow-motion, including gravity works like on the Moon.
== See Also ==
Second Life Geography
List Of Microcontinents And Sim Clusters
Oceans
OGP Draft Login

In an effort to facilitate development of Pyogp, we surface a draft proposed login flow for an agent connecting to an agent domain consisting of a single agent host. This document extends the login component of the OGP draft proposal found at https://wiki.secondlife.com/wiki/SLGOGP_Draft_1#Login_2. Modifications to the protocol definition will be made, as parameters are formalized, multiple agent hosts are considered in the flow, and the like.
Login flow, logic flow view:
 border | center | 610px
Category:Pyogp
OGP Explained

This document describes and explains the Open_Grid_Protocol.
Note: Currently this is just a stub, with a few thrown together diagrams.
= Teleport Flow =
Here is the basic flow for current SL teleports:
Fine tuning the proposed protocol and cap names after discussion with AWG groupies resulted in a unified approach for Login, Teleport, and Logout, diagrammed below:
== Authentication ==
Note: Although this diagram reflects what is deployed on the Beta Grid, the OGP Protocol is completely different. Please reference the spec for what it should be.
== Login ==
== Teleport ==
===OGP Draft 5 Teleport===
 760 px
===Previous===
 760px
== Logout ==
Category:Grid_Interoperability
Category: Pyogp
Category:Pyogp_Kitchen_Sink
OIslanders Test Team/Survey results

Comments:
1.	Most seem to just want to move on quickly.
2.	Answer questions is a difficult one, because "how do I..." is very helpful, but trying to answer "so what can I all do?" or "what's the point?" is terribly tricky when you don't know what their specific interests are.
Comments:
1.	I think its important to ensure that we do not ask if they need help, they ask us. Otherwise we are interfering.
2.	I don't think that "Volunteers perceived as salespeople" ever happened so that's why the N/A. Otherwise it would probably be "Very Much". Language problems were definitely the most frustrating of all.
Comments:
1.	The nude issue is an issue and it makes many frustrated as to why.
2.	I never did see a whole lot of people on OI 92 so I don't think that was an actual issue ever.
Comments:
1.	"Deal Breaker" for "Region Crash" since it has the potential to kick them off OI onto the mainland. If it merely kick them offline and they log off it would in between "Somewhat" and "Very much" depending on how close to the start it happened. I can imagine that if someone has a technical problem (even if it's on SL's side) in the first few minutes, they're more likely to not try again. The slow rezzing textures was a huge problem, some people never ever got them to rez so had no idea :(. I don't know if the HUD ever did malfunction so "N/A" for that. "Somewhat" for difficulty only because it's not clear on how to proceed, it's not linear enough and can cause confusion. The actual individual tutorials aren't difficult at all.
2.	The walk tutorial malfunction was the worst. It needs to be removed.
Comments:
1.	Its an orientation island, so questions would be limited to how do i do this or that, not the advanced level questions that can present themselves in HIP. This is where Direct contact with VTeam Members is essential.
2.	Meh for the wiki only because I can't figure out to make it work/contribute, and it takes a very long time (3-5 minutes) to load up so I really just gave up on it.
OZLAND

Ozland is an estate of 5 private regions in Second Life.
Please come and visit OZLAND
For more information visit the following websites;
OZLANDISH News for news about OZLAND and events there.
OZLAND Real Estate for details of land sales and rentals.
OZLANDISH Art for details our exhibition - changes monthly
Contact Llola Lane or Sven Pertelson in world for more information
Category:Private_Estates
Object

An object is either a single prim or a link set (a collection several linked prims). An object can be attached to an avatar and there are various scripting functions that can affect an object.
Owners can set next-owner for residents who receive the object.
== Coalesced object ==
A coalesced (or grouped) object contains multiple objects which appear as one entry in a resident's inventory, marked with the sign. This can happen either via auto-return or when multiple objects are selected and taken at once. Coalesced objects can not be attached to an avatar.
* How the Coalesce feature works
* How to retrieve coalesced items
===Video tutorials===
* What are coalesced objects?
* Linden trees in coalesced objects
* Don't rez coalesced objects close to no-build parcels
==Help==
* Finding lost objects
* How do I build objects?
==Scripting==
* :Category:LSL Object
==See also==
* :Category:Help/Object
* Link set
* Prim
ObjectAdd

==Message Layout==
{
	ObjectAdd Medium NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
		{	GroupID			LLUUID	}
	}
	{
		ObjectData			Single
		{	PCode			U8	}
		{	Material		U8	}
		{	AddFlags		U32	}	
		{	PathCurve		U8	}
		{	ProfileCurve	U8	}
		{	PathBegin		U8	}	
		{	PathEnd			U8	}	
		{	PathScaleX		U8	}	
		{	PathScaleY		U8	}	
		{	PathShearX		U8	}	
		{	PathShearY		U8	}	
		{	PathTwist		S8	}	
		{	PathTwistBegin		S8	}	
		{ 	PathRadiusOffset 	S8	} 	
		{ 	PathTaperX		S8	}	
		{	PathTaperY		S8	}	
		{	PathRevolutions		U8	}	
		{	PathSkew		S8	}	
		{	ProfileBegin	U8	}	
		{	ProfileEnd		U8	}	
		{	ProfileHollow	U8	}	
		{	BypassRaycast	U8	}
		{	RayStart		LLVector3	}
		{	RayEnd			LLVector3	}
		{	RayTargetID		LLUUID	}
		{	RayEndIsIntersection	U8	}
		{	Scale			LLVector3	}
		{	Rotation		LLQuaternion	}
		{	TextureEntry	Variable	2	}
		{	State			U8	}
	}
}
==Usage and Notes==
Category:Messages
ObjectAttach

==Message Layout==
{
	ObjectAttach Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
		{	AttachmentPoint	U8	}
	}
	{
		ObjectData		Variable
		{	ObjectLocalID	U32				}
		{	Rotation		LLQuaternion	}
	}
}
==Usage and Notes==
Category:Messages
ObjectBuy

==Message Layout==
{
	ObjectBuy Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
		{	GroupID		LLUUID	}
		{	CategoryID	LLUUID	}	
	}
	{
		ObjectData		Variable
		{	ObjectLocalID	U32	}
		{	SaleType		U8	} 
		{	SalePrice		S32	}
	}
}
==Usage and Notes==
Category:Messages
ObjectCategory

==Message Layout==
{
	ObjectCategory Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData		Variable
		{	LocalID		U32	}
		{	Category	U32	}
	}
}
==Usage and Notes==
Category:Messages
ObjectClickAction

==Message Layout==
{
	ObjectClickAction Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData		Variable
		{	ObjectLocalID	U32		}
		{	ClickAction		U8		}
	}
}
==Usage and Notes==
Category:Messages
ObjectDeGrab

==Message Layout==
{
	ObjectDeGrab Low NotTrusted Unencoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData			Single
		{	LocalID				U32 }
	}
	{
		SurfaceInfo		Variable
		{	UVCoord		LLVector3 }
		{	STCoord		LLVector3 }
		{	FaceIndex	S32 }
		{	Position	LLVector3 }
		{	Normal		LLVector3 }
		{	Binormal	LLVector3 }
	}
}
==Usage and Notes==
Category:Messages
ObjectDelete

==Message Layout==
{
	ObjectDelete Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
		{	Force		BOOL	}	
	}
	{
		ObjectData		Variable
		{	ObjectLocalID	U32	}
	}
}
==Usage and Notes==
Category:Messages
ObjectDescription

==Message Layout==
{
	ObjectDescription Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData		Variable
		{	LocalID		U32	}
		{	Description	Variable	1	}
	}
}
==Usage and Notes==
Category:Messages
ObjectDuplicate

==Message Layout==
{
	ObjectDuplicate Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
		{	GroupID		LLUUID	}
	}
	{
		SharedData			Single
		{	Offset			LLVector3	}
		{	DuplicateFlags	U32			}	
	}
	{
		ObjectData			Variable
		{	ObjectLocalID		U32		}
	}
}
==Usage and Notes==
Category:Messages
ObjectDuplicateOnRay

==Message Layout==
{
	ObjectDuplicateOnRay Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID					LLUUID	}
		{	SessionID				LLUUID	}
		{	GroupID					LLUUID	}
		{	RayStart				LLVector3	}	
		{	RayEnd					LLVector3	}	
		{	BypassRaycast			BOOL	}
		{	RayEndIsIntersection	BOOL	}
		{	CopyCenters				BOOL	}
		{	CopyRotates				BOOL	}
		{	RayTargetID				LLUUID	}
		{	DuplicateFlags			U32		}	
	}
	{
		ObjectData			Variable
		{	ObjectLocalID			U32		}
	}
}
==Usage and Notes==
Category:Messages
ObjectExportSelected

==Message Layout==
{
	ObjectExportSelected Low NotTrusted Zerocoded
	{
		AgentData			Single
		{	AgentID			LLUUID	}
		{	RequestID		LLUUID }
		{	VolumeDetail	S16		}
	}
	{
		ObjectData			Variable
		{	ObjectID		LLUUID	}
	}
}
==Usage and Notes==
Category:Messages
ObjectExtraParams

==Message Layout==
{
	ObjectExtraParams Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData			Variable
		{	ObjectLocalID	U32				}
		{	ParamType		U16				}
		{	ParamInUse		BOOL			}
		{	ParamSize		U32				}
		{	ParamData		Variable	1	}
	}
}
==Usage and Notes==
Category:Messages
ObjectFlagUpdate

==Message Layout==
{
	ObjectFlagUpdate Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
		{	ObjectLocalID	U32		}
		{	UsePhysics		BOOL	}
		{	IsTemporary		BOOL	}
		{	IsPhantom		BOOL	}
		{	CastsShadows	BOOL	}
	}
}
==Usage and Notes==
Category:Messages
ObjectGrab

==Message Layout==
{
	ObjectGrab Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData		Single
		{	LocalID		U32 }
		{	GrabOffset	LLVector3 }
	}
	{
		SurfaceInfo		Variable
		{	UVCoord		LLVector3 }
		{	STCoord		LLVector3 }
		{	FaceIndex	S32 }
		{	Position	LLVector3 }
		{	Normal		LLVector3 }
		{	Binormal	LLVector3 }
	}
}
==Usage and Notes==
Category:Messages
ObjectGrabUpdate

==Message Layout==
{
	ObjectGrabUpdate Low NotTrusted Zerocoded
	{
		AgentData	Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData	Single
		{	ObjectID			LLUUID	}
		{	GrabOffsetInitial	LLVector3	}	
		{	GrabPosition		LLVector3	}	
		{	TimeSinceLast		U32	}
	}
	{
		SurfaceInfo		Variable
		{	UVCoord		LLVector3 }
		{	STCoord		LLVector3 }
		{	FaceIndex	S32 }
		{	Position	LLVector3 }
		{	Normal		LLVector3 }
		{	Binormal	LLVector3 }
	}
}
==Usage and Notes==
Category:Messages
ObjectGroup

==Message Layout==
{
	ObjectGroup	Low	NotTrusted Zerocoded
	{
		AgentData	Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
		{	GroupID		LLUUID	}
	}
	{
		ObjectData	Variable
		{	ObjectLocalID	U32	}
	}
}
==Usage and Notes==
Category:Messages
ObjectHinge

==Message Layout==
{
	ObjectHinge Low NotTrusted Unencoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		JointType		Single
		{	Type		U8	}
	}
	{
		ObjectData		Variable
		{	ObjectLocalID	U32	}
	}
}
==Usage and Notes==
Category:Messages
ObjectImage

==Message Layout==
{
	ObjectImage Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData			Variable
		{	ObjectLocalID		U32				}
		{	MediaURL			Variable	1	}
		{	TextureEntry		Variable	2	}
	}
}
==Usage and Notes==
Category:Messages
ObjectImport

==Message Layout==
{
	ObjectImport Low NotTrusted Zerocoded
	{
		AgentData			Single
		{	AgentID			LLUUID	}
		{	FolderID		LLUUID	}
	}
	{
		AssetData			Single
		{	FileID			LLUUID		1	}
		{	ObjectName		Variable	1	}
		{	Description		Variable	1	}
	}
}
==Usage and Notes==
Category:Messages
ObjectMaterial

==Message Layout==
{
	ObjectMaterial Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData		Variable
		{	ObjectLocalID	U32	}
		{	Material	U8	}
	}
}
==Usage and Notes==
Category:Messages
ObjectName

==Message Layout==
{
	ObjectName Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData		Variable
		{	LocalID		U32	}
		{	Name		Variable	1	}
	}
}
==Usage and Notes==
Category:Messages
ObjectOwner

==Message Layout==
{
	ObjectOwner Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		HeaderData		Single
		{	Override	BOOL	}	
		{	OwnerID		LLUUID	}
		{	GroupID		LLUUID	}
	}
	{
		ObjectData	Variable
		{	ObjectLocalID	U32	}
	}
}
==Usage and Notes==
Category:Messages
ObjectPermissions

==Message Layout==
{
	ObjectPermissions Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		HeaderData		Single
		{	Override	BOOL	}	
	}
	{
		ObjectData	Variable
		{	ObjectLocalID	U32	}
		{	Field		U8	}
		{	Set			U8	}
		{	Mask		U32	}
	}
}
==Usage and Notes==
Category:Messages
ObjectPosition

==Message Layout==
{
	ObjectPosition Medium NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData		Variable
		{	ObjectLocalID	U32			}
		{	Position		LLVector3	}	
	}
}
==Usage and Notes==
Category:Messages
ObjectProperties

==Message Layout==
{
	ObjectProperties Medium Trusted Zerocoded
	{
		ObjectData			Variable
		{	ObjectID		LLUUID	}
		{	CreatorID		LLUUID	}
		{	OwnerID			LLUUID	}
		{	GroupID			LLUUID	}
		{	BaseMask		U32	}
		{	OwnerMask		U32	}
		{	GroupMask		U32	}
		{	EveryoneMask	U32	}
		{	NextOwnerMask	U32	}
		{	OwnershipCost	S32	}
		{	SaleType		U8	} 
		{	SalePrice		S32	}
		{	AggregatePerms	U8	}
		{	AggregatePermTextures		U8	}
		{	AggregatePermTexturesOwner	U8	}
		{	Category		U32	}	
		{	InventorySerial	S16	}	
		{	ItemID			LLUUID	}
		{	FolderID		LLUUID	}
		{	FromTaskID		LLUUID	}
		{	LastOwnerID		LLUUID	}
		{	Name			Variable	1	}
		{	Description		Variable	1	}
		{	TouchName		Variable	1	}
		{	SitName			Variable	1	}
		{	TextureID		Variable	1	}
	}
}
==Usage and Notes==
Sent to client in reply to ObjectSelect
Aggregate perms are packed very oddly. Each permission takes two bits to represent.
===Aggregate Permissions bitmasks===
AND with mask to determine if permission is present.
Bitmask 	Permission
00000011b	Copy
00001100b	Modify
00110000b	Transfer
===Sale Type value===
Value	Sale Type 	Comment
0x00 	FS_NOT 	Item is not for sale, price is ignored.
0x01 	FS_ORIGINAL	Original items ownership is transferred to buyer when bought.
0x02 	FS_COPY 	Copy of item is given to buyer with next owner permissions when bought.
0x03 	FS_CONTENTS	The contents of the item are given to the buyer as a folder when bought.
Category is up to 4 different values packed as one. One category is stored per byte. 0x|AA|BB|CC|DD|
Have yet to find with anything other than 0. Looks deprecated.
SitName is the string to replace the text in the Sit pie menu location. TouchName is the string to replace the test in the Touch pie menu location.
TextureID is a list of UUIDs for textures contained within the object. Number of items is determined by dividing data size by the size of a standard UUID.
== Official Client Behavior ==
Mentions CreationDate as a U64 pulled just after GroupID is pulled. (Could not find it in the current template. Was this dropped?)
Refreshes the contents of all tool dialogs and pie menus upon being received. Refreshes buy in pie menu. Enables Take Copy in pie menu.
Object inventory is dirtied if InventorySerial does not match the previously received value.
TextureID values are saved only if aggregate texture permissions allow both copy and transfer.
Category:Messages
ObjectPropertiesFamily

==Message Layout==
{
	ObjectPropertiesFamily Medium Trusted Zerocoded
	{
		ObjectData			Single
		{	RequestFlags	U32	}
		{	ObjectID		LLUUID	}
		{	OwnerID			LLUUID	}
		{	GroupID			LLUUID	}
		{	BaseMask		U32	}
		{	OwnerMask		U32	}
		{	GroupMask		U32	}
		{	EveryoneMask	U32	}
		{	NextOwnerMask	U32	}
		{	OwnershipCost	S32	}
		{	SaleType		U8	} 
		{	SalePrice		S32	}
		{	Category		U32	}	
		{	LastOwnerID		LLUUID	}
		{	Name			Variable	1	}
		{	Description		Variable	1	}
	}
}
==Usage and Notes==
This packet is generated by the sim in response to the RequestObjectPropertiesFamily packet from the client.
In the client, it's used to populate the pop-tip messages that you get when you hover over an object
* RequestFlags is used for tracking why the request was made, used in payments, bug reports and complaint(abuse) reports.
* ObjectID is the LLUUID of the asset in world
* CreatorID is the LLUUID of the object's original creator
* OwnerID is the LLUUID of the object's current Owner
* GroupID is the LLUUID of the group that the object is assigned to (for group permission)
* OwnerMask is the ObjectFlags (bit vector) containing the permissions that the owner has over the object. (ex: edit, copy)
* GroupMask is the ObjectFlags (bit vector) containing the group permissions for that object
* EveryoneMask is the ObjectFlags (bit vector) containing the 'everyone else' permissions for that object
* NextOwnerMask is the ObjectFlags (bit vector) containing what permissions get applied to the object when it moves to the next owner (via purchase or transfer)
* SaleType is a byte containing the type of sale the object is currently set to (byte) 0 is 'no sale' See ObjectProperties
* SalePrice is the amount of Lindens that the object is priced at
* Category corresponds to the category drop down in the client
* OwnerShipCost(?)
* LastOwnerID is the LLUUID of the avatar who previously owned the asset before current owner.
* Name is the Name(up to 63 characters) of the prim that you're hovering over.
* Description is the Description (up to 127 characters) of the prim that you're hovering over.
=== RequestFlags values ===
Value	Flag 	Comment
0x01 	BUG_REPORT_REQUEST 	Original request was made for details on an object to be used in a bug report.
0x02 	COMPLAINT_REPORT_REQUEST	Original request was made for details on an object to be used in a complaint report.
0x04 	OBJECT_PAY_REQUEST 	Original request was made for details on an object that is about to be paid.
== Official Viewer Behavior ==
If RequestFlags matches either BUG_REPORT_REQUEST or COMPLAINT_REPORT_REQUEST details are sent to the reporter window.
If RequestFlags matches OBJECT_PAY_REQUEST and the OwnerID is on the mute list, the OwnerID is removed from the mute list automatically for interaction by paying the object.
Refreshes all editing dialogs and pie menus.
Category:Messages
ObjectRotation

==Message Layout==
{
	ObjectRotation Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData		Variable
		{	ObjectLocalID	U32				}
		{	Rotation		LLQuaternion	}
	}
}
==Usage and Notes==
Category:Messages
ObjectSaleInfo

==Message Layout==
{
	ObjectSaleInfo Low NotTrusted Zerocoded
	{
		AgentData			Single
		{	AgentID			LLUUID	}
		{	SessionID		LLUUID	}
	}
	{
		ObjectData			Variable
		{	LocalID			U32	}
		{	SaleType		U8	} 
		{	SalePrice		S32	}
	}
}
==Usage and Notes==
Category:Messages
ObjectScale

==Message Layout==
{
	ObjectScale Low NotTrusted Zerocoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		ObjectData		Variable
		{	ObjectLocalID	U32			}
		{	Scale			LLVector3	}
	}
}
==Usage and Notes==
Category:Messages