<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.virtualparadise.org/index.php?action=history&amp;feed=atom&amp;title=VP_EVENT_AVATAR_ADD</id>
	<title>VP EVENT AVATAR ADD - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.virtualparadise.org/index.php?action=history&amp;feed=atom&amp;title=VP_EVENT_AVATAR_ADD"/>
	<link rel="alternate" type="text/html" href="https://wiki.virtualparadise.org/index.php?title=VP_EVENT_AVATAR_ADD&amp;action=history"/>
	<updated>2026-05-04T18:55:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.virtualparadise.org/index.php?title=VP_EVENT_AVATAR_ADD&amp;diff=3089&amp;oldid=prev</id>
		<title>Roy Curtis: avatar type</title>
		<link rel="alternate" type="text/html" href="https://wiki.virtualparadise.org/index.php?title=VP_EVENT_AVATAR_ADD&amp;diff=3089&amp;oldid=prev"/>
		<updated>2013-08-25T19:36:39Z</updated>

		<summary type="html">&lt;p&gt;avatar type&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:36, 25 August 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|attributes=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|attributes=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   {{sdk attribute row|int   |avatar_session|Session ID of entering client}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   {{sdk attribute row|int   |avatar_session|Session ID of entering client}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   {{sdk attribute row|int   |avatar_type   |&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Unknown&lt;/del&gt;&#039;&#039;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   {{sdk attribute row|int   |avatar_type   |&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Unused&lt;/ins&gt;&#039;&#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- Client&#039;s current avatar&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   {{sdk attribute row|int   |user_id       |ID of the entering client&amp;#039;s user account}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   {{sdk attribute row|int   |user_id       |ID of the entering client&amp;#039;s user account}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   {{sdk attribute row|string|avatar_name   |Name of entering client}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   {{sdk attribute row|string|avatar_name   |Name of entering client}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roy Curtis</name></author>
	</entry>
	<entry>
		<id>https://wiki.virtualparadise.org/index.php?title=VP_EVENT_AVATAR_ADD&amp;diff=3079&amp;oldid=prev</id>
		<title>Roy Curtis: avatar_add - please check caveats for accuracy / clarity</title>
		<link rel="alternate" type="text/html" href="https://wiki.virtualparadise.org/index.php?title=VP_EVENT_AVATAR_ADD&amp;diff=3079&amp;oldid=prev"/>
		<updated>2013-08-25T08:40:58Z</updated>

		<summary type="html">&lt;p&gt;avatar_add - please check caveats for accuracy / clarity&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{sdk event page|avatar_add|This event is received:&lt;br /&gt;
* For each client that was already present in the world when the receiving client connects to it&lt;br /&gt;
* For each client that subsequently enters the world whilst the receiving client is connected to it&lt;br /&gt;
|attributes=&lt;br /&gt;
  {{sdk attribute row|int   |avatar_session|Session ID of entering client}}&lt;br /&gt;
  {{sdk attribute row|int   |avatar_type   |&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;}}&lt;br /&gt;
  {{sdk attribute row|int   |user_id       |ID of the entering client&amp;#039;s user account}}&lt;br /&gt;
  {{sdk attribute row|string|avatar_name   |Name of entering client}}&lt;br /&gt;
  {{sdk attribute row|float |avatar_x      |Entering client&amp;#039;s X coordinate}}&lt;br /&gt;
  {{sdk attribute row|float |avatar_y      |Entering client&amp;#039;s Y coordinate}}&lt;br /&gt;
  {{sdk attribute row|float |avatar_z      |Entering client&amp;#039;s Z coordinate}}&lt;br /&gt;
  {{sdk attribute row|float |avatar_pitch  |Entering client&amp;#039;s pitch rotation}}&lt;br /&gt;
  {{sdk attribute row|float |avatar_yaw    |Entering client&amp;#039;s yaw rotation}}&lt;br /&gt;
|behavior=&lt;br /&gt;
|caveats=&lt;br /&gt;
A common pitfall for bot developers is to make a bot [[vp_say|say]] something when this event fires. Because this event is sent for every user already in the world when the bot logs in, the chat may suddenly gets spammed. For example, in a world with six users, the following may happen within a second timespan:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*** [FriendlyBot] has entered VP-Build&lt;br /&gt;
[FriendlyBot]    Hello, UserA!&lt;br /&gt;
[FriendlyBot]    Hello, UserB!&lt;br /&gt;
[FriendlyBot]    Hello, UserC!&lt;br /&gt;
[FriendlyBot]    Hello, UserD!&lt;br /&gt;
[FriendlyBot]    Hello, [BotA]!&lt;br /&gt;
[FriendlyBot]    Hello, [BotB]!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To prevent this from happening, it is best to only say something when at least a number of seconds have passed since the bot last entered the world. Otherwise, the event should just be ignored or only do utility things such as adding the avatars to a tracking list or array.&lt;br /&gt;
|examples=&lt;br /&gt;
|seealso=&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Roy Curtis</name></author>
	</entry>
</feed>