<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://opensimulator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=OSSL_vs_LSL</id>
		<title>OSSL vs LSL - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=OSSL_vs_LSL"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;action=history"/>
		<updated>2026-06-10T17:52:54Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=54863&amp;oldid=prev</id>
		<title>JeffKelley: Added Key2Name</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=54863&amp;oldid=prev"/>
				<updated>2025-04-07T15:03:35Z</updated>
		
		<summary type="html">&lt;p&gt;Added Key2Name&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:03, 7 April 2025&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] || llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] || llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;| llKey2Name || [[osKey2Name]] || llKey2Name works on both avatars and objects.&amp;lt;br&amp;gt;osKey2Name returns an empty string on objects.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JeffKelley</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53648&amp;oldid=prev</id>
		<title>JeffKelley: Removed addressing modes. This is confusing and is covered in a separate page.</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53648&amp;oldid=prev"/>
				<updated>2023-06-19T15:33:22Z</updated>
		
		<summary type="html">&lt;p&gt;Removed addressing modes. This is confusing and is covered in a separate page.&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:33, 19 June 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;OSSL implements features not available in LSL (NPCs, Texture Drawing) or extend them, like adressing prims by key, which gives unprecedented flexibility to the scripter. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;OSSL implements features not available in LSL (NPCs, Texture Drawing) or extend them, like adressing prims by key, which gives unprecedented flexibility to the scripter. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This page tries to highlight the differences between OSSL and LSL functions when similar versions exist. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Functions are tagged with adressing modes :&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This page tries to highlight the differences between OSSL and LSL functions when similar versions exist. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''H''' : Target is the script's host (the prim containing the script)&amp;lt;br/&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''L''' : Target is a prim in the linkset, adressed by link number&amp;lt;br/&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''K''' : Target is any prim you own, adressed by key (inside or outside linkset)&amp;lt;br/&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''A''' : Target is an avatar&amp;lt;br/&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;When a function is tagged with multiple adressing modes, these are overloads (a.k.a. 'variants') selected at compile time according to the parameter types.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetLinkPrimitiveParams || [[osGetLinkPrimitiveParams]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| L &lt;/del&gt;|| Allows for multiple-link constants LINK_SET, LINK_ALL_CHILDREN. Returns a by-side list of properties.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetLinkPrimitiveParams || [[osGetLinkPrimitiveParams]] || Allows for multiple-link constants LINK_SET, LINK_ALL_CHILDREN. Returns a by-side list of properties.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llSetLinkPrimitiveParams ||&amp;#160; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| L &lt;/del&gt;|| No need for OSSL version since llSetLinkPrimitiveParams accepts all LINK_* flags&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llSetLinkPrimitiveParams ||&amp;#160; || No need for OSSL version since llSetLinkPrimitiveParams accepts all LINK_* flags&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetPrimitiveParams&amp;lt;br/&amp;gt;llSetPrimitiveParams || [[osGetPrimitiveParams]]&amp;lt;br/&amp;gt;[[osSetPrimitiveParams]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| K &lt;/del&gt;|| Acts on out-of-linkset primitive (uuid instead of linknumber)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetPrimitiveParams&amp;lt;br/&amp;gt;llSetPrimitiveParams || [[osGetPrimitiveParams]]&amp;lt;br/&amp;gt;[[osSetPrimitiveParams]] || Acts on out-of-linkset primitive (uuid instead of linknumber)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|| || [[osSetProjectionParams]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| H L K &lt;/del&gt;|| Same effect can be obtained with llSetLinkPrimitiveParams (linknum, [PRIM_PROJECTOR]) but OSSL version has osSetPrimitiveParams power to work outside linkset.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|| || [[osSetProjectionParams]] || Same effect can be obtained with llSetLinkPrimitiveParams (linknum, [PRIM_PROJECTOR]) but OSSL version has osSetPrimitiveParams power to work outside linkset.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llCreateLink&amp;lt;br\&amp;gt;llBreakLink&amp;lt;br\&amp;gt;llBreakAllLinks || [[osForceCreateLink]]&amp;lt;br/&amp;gt;[[osForceBreakLink]]&amp;lt;br\&amp;gt;[[osForceBreakAllLinks]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| &lt;/del&gt;|| Does not require PERMISSION_CHANGE_LINKS&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llCreateLink&amp;lt;br\&amp;gt;llBreakLink&amp;lt;br\&amp;gt;llBreakAllLinks || [[osForceCreateLink]]&amp;lt;br/&amp;gt;[[osForceBreakLink]]&amp;lt;br\&amp;gt;[[osForceBreakAllLinks]] || Does not require PERMISSION_CHANGE_LINKS&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llParticleSystem&amp;lt;br/&amp;gt;llLinkParticleSystem || [[osParticleSystem]]&amp;lt;br/&amp;gt;[[osLinkParticleSystem]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| H&amp;lt;br/&amp;gt;L &lt;/del&gt;|| &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llParticleSystem&amp;lt;br/&amp;gt;llLinkParticleSystem || [[osParticleSystem]]&amp;lt;br/&amp;gt;[[osLinkParticleSystem]] || &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llSitTarget&amp;lt;br/&amp;gt;llLinkSitTarget || [[osSetStandTarget]]&amp;lt;br/&amp;gt;[[osSetLinkStandTarget]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| H&amp;lt;br/&amp;gt;L &lt;/del&gt;|| SitTarget is position when sitting.&amp;lt;br/&amp;gt;StandTarget, position when unsitting.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llSitTarget&amp;lt;br/&amp;gt;llLinkSitTarget || [[osSetStandTarget]]&amp;lt;br/&amp;gt;[[osSetLinkStandTarget]] || SitTarget is position when sitting.&amp;lt;br/&amp;gt;StandTarget, position when unsitting.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAvatarOnSitTarget&amp;lt;br/&amp;gt;llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()&amp;lt;br/&amp;gt;[[osGetSittingAvatarsCount]](uuid) &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| H K &lt;/del&gt;|| OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAvatarOnSitTarget&amp;lt;br/&amp;gt;llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()&amp;lt;br/&amp;gt;[[osGetSittingAvatarsCount]](uuid) || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llPlaySound&amp;lt;br/&amp;gt;llLoopSound&amp;lt;br/&amp;gt;llTriggerSound&amp;lt;br/&amp;gt;... || [[osPlaySound]]&amp;lt;br\&amp;gt;[[osLoopSound]]&amp;lt;br\&amp;gt;[[osTriggerSound]]&amp;lt;br/&amp;gt;... &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| L &lt;/del&gt;|| All OSSL sound functions takes a linknumber argument.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llPlaySound&amp;lt;br/&amp;gt;llLoopSound&amp;lt;br/&amp;gt;llTriggerSound&amp;lt;br/&amp;gt;... || [[osPlaySound]]&amp;lt;br\&amp;gt;[[osLoopSound]]&amp;lt;br\&amp;gt;[[osTriggerSound]]&amp;lt;br/&amp;gt;... || All OSSL sound functions takes a linknumber argument.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llLinkPlaySound || &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| L &lt;/del&gt;|| Universal link sound function (SOUND_PLAY, SOUND_LOOP, SOUND_TRIGGER, SOUND_SYNC). Equivalent to resp. osPlaySound, osLoopSound, osTriggerSound, osPlaySoundSlave, osLoopSoundSlave.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llLinkPlaySound || || Universal link sound function (SOUND_PLAY, SOUND_LOOP, SOUND_TRIGGER, SOUND_SYNC). Equivalent to resp. osPlaySound, osLoopSound, osTriggerSound, osPlaySoundSlave, osLoopSoundSlave.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetNumberOfPrims&amp;lt;br/&amp;gt;llGetObjectPrimCount || [[osGetPrimCount]]()&amp;lt;br/&amp;gt;[[osGetPrimCount]](uuid) &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| H K &lt;/del&gt;|| OSSL version does not count sitting avatars and does work on attachments&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetNumberOfPrims&amp;lt;br/&amp;gt;llGetObjectPrimCount || [[osGetPrimCount]]()&amp;lt;br/&amp;gt;[[osGetPrimCount]](uuid) || OSSL version does not count sitting avatars and does work on attachments&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llStartAnimation&amp;lt;br/&amp;gt;llStopAnimation ||[[osAvatarPlayAnimation]]&amp;lt;br/&amp;gt;[[osAvatarStopAnimation]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| A &lt;/del&gt;|| Does not require PERMISSION_TRIGGER_ANIMATION&amp;lt;br/&amp;gt;OSSL can animate multiples avatars, when LSL is bound to the avatar having granted the permission.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llStartAnimation&amp;lt;br/&amp;gt;llStopAnimation ||[[osAvatarPlayAnimation]]&amp;lt;br/&amp;gt;[[osAvatarStopAnimation]] || Does not require PERMISSION_TRIGGER_ANIMATION&amp;lt;br/&amp;gt;OSSL can animate multiples avatars, when LSL is bound to the avatar having granted the permission.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAttachToAvatar&amp;lt;br/&amp;gt; llDetachFromAvatar || [[osForceAttachToAvatar]]&amp;lt;br/&amp;gt;[[osForceDetachFromAvatar]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| A &lt;/del&gt;|| Does not require PERMISSION_ATTACH.&amp;lt;br/&amp;gt;Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAttachToAvatar&amp;lt;br/&amp;gt; llDetachFromAvatar || [[osForceAttachToAvatar]]&amp;lt;br/&amp;gt;[[osForceDetachFromAvatar]] || Does not require PERMISSION_ATTACH.&amp;lt;br/&amp;gt;Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetAgentList || [[osGetAgents]]&amp;lt;br/&amp;gt;[[osGetAvatarList]]&amp;lt;br/&amp;gt;[[OsGetNpcList|osGetNPCList]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| &lt;/del&gt;|| llGetAgentList returns a list of agent keys.&amp;lt;br/&amp;gt; osGetAgents, a list of agent names.&amp;lt;br/&amp;gt;osGetAvatarList, a strided list of agent (key, position, name).&amp;lt;br/&amp;gt;osGetNPCList : same as osGetAvatarList, but only NPCs.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetAgentList || [[osGetAgents]]&amp;lt;br/&amp;gt;[[osGetAvatarList]]&amp;lt;br/&amp;gt;[[OsGetNpcList|osGetNPCList]] || llGetAgentList returns a list of agent keys.&amp;lt;br/&amp;gt; osGetAgents, a list of agent names.&amp;lt;br/&amp;gt;osGetAvatarList, a strided list of agent (key, position, name).&amp;lt;br/&amp;gt;osGetNPCList : same as osGetAvatarList, but only NPCs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|| &lt;/del&gt;|| llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] || llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JeffKelley</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53647&amp;oldid=prev</id>
		<title>JeffKelley: minor cleanup</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53647&amp;oldid=prev"/>
				<updated>2023-06-19T15:29:20Z</updated>
		
		<summary type="html">&lt;p&gt;minor cleanup&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:29, 19 June 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 44:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 44:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] || || llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] || || llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;osGetNPCList()&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Returns a strided list of the UUID, position, and name o&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JeffKelley</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53646&amp;oldid=prev</id>
		<title>JeffKelley: add osGetNPCList</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53646&amp;oldid=prev"/>
				<updated>2023-06-19T15:28:12Z</updated>
		
		<summary type="html">&lt;p&gt;add osGetNPCList&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:28, 19 June 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAttachToAvatar&amp;lt;br/&amp;gt; llDetachFromAvatar || [[osForceAttachToAvatar]]&amp;lt;br/&amp;gt;[[osForceDetachFromAvatar]] || A || Does not require PERMISSION_ATTACH.&amp;lt;br/&amp;gt;Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAttachToAvatar&amp;lt;br/&amp;gt; llDetachFromAvatar || [[osForceAttachToAvatar]]&amp;lt;br/&amp;gt;[[osForceDetachFromAvatar]] || A || Does not require PERMISSION_ATTACH.&amp;lt;br/&amp;gt;Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetAgentList || [[osGetAvatarList]]&amp;lt;br/&amp;gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;osGetAgents&lt;/del&gt;]] || || llGetAgentList returns a list of agent keys. osGetAgents, a list of agent names. osGetAvatarList, a strided list of agent (key, position, name).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetAgentList || &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[osGetAgents]]&amp;lt;br/&amp;gt;&lt;/ins&gt;[[osGetAvatarList]]&amp;lt;br/&amp;gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;OsGetNpcList|osGetNPCList&lt;/ins&gt;]] || || llGetAgentList returns a list of agent keys.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br/&amp;gt; &lt;/ins&gt;osGetAgents, a list of agent names.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;osGetAvatarList, a strided list of agent (key, position, name)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&amp;lt;br/&amp;gt;osGetNPCList : same as osGetAvatarList, but only NPCs&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] || || llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] || || llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;osGetNPCList()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Returns a strided list of the UUID, position, and name o&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JeffKelley</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53645&amp;oldid=prev</id>
		<title>JeffKelley at 14:01, 19 June 2023</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53645&amp;oldid=prev"/>
				<updated>2023-06-19T14:01:16Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 14:01, 19 June 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAttachToAvatar&amp;lt;br/&amp;gt; llDetachFromAvatar || [[osForceAttachToAvatar]]&amp;lt;br/&amp;gt;[[osForceDetachFromAvatar]] || A || Does not require PERMISSION_ATTACH.&amp;lt;br/&amp;gt;Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAttachToAvatar&amp;lt;br/&amp;gt; llDetachFromAvatar || [[osForceAttachToAvatar]]&amp;lt;br/&amp;gt;[[osForceDetachFromAvatar]] || A || Does not require PERMISSION_ATTACH.&amp;lt;br/&amp;gt;Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetAgentList || [[osGetAvatarList]]&amp;lt;br/&amp;gt;osGetAgents || || llGetAgentList returns a list of agent keys. osGetAgents, a list of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;agant &lt;/del&gt;names. osGetAvatarList, a strided list of agent (key, position, name).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetAgentList || [[osGetAvatarList]]&amp;lt;br/&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;osGetAgents&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;|| || llGetAgentList returns a list of agent keys. osGetAgents, a list of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;agent &lt;/ins&gt;names. osGetAvatarList, a strided list of agent (key, position, name).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] || || llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] || || llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JeffKelley</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53642&amp;oldid=prev</id>
		<title>JeffKelley: Added inventory functions</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53642&amp;oldid=prev"/>
				<updated>2023-06-16T15:51:53Z</updated>
		
		<summary type="html">&lt;p&gt;Added inventory functions&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:51, 16 June 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llSitTarget&amp;lt;br/&amp;gt;llLinkSitTarget || [[osSetStandTarget]]&amp;lt;br/&amp;gt;[[osSetLinkStandTarget]] || H&amp;lt;br/&amp;gt;L || SitTarget is position when sitting.&amp;lt;br/&amp;gt;StandTarget, position when unsitting.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llSitTarget&amp;lt;br/&amp;gt;llLinkSitTarget || [[osSetStandTarget]]&amp;lt;br/&amp;gt;[[osSetLinkStandTarget]] || H&amp;lt;br/&amp;gt;L || SitTarget is position when sitting.&amp;lt;br/&amp;gt;StandTarget, position when unsitting.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;| llAvatarOnSitTarget&amp;lt;br/&amp;gt;llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()&amp;lt;br/&amp;gt;[[osGetSittingAvatarsCount]](uuid) || H K || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llPlaySound&amp;lt;br/&amp;gt;llLoopSound&amp;lt;br/&amp;gt;llTriggerSound&amp;lt;br/&amp;gt;... || [[osPlaySound]]&amp;lt;br\&amp;gt;[[osLoopSound]]&amp;lt;br\&amp;gt;[[osTriggerSound]]&amp;lt;br/&amp;gt;... || L || All OSSL sound functions takes a linknumber argument.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llPlaySound&amp;lt;br/&amp;gt;llLoopSound&amp;lt;br/&amp;gt;llTriggerSound&amp;lt;br/&amp;gt;... || [[osPlaySound]]&amp;lt;br\&amp;gt;[[osLoopSound]]&amp;lt;br\&amp;gt;[[osTriggerSound]]&amp;lt;br/&amp;gt;... || L || All OSSL sound functions takes a linknumber argument.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetNumberOfPrims&amp;lt;br/&amp;gt;llGetObjectPrimCount || [[osGetPrimCount]]()&amp;lt;br/&amp;gt;[[osGetPrimCount]](uuid) || H K || OSSL version does not count sitting avatars and does work on attachments&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetNumberOfPrims&amp;lt;br/&amp;gt;llGetObjectPrimCount || [[osGetPrimCount]]()&amp;lt;br/&amp;gt;[[osGetPrimCount]](uuid) || H K || OSSL version does not count sitting avatars and does work on attachments&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;| llAvatarOnSitTarget&amp;lt;br/&amp;gt;llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()&amp;lt;br/&amp;gt;[[osGetSittingAvatarsCount]](uuid) || H K || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]).&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llStartAnimation&amp;lt;br/&amp;gt;llStopAnimation ||[[osAvatarPlayAnimation]]&amp;lt;br/&amp;gt;[[osAvatarStopAnimation]] || A || Does not require PERMISSION_TRIGGER_ANIMATION&amp;lt;br/&amp;gt;OSSL can animate multiples avatars, when LSL is bound to the avatar having granted the permission.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llStartAnimation&amp;lt;br/&amp;gt;llStopAnimation ||[[osAvatarPlayAnimation]]&amp;lt;br/&amp;gt;[[osAvatarStopAnimation]] || A || Does not require PERMISSION_TRIGGER_ANIMATION&amp;lt;br/&amp;gt;OSSL can animate multiples avatars, when LSL is bound to the avatar having granted the permission.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetAgentList || [[osGetAvatarList]]&amp;lt;br/&amp;gt;osGetAgents || || llGetAgentList returns a list of agent keys. osGetAgents, a list of agant names. osGetAvatarList, a strided list of agent (key, position, name).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetAgentList || [[osGetAvatarList]]&amp;lt;br/&amp;gt;osGetAgents || || llGetAgentList returns a list of agent keys. osGetAgents, a list of agant names. osGetAvatarList, a strided list of agent (key, position, name).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;| llGetInventoryKey&amp;lt;br/&amp;gt;llGetInventoryName || [[osGetInventoryItemKey]]&amp;lt;br/&amp;gt;[[osGetInventoryName]] || || llGetInventoryKey returns &amp;lt;u&amp;gt;item&amp;lt;/u&amp;gt; id while osGetInventoryItemKey returns &amp;lt;u&amp;gt;asset&amp;lt;/u&amp;gt; id.&amp;lt;br/&amp;gt;llGetInventoryName returns name from (index,type) while osGetInventoryName return name fro item id.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JeffKelley</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53640&amp;oldid=prev</id>
		<title>JeffKelley: StandTarget was misunderstood</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53640&amp;oldid=prev"/>
				<updated>2023-06-16T15:18:57Z</updated>
		
		<summary type="html">&lt;p&gt;StandTarget was misunderstood&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:18, 16 June 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llParticleSystem&amp;lt;br/&amp;gt;llLinkParticleSystem || [[osParticleSystem]]&amp;lt;br/&amp;gt;[[osLinkParticleSystem]] || H&amp;lt;br/&amp;gt;L || &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llParticleSystem&amp;lt;br/&amp;gt;llLinkParticleSystem || [[osParticleSystem]]&amp;lt;br/&amp;gt;[[osLinkParticleSystem]] || H&amp;lt;br/&amp;gt;L || &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llSitTarget&amp;lt;br/&amp;gt;llLinkSitTarget || [[osSetStandTarget]]&amp;lt;br/&amp;gt;[[osSetLinkStandTarget]] || H&amp;lt;br/&amp;gt;L || &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Set the &lt;/del&gt;position &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;of the feet of the avatar, &lt;/del&gt;when &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ll version set the position of the Agent Target (Developer &lt;/del&gt;&amp;gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Avatar &amp;gt; Display Agent Target)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llSitTarget&amp;lt;br/&amp;gt;llLinkSitTarget || [[osSetStandTarget]]&amp;lt;br/&amp;gt;[[osSetLinkStandTarget]] || H&amp;lt;br/&amp;gt;L || &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;SitTarget is &lt;/ins&gt;position when &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sitting.&amp;lt;br/&lt;/ins&gt;&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;StandTarget, position when unsitting.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llPlaySound&amp;lt;br/&amp;gt;llLoopSound&amp;lt;br/&amp;gt;llTriggerSound&amp;lt;br/&amp;gt;... || [[osPlaySound]]&amp;lt;br\&amp;gt;[[osLoopSound]]&amp;lt;br\&amp;gt;[[osTriggerSound]]&amp;lt;br/&amp;gt;... || L || All OSSL sound functions takes a linknumber argument.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llPlaySound&amp;lt;br/&amp;gt;llLoopSound&amp;lt;br/&amp;gt;llTriggerSound&amp;lt;br/&amp;gt;... || [[osPlaySound]]&amp;lt;br\&amp;gt;[[osLoopSound]]&amp;lt;br\&amp;gt;[[osTriggerSound]]&amp;lt;br/&amp;gt;... || L || All OSSL sound functions takes a linknumber argument.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JeffKelley</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53638&amp;oldid=prev</id>
		<title>JeffKelley at 08:01, 16 June 2023</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53638&amp;oldid=prev"/>
				<updated>2023-06-16T08:01:09Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 08:01, 16 June 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;This page to highlight the difference between OSSL and &lt;/del&gt;LSL functions when &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;similar versions exist&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;LSL &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;and OSSL &lt;/ins&gt;functions &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;may appear overlapping. Sometimes, they are. This may happen &lt;/ins&gt;when &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a OSSL function has been written before it's LL conterpart. Most of the time, they are complementary&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Work &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;progress&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;not &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;be linked now&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;OSSL implements features not available &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;LSL (NPCs&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Texture Drawing) or extend them, like adressing prims by key, which gives unprecedented flexibility to the scripter. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;This page tries &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;highlight the differences between OSSL and LSL functions when similar versions exist&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Functions are tagged with adressing modes :&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''H''' : Target is the script's host (the prim containing the script)&amp;lt;br/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''H''' : Target is the script's host (the prim containing the script)&amp;lt;br/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''L''' : Target is prim in the linkset, adressed by link number&amp;lt;br/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''L''' : Target is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a &lt;/ins&gt;prim in the linkset, adressed by link number&amp;lt;br/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''K''' : Target is any prim you own, adressed by key (inside or outside linkset)&amp;lt;br/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''K''' : Target is any prim you own, adressed by key (inside or outside linkset)&amp;lt;br/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''A''' : Target is an avatar&amp;lt;br/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''A''' : Target is an avatar&amp;lt;br/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When a function is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;marked as supporting different &lt;/del&gt;adressing modes, these are overloads (a.k.a. 'variants') selected at compile time according to the parameter types.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When a function is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;tagged with multiple &lt;/ins&gt;adressing modes, these are overloads (a.k.a. 'variants') selected at compile time according to the parameter types.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAttachToAvatar&amp;lt;br/&amp;gt; llDetachFromAvatar || [[osForceAttachToAvatar]]&amp;lt;br/&amp;gt;[[osForceDetachFromAvatar]] || A || Does not require PERMISSION_ATTACH.&amp;lt;br/&amp;gt;Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAttachToAvatar&amp;lt;br/&amp;gt; llDetachFromAvatar || [[osForceAttachToAvatar]]&amp;lt;br/&amp;gt;[[osForceDetachFromAvatar]] || A || Does not require PERMISSION_ATTACH.&amp;lt;br/&amp;gt;Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;| llGetAgentList || [[osGetAvatarList]]&amp;lt;br/&amp;gt;osGetAgents || || llGetAgentList returns a list of agent keys. osGetAgents, a list of agant names. osGetAvatarList, a strided list of agent (key, position, name).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JeffKelley</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53637&amp;oldid=prev</id>
		<title>JeffKelley at 18:50, 15 June 2023</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53637&amp;oldid=prev"/>
				<updated>2023-06-15T18:50:34Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 18:50, 15 June 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetPrimitiveParams&amp;lt;br/&amp;gt;llSetPrimitiveParams || [[osGetPrimitiveParams]]&amp;lt;br/&amp;gt;[[osSetPrimitiveParams]] || K || Acts on out-of-linkset primitive (uuid instead of linknumber)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetPrimitiveParams&amp;lt;br/&amp;gt;llSetPrimitiveParams || [[osGetPrimitiveParams]]&amp;lt;br/&amp;gt;[[osSetPrimitiveParams]] || K || Acts on out-of-linkset primitive (uuid instead of linknumber)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|| || [[osSetProjectionParams]] || H L K || Same effect can be obtained with llSetLinkPrimitiveParams (linknum, [PRIM_PROJECTOR]) but OSSL version has osSetPrimitiveParams power to work &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;out-of-&lt;/del&gt;linkset &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;by uuid&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|| || [[osSetProjectionParams]] || H L K || Same effect can be obtained with llSetLinkPrimitiveParams (linknum, [PRIM_PROJECTOR]) but OSSL version has osSetPrimitiveParams power to work &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;outside &lt;/ins&gt;linkset.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llCreateLink&amp;lt;br\&amp;gt;llBreakLink&amp;lt;br\&amp;gt;llBreakAllLinks || [[osForceCreateLink]]&amp;lt;br/&amp;gt;[[osForceBreakLink]]&amp;lt;br\&amp;gt;[[osForceBreakAllLinks]] || || Does not require PERMISSION_CHANGE_LINKS&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llCreateLink&amp;lt;br\&amp;gt;llBreakLink&amp;lt;br\&amp;gt;llBreakAllLinks || [[osForceCreateLink]]&amp;lt;br/&amp;gt;[[osForceBreakLink]]&amp;lt;br\&amp;gt;[[osForceBreakAllLinks]] || || Does not require PERMISSION_CHANGE_LINKS&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAvatarOnSitTarget&amp;lt;br/&amp;gt;llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()&amp;lt;br/&amp;gt;[[osGetSittingAvatarsCount]](uuid) || H K || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAvatarOnSitTarget&amp;lt;br/&amp;gt;llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()&amp;lt;br/&amp;gt;[[osGetSittingAvatarsCount]](uuid) || H K || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llStartAnimation&amp;lt;br/&amp;gt;llStopAnimation ||[[osAvatarPlayAnimation]]&amp;lt;br/&amp;gt;[[osAvatarStopAnimation]] || A || Does not require PERMISSION_TRIGGER_ANIMATION&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llStartAnimation&amp;lt;br/&amp;gt;llStopAnimation ||[[osAvatarPlayAnimation]]&amp;lt;br/&amp;gt;[[osAvatarStopAnimation]] || A || Does not require PERMISSION_TRIGGER_ANIMATION&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br/&amp;gt;OSSL can animate multiples avatars, when LSL is bound to the avatar having granted the permission.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;| llAttachToAvatar&amp;lt;br/&amp;gt; llDetachFromAvatar || [[osForceAttachToAvatar]]&amp;lt;br/&amp;gt;[[osForceDetachFromAvatar]] || A || Does not require PERMISSION_ATTACH.&amp;lt;br/&amp;gt;Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JeffKelley</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53636&amp;oldid=prev</id>
		<title>JeffKelley: What do you mean by &quot;no WYSIWYG table editor ?&quot;</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=OSSL_vs_LSL&amp;diff=53636&amp;oldid=prev"/>
				<updated>2023-06-15T16:11:28Z</updated>
		
		<summary type="html">&lt;p&gt;What do you mean by &amp;quot;no WYSIWYG table editor ?&amp;quot;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 16:11, 15 June 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llPlaySound&amp;lt;br/&amp;gt;llLoopSound&amp;lt;br/&amp;gt;llTriggerSound&amp;lt;br/&amp;gt;... || [[osPlaySound]]&amp;lt;br\&amp;gt;[[osLoopSound]]&amp;lt;br\&amp;gt;[[osTriggerSound]]&amp;lt;br/&amp;gt;... || L || All OSSL sound functions takes a linknumber argument.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llPlaySound&amp;lt;br/&amp;gt;llLoopSound&amp;lt;br/&amp;gt;llTriggerSound&amp;lt;br/&amp;gt;... || [[osPlaySound]]&amp;lt;br\&amp;gt;[[osLoopSound]]&amp;lt;br\&amp;gt;[[osTriggerSound]]&amp;lt;br/&amp;gt;... || L || All OSSL sound functions takes a linknumber argument.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| || &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; llLinkPlaySound &lt;/del&gt;|| L || Universal link sound function (SOUND_PLAY, SOUND_LOOP, SOUND_TRIGGER, SOUND_SYNC). Equivalent to resp. osPlaySound, osLoopSound, osTriggerSound, osPlaySoundSlave, osLoopSoundSlave.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;llLinkPlaySound &lt;/ins&gt;|| || L || Universal link sound function (SOUND_PLAY, SOUND_LOOP, SOUND_TRIGGER, SOUND_SYNC). Equivalent to resp. osPlaySound, osLoopSound, osTriggerSound, osPlaySoundSlave, osLoopSoundSlave.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetNumberOfPrims&amp;lt;br/&amp;gt;llGetObjectPrimCount || [[osGetPrimCount]]()&amp;lt;br/&amp;gt;[[osGetPrimCount]](uuid) || H K || OSSL version does not count sitting avatars and does work on attachments&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llGetNumberOfPrims&amp;lt;br/&amp;gt;llGetObjectPrimCount || [[osGetPrimCount]]()&amp;lt;br/&amp;gt;[[osGetPrimCount]](uuid) || H K || OSSL version does not count sitting avatars and does work on attachments&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|&lt;/del&gt;| llAvatarOnSitTarget&amp;lt;br/&amp;gt;llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()&amp;lt;br/&amp;gt;[[osGetSittingAvatarsCount]](uuid) || H K || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llAvatarOnSitTarget&amp;lt;br/&amp;gt;llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()&amp;lt;br/&amp;gt;[[osGetSittingAvatarsCount]](uuid) || H K || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|&lt;/del&gt;| llStartAnimation&amp;lt;br/&amp;gt;llStopAnimation ||[[osAvatarPlayAnimation]]&amp;lt;br/&amp;gt;[[osAvatarStopAnimation]] || A || Does not require PERMISSION_TRIGGER_ANIMATION&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| llStartAnimation&amp;lt;br/&amp;gt;llStopAnimation ||[[osAvatarPlayAnimation]]&amp;lt;br/&amp;gt;[[osAvatarStopAnimation]] || A || Does not require PERMISSION_TRIGGER_ANIMATION&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JeffKelley</name></author>	</entry>

	</feed>