<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.fur.com/tapestries/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ash-Fox</id>
	<title>Tapestries MUCK - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.fur.com/tapestries/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ash-Fox"/>
	<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/Special:Contributions/Ash-Fox"/>
	<updated>2026-11-04T02:16:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=@name&amp;diff=2871</id>
		<title>@name</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=@name&amp;diff=2871"/>
		<updated>2007-07-05T12:43:28Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Fixed registration link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;@name&#039;&#039;&#039; command is used to change an object&#039;s name. This requires ownership of the object in question. The syntax is @name &amp;lt;object&amp;gt;=&amp;lt;name&amp;gt;, where &amp;lt;object&amp;gt; can be it&#039;s current name, or some unique portion of it, or the [[dbref]] of the object.&lt;br /&gt;
&lt;br /&gt;
==Thing, Room and Program Names==&lt;br /&gt;
These are fairly unrestricted and can be quite long. Most notably, they can not start with a #, to differentiate themselves from [[dbref]]s.&lt;br /&gt;
&lt;br /&gt;
==Exit Names==&lt;br /&gt;
Exits/actions functionally have multiple names. This is actually stored as a single string separated by semicolons. A common example is an exit that is a direction, such as north. It&#039;s common to give one or more abbreviations for the direction so the user does not have to type &amp;quot;north&amp;quot; in full. So:&lt;br /&gt;
 @name #1234=north;n&lt;br /&gt;
This will allow a user to type either &#039;north&#039; or &#039;n&#039; to go through that exit.&lt;br /&gt;
&lt;br /&gt;
Note, if you want to rename an exit by name, you have to use one of it&#039;s sub-names. So @name north;n=newname will not work. You would have to @name north=newname.&lt;br /&gt;
&lt;br /&gt;
See [[gen-obv-exits]] for more information on exit naming conventions.&lt;br /&gt;
&lt;br /&gt;
==Player Names==&lt;br /&gt;
Tapestries MUCK does not allow players to change their own names. This restriction is in place for a large variety of reasons, including people abusing @name changes to spoof others and insult others anonymously, but primarily it is because of ongoing work to integrate Tapestries MUCK with other services. Most web services and things like Jabber IM servers do not gracefully handle character name changes.&lt;br /&gt;
&lt;br /&gt;
If you try and @name yourself you will get the error message: &#039;&#039;Only wizards can rename players.&#039;&#039; This is technically correct, [[wizards]] still retain the &#039;&#039;ability&#039;&#039; to change names. However, it is policy not to, so they won&#039;t.&lt;br /&gt;
&lt;br /&gt;
Only cases where names are deemed to be &#039;&#039;accidentally&#039;&#039; in violation of the [[MUCK]] [[Policies]] will they be changed by the wizards. Cases were they are deemed to be intentionally in violation of the [[Policies]] will instead result in [[Policy Toading|toading]].&lt;br /&gt;
&lt;br /&gt;
=== See Also === &lt;br /&gt;
* [http://www.fur.com/tapestries/registration/ Character Registration] if you just want a different character.&lt;br /&gt;
* [[@toadme]] if you no longer plan to use this name. &lt;br /&gt;
&lt;br /&gt;
[[Category:MUCK Commands]][[Category:Built in MUCK Commands]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Connection_issues&amp;diff=2869</id>
		<title>Connection issues</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Connection_issues&amp;diff=2869"/>
		<updated>2007-07-05T12:17:26Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Changed the instructions slightly so periods were not at the end of values that can be copy/pasted -- to prevent confusion/mistakes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Home router silent disconnects==&lt;br /&gt;
&lt;br /&gt;
Probably one of the most common of issues encountered with home routers and idle connections.&lt;br /&gt;
&lt;br /&gt;
Many home routers behave as NATs, the concept of a NAT is generally allow a network of computers share one IP address on another network, in this case the Internet. For address transversal to work, the router needs to keep routing information in memory of which connections are going where. Here is where in lies the problem.&lt;br /&gt;
&lt;br /&gt;
The router&#039;s memory is finite, and generally home routers have very little memory. Many routers do not have the ability to check if a connection is still active if it&#039;s absolutely silent (no data passing through either side, quite a common case when you&#039;re in a quiet area on a MUCK and not communicating) the router will assume after a certain amount of time that the connection died and will remove the routing information from memory to free up memory to handle other/more connections.&lt;br /&gt;
&lt;br /&gt;
Technical implementations for better checking mechanisms if a connection is still active do exist, but they require more memory and as such generally isn&#039;t found in home routers.&lt;br /&gt;
&lt;br /&gt;
On many home routers which run on a embedded version of Linux (many of these use ipchains), this time limit is usually 900 seconds, although it can vary depending on what model and make of router you have. Generally this leads to silent disconnections after a bit of time.&lt;br /&gt;
&lt;br /&gt;
Fortunately there is a workaround. You can increase the rate of &#039;TCP keep-alive&#039; messages in the operating system (the computer you are using, not the router) to send messages periodically to the server to check if the connection is still alive. The default is value is 7200 seconds -- two hours under Linux and Windows. If the system sends these before the &#039;grace period&#039; of dropping the connection, the router sees these messages and assumes the connection is still active and will not silently disconnect you.&lt;br /&gt;
&lt;br /&gt;
Generally a value of 180 seconds is usually low enough to work around all the home routers I&#039;ve encountered. --[[User:Ash-Fox|Ash-Fox]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning: Do not set this value lower than 60 seconds or you may suffer a lot of connectivity issues.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Under Linux===&lt;br /&gt;
This can be set on the fly by entering in the console as root:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo 180 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
However, if you wish to set this permanently (applied when you start the system), you will need to change/add &#039;&#039;&#039;net.ipv4.tcp_keepalive_time=&#039;&#039;&#039; in &#039;&#039;&#039;/etc/sysctl.conf&#039;&#039;&#039; to say something like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;net.ipv4.tcp_keepalive_time=180&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Under Windows NT systems===&lt;br /&gt;
This can be set from a Administrator account:&lt;br /&gt;
&lt;br /&gt;
Open regedit and browse to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If there is a key called &#039;&#039;&#039;KeepAliveTime&#039;&#039;&#039; edit it. If it doesn&#039;t exist, create it as a new dword key.&lt;br /&gt;
&lt;br /&gt;
Set the integer to &#039;&#039;&#039;180000&#039;&#039;&#039; (this is 180 seconds in mini-seconds), then restart Windows for the new changes to take effect.&lt;br /&gt;
&lt;br /&gt;
===Under Windows 95/98/ME systems===&lt;br /&gt;
&lt;br /&gt;
Open regedit and browse to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If there is a key called &#039;&#039;&#039;KeepAliveTime&#039;&#039;&#039; edit it. If it doesn&#039;t exist, create it as a new string value.&lt;br /&gt;
&lt;br /&gt;
Set the string value to &#039;&#039;&#039;180000&#039;&#039;&#039; (this is 180 seconds in mini-seconds), then restart Windows for the new changes to take effect.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Connection_issues&amp;diff=2868</id>
		<title>Connection issues</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Connection_issues&amp;diff=2868"/>
		<updated>2007-07-05T12:05:10Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Fixed some slight mistakes, added slightly better explanations and added win9x information.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Home router silent disconnects==&lt;br /&gt;
&lt;br /&gt;
Probably one of the most common of issues encountered with home routers and idle connections.&lt;br /&gt;
&lt;br /&gt;
Many home routers behave as NATs, the concept of a NAT is generally allow a network of computers share one IP address on another network, in this case the Internet. For address transversal to work, the router needs to keep routing information in memory of which connections are going where. Here is where in lies the problem.&lt;br /&gt;
&lt;br /&gt;
The router&#039;s memory is finite, and generally home routers have very little memory. Many routers do not have the ability to check if a connection is still active if it&#039;s absolutely silent (no data passing through either side, quite a common case when you&#039;re in a quiet area on a MUCK and not communicating) the router will assume after a certain amount of time that the connection died and will remove the routing information from memory to free up memory to handle other/more connections.&lt;br /&gt;
&lt;br /&gt;
Technical implementations for better checking mechanisms if a connection is still active do exist, but they require more memory and as such generally isn&#039;t found in home routers.&lt;br /&gt;
&lt;br /&gt;
On many home routers which run on a embedded version of Linux (many of these use ipchains), this time limit is usually 900 seconds, although it can vary depending on what model and make of router you have. Generally this leads to silent disconnections after a bit of time.&lt;br /&gt;
&lt;br /&gt;
Fortunately there is a workaround. You can increase the rate of &#039;TCP keep-alive&#039; messages in the operating system (the computer you are using, not the router) to send messages periodically to the server to check if the connection is still alive. The default is value is 7200 seconds -- two hours under Linux and Windows. If the system sends these before the &#039;grace period&#039; of dropping the connection, the router sees these messages and assumes the connection is still active and will not silently disconnect you.&lt;br /&gt;
&lt;br /&gt;
Generally a value of 180 seconds is usually low enough to work around all the home routers I&#039;ve encountered. --[[User:Ash-Fox|Ash-Fox]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning: Do not set this value lower than 60 seconds or you may suffer a lot of connectivity issues.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Under Linux===&lt;br /&gt;
This can be set on the fly by entering in the console as root:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo 180 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
However, if you wish to set this permanently (applied when you start the system), you will need to change/add &#039;&#039;&#039;net.ipv4.tcp_keepalive_time=&#039;&#039;&#039; in &#039;&#039;&#039;/etc/sysctl.conf&#039;&#039;&#039; to say something like &#039;&#039;&#039;net.ipv4.tcp_keepalive_time=180&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Under Windows NT systems===&lt;br /&gt;
This can be set from a Administrator account:&lt;br /&gt;
&lt;br /&gt;
Open regedit and browse to &#039;&#039;&#039;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If there is a key called &#039;&#039;&#039;KeepAliveTime&#039;&#039;&#039; edit it. If it doesn&#039;t exist, create it as a new dword key.&lt;br /&gt;
&lt;br /&gt;
Set the integer to &#039;&#039;&#039;180000&#039;&#039;&#039; (this is 180 seconds in mini-seconds), then restart Windows for the new changes to take effect.&lt;br /&gt;
&lt;br /&gt;
===Under Windows 95/98/ME systems===&lt;br /&gt;
&lt;br /&gt;
Open regedit and browse to &#039;&#039;&#039;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If there is a key called &#039;&#039;&#039;KeepAliveTime&#039;&#039;&#039; edit it. If it doesn&#039;t exist, create it as a new string value.&lt;br /&gt;
&lt;br /&gt;
Set the string value to &#039;&#039;&#039;180000&#039;&#039;&#039; (this is 180 seconds in mini-seconds), then restart Windows for the new changes to take effect.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Connection_issues&amp;diff=2867</id>
		<title>Connection issues</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Connection_issues&amp;diff=2867"/>
		<updated>2007-07-05T11:21:42Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Fixed formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Home router silent disconnects==&lt;br /&gt;
&lt;br /&gt;
Probably one of the most common of issues encountered with home routers and idle connections.&lt;br /&gt;
&lt;br /&gt;
Many home routers behave as NATs, the concept of a NAT is generally allow a network of computers share one IP address on another network, in this case the Internet. For address transversal to work, the router needs to keep routing information in memory of which connections are going where. Here is where in lies the problem.&lt;br /&gt;
&lt;br /&gt;
The router&#039;s memory is finite, and generally home routers have very little memory. Many routers do not have the ability to check if a connection is still active if it&#039;s absolutely silent (no data passing through either side, quite a common case when you&#039;re in a quiet area on a MUCK and not communicating) the router will assume after a certain amount of time that the connection died.&lt;br /&gt;
&lt;br /&gt;
On many home routers which run on a embedded version of Linux, this time limit is usually 900 seconds, although it can vary depending on what model and make of router you have. Generally this leads to silent disconnections after a bit of time.&lt;br /&gt;
&lt;br /&gt;
Fortunately there is a workaround. You can increase the rate of &#039;TCP keep-alive&#039; messages in the operating system (the default is 7200 seconds -- two hours under Linux and Windows) to send messages periodically to the server to check if the connection is alive. The router will see this and assume the connection is still active and won&#039;t silently disconnect you.&lt;br /&gt;
&lt;br /&gt;
Generally a value of 180 seconds is usually low enough to work around all the home routers I&#039;ve encountered. --[[User:Ash-Fox|Ash-Fox]]&lt;br /&gt;
&lt;br /&gt;
Under Linux, this can be set on the fly by entering in the console as root:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo 180 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
However, if you wish to set this permanently, to be set on boot, you will need to change/add &#039;&#039;&#039;net.ipv4.tcp_keepalive_time=&#039;&#039;&#039; in &#039;&#039;&#039;/etc/sysctl.conf&#039;&#039;&#039; to say something like &#039;&#039;&#039;net.ipv4.tcp_keepalive_time=180&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Under Windows, for some obscure reason it has timing upto the mini-second:&lt;br /&gt;
&lt;br /&gt;
Open regedit and browse to &#039;&#039;&#039;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters&#039;&#039;&#039; if there is a key called &#039;&#039;&#039;KeepAliveTime&#039;&#039;&#039; edit it. If it doesn&#039;t exist, create it as a new dword key.&lt;br /&gt;
&lt;br /&gt;
Set the integer to 180000 (this 180 seconds in mini-seconds), then restart Windows for the new changes to take effect.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Connection_issues&amp;diff=2866</id>
		<title>Connection issues</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Connection_issues&amp;diff=2866"/>
		<updated>2007-07-05T11:21:03Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Home router silent disconnects==&lt;br /&gt;
&lt;br /&gt;
Probably one of the most common of issues encountered with home routers and idle connections.&lt;br /&gt;
&lt;br /&gt;
Many home routers behave as NATs, the concept of a NAT is generally allow a network of computers share one IP address on another network, in this case the Internet. For address transversal to work, the router needs to keep routing information in memory of which connections are going where. Here is where in lies the problem.&lt;br /&gt;
&lt;br /&gt;
The router&#039;s memory is finite, and generally home routers have very little memory. Many routers do not have the ability to check if a connection is still active if it&#039;s absolutely silent (no data passing through either side, quite a common case when you&#039;re in a quiet area on a MUCK and not communicating) the router will assume after a certain amount of time that the connection died.&lt;br /&gt;
&lt;br /&gt;
On many home routers which run on a embedded version of Linux, this time limit is usually 900 seconds, although it can vary depending on what model and make of router you have. Generally this leads to silent disconnections after a bit of time.&lt;br /&gt;
&lt;br /&gt;
Fortunately there is a workaround. You can increase the rate of &#039;TCP keep-alive&#039; messages in the operating system (the default is 7200 seconds -- two hours under Linux and Windows) to send messages periodically to the server to check if the connection is alive. The router will see this and assume the connection is still active and won&#039;t silently disconnect you.&lt;br /&gt;
&lt;br /&gt;
Generally a value of 180 seconds is usually low enough to work around all the home routers I&#039;ve encountered. --[[User:Ash-Fox|Ash-Fox]]&lt;br /&gt;
&lt;br /&gt;
Under Linux, this can be set on the fly by entering in the console as root:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;echo 180 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
However, if you wish to set this permanently, to be set on boot, you will need to change/add &#039;&#039;&#039;net.ipv4.tcp_keepalive_time=&#039;&#039;&#039; in &#039;&#039;&#039;/etc/sysctl.conf&#039;&#039;&#039; to say something like &#039;&#039;&#039;net.ipv4.tcp_keepalive_time=180&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Under Windows, for some obscure reason it has timing upto the mini-second:&lt;br /&gt;
&lt;br /&gt;
Open regedit and browse to &#039;&#039;&#039;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters&#039;&#039;&#039; if there is a key called &#039;&#039;KeepAliveTime&#039;&#039; edit it. If it doesn&#039;t exist, create it as a new dword key.&lt;br /&gt;
&lt;br /&gt;
Set the integer to 180000 (this 180 seconds in mini-seconds), then restart Windows for the new changes to take effect.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=User_talk:Kles&amp;diff=2665</id>
		<title>User talk:Kles</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=User_talk:Kles&amp;diff=2665"/>
		<updated>2007-04-25T06:02:38Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Thanks for helping out around here. :) --[[User:WhiteWizard|WhiteWizard]]&amp;lt;sup&amp;gt;([[User talk:WhiteWizard|talk]])&amp;lt;/sup&amp;gt; 20:28, 24 April 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Greetings, I wrote the MPI syntax highlighting language script -- I was forwarded to your user page over the issues and I&#039;ve added/fixed the missing things (I&#039;ve sent WhiteWizard the new script). If you find anything else wrong or have any suggestions, leave me a note my discussion page. Thanks =) [[User:Ash-Fox|Ash-Fox]] 23:02, 24 April 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2318</id>
		<title>User:Ash-Fox</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2318"/>
		<updated>2007-03-31T08:45:08Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: /* Notes to self */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ash-Fox enjoys putting [http://en.wikipedia.org/wiki/Slinky slinkies] on an [http://en.wikipedia.org/wiki/Escalator escalator].&lt;br /&gt;
&lt;br /&gt;
==Notes to self==&lt;br /&gt;
*Ask a moderator to delete the old MPI_ articles (which are redirects for the time being) and categories (moved the MPI articles to a better naming convention in categories).&lt;br /&gt;
*Write decent descriptions for MPI categories.&lt;br /&gt;
*Look over the MPI functions and see if they fit into more than one category or create additional categories if needed.&lt;br /&gt;
*Consider doing basic stubs on each command the MUCK supports, using text from the &#039;help&#039; command.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=LocationCount_(lc)&amp;diff=2316</id>
		<title>LocationCount (lc)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=LocationCount_(lc)&amp;diff=2316"/>
		<updated>2007-03-31T08:40:29Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Added to &amp;#039;MUCK Commands&amp;#039; category.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:MUCK Commands]]&lt;br /&gt;
This command gives you a count of the number of people that are in a each public area. By default it will not list any area with less than 2 people (this is the &amp;quot;Threshold&amp;quot;.) You can specify different thresholds after the command, such as &amp;quot;locationcount 1&amp;quot; to get a list of every area with 1 or more people in it.&lt;br /&gt;
&lt;br /&gt;
The command can be abbreviated (and usually is) as simply &amp;quot;lc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sample output:&lt;br /&gt;
&lt;br /&gt;
 Area                      ### Description                  (Threshhold   2)&lt;br /&gt;
 ------------------------- --- ---------------------------------------------&lt;br /&gt;
 Layleaux Town............ 295 Largest town; north side of the lake&lt;br /&gt;
   Auction House..........   8 Slave Auctions (t plaza;s)&lt;br /&gt;
   Bull&#039;s Gym, The........   7 Fitness Center &amp;amp; Hangout (t bullgym)&lt;br /&gt;
   Cistern, The...........   2 Town Sewer System (t cistern)&lt;br /&gt;
   Feedery Barn &amp;amp; Grill...   3 Weight Gainer&#039;s Bar (t cafevore; feed)&lt;br /&gt;
   Fox Plaza..............  50 Central Gathering Spot (t plaza; out)&lt;br /&gt;
   Golden Lash, The.......  13 BDSM Club (t goldenlash)&lt;br /&gt;
   Hermaphrodite Haven....  27 Herm themed Bar/hotel (all welcome) (t HermH)&lt;br /&gt;
   Lining, The............  40 Gay/Bi/Straight BDSM Bar (t lining)&lt;br /&gt;
   Lion&#039;s Den.............  18 Bars, Beach Hotel and Parks (t lionsden)&lt;br /&gt;
   Merriam&#039;s Pub..........  19 Erudite Erotica (t merriam)&lt;br /&gt;
   Mystic Stables.........  15 Stud Farm and Horseback Riding Area (t mystic)&lt;br /&gt;
   Plush Pile, The........   3 Plushie Store/Play Area (t plushpile)&lt;br /&gt;
   St. Mary&#039;s.............   7 School for Wayward Furs (t school; e)&lt;br /&gt;
   Shimmering Sun Club....   7 Reptilian-Themed Lounge and Resort (t sunclub)&lt;br /&gt;
   Truth Or Dare..........   8 (t plaza; out; se)&lt;br /&gt;
   Velvet Underground.....  15 Everyone welcome - come in, have fun! (t vunder)&lt;br /&gt;
   Vor Cafe...............   8 Predator/Prey and More (t cafevore)&lt;br /&gt;
 Northern Forest..........  17 Forest north of Layleaux&lt;br /&gt;
   Secret Moon............  10 Treehouse (t secretmoon)&lt;br /&gt;
 East Forest &amp;amp; Mountains..   2 The area to the East of Layleaux&lt;br /&gt;
   Arvandor...............   2 Treedwellers Housing and more (t Arvandor)&lt;br /&gt;
 Lake Alodaelia...........   4 In or Above the Lake (t ferry)&lt;br /&gt;
   Temple of Divinity.....   4 Egyptian Area for rituals/breeders (t divine)&lt;br /&gt;
 The Cloud Castle.........   2 Old Muck Center (t castle)&lt;br /&gt;
 The Oceans of Tapestries.   8&lt;br /&gt;
   Island of Dr I.N.Sane..   2 Heavy Scenes Island (t insane)&lt;br /&gt;
   Katatraz Prison Complex   2 Prisoner/Guard Roleplay and More (t katatraz)&lt;br /&gt;
   Macro Zone, The........   3 Macrophiles/Microphiles Area (t macro)&lt;br /&gt;
 Unlinked Rooms........... 347 Unapproved Building&lt;br /&gt;
 --- Total Online 685 ------------------------------------------ lc v2.1 ---&lt;br /&gt;
&lt;br /&gt;
[[Category:MUCK Commands]][[Category:Extended MUCK Commands]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=@name&amp;diff=2315</id>
		<title>@name</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=@name&amp;diff=2315"/>
		<updated>2007-03-31T08:40:04Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Apparently there is already a commands category called &amp;#039;MUCK Commands&amp;#039;, using that instead.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:MUCK Commands]]&lt;br /&gt;
== help @name ==&lt;br /&gt;
The @name command helpfile entry is:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;@name  &amp;lt;object&amp;gt;=&amp;lt;name&amp;gt; [&amp;lt;password&amp;gt;].  Sets  the name field of &amp;lt;object&amp;gt;&lt;br /&gt;
to  &amp;lt;name&amp;gt;.   &amp;lt;name&amp;gt;  cannot   be  empty; a null   name   is  illegal.&lt;br /&gt;
&amp;lt;password&amp;gt; must  be supplied to rename a   player.  Wizards can rename&lt;br /&gt;
any player but still must include the password.&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The @name Policy ==&lt;br /&gt;
The @name command is locked and can not be used. That means your current name is your &amp;quot;forever-name.&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
The [[fail]] message for @name says &#039;Only wizards can rename players.&#039; This may give the impression that players can request or petition [[wizards]] to change their name, but wizards will not go into the business of name-changes. &lt;br /&gt;
&lt;br /&gt;
=== Changing your Name === &lt;br /&gt;
Please just [http://www.fur.com/tapestries/registration go back to the web page] and generate a new [[character]]. &lt;br /&gt;
&lt;br /&gt;
=== Managing your Names ===&lt;br /&gt;
 &lt;br /&gt;
To manage your &#039;names&#039;: &lt;br /&gt;
 &lt;br /&gt;
#Learn [[@toadme]] to delete names/[[alt]]s&lt;br /&gt;
#As with most [[:Category:MUCK Commands|commands]], use #help for help, as in &#039;@toadme #help&#039;&lt;br /&gt;
#Learn to use the [http://www.fur.com/tapestries/registration registration form] to create new names/alts&lt;br /&gt;
#Make sure your [[spam filter]] does not hinder our email validation&lt;br /&gt;
#To validate, click link in email, and then click &#039;Verify&#039; on the page itself&lt;br /&gt;
#If validation went wrong, your alt will be [[recycle]]d and you must re-register&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=@name&amp;diff=2314</id>
		<title>@name</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=@name&amp;diff=2314"/>
		<updated>2007-03-31T08:37:44Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Added to Commands category and fixed commands link to point to that.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Commands]]&lt;br /&gt;
== help @name ==&lt;br /&gt;
The @name command helpfile entry is:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;@name  &amp;lt;object&amp;gt;=&amp;lt;name&amp;gt; [&amp;lt;password&amp;gt;].  Sets  the name field of &amp;lt;object&amp;gt;&lt;br /&gt;
to  &amp;lt;name&amp;gt;.   &amp;lt;name&amp;gt;  cannot   be  empty; a null   name   is  illegal.&lt;br /&gt;
&amp;lt;password&amp;gt; must  be supplied to rename a   player.  Wizards can rename&lt;br /&gt;
any player but still must include the password.&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The @name Policy ==&lt;br /&gt;
The @name command is locked and can not be used. That means your current name is your &amp;quot;forever-name.&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
The [[fail]] message for @name says &#039;Only wizards can rename players.&#039; This may give the impression that players can request or petition [[wizards]] to change their name, but wizards will not go into the business of name-changes. &lt;br /&gt;
&lt;br /&gt;
=== Changing your Name === &lt;br /&gt;
Please just [http://www.fur.com/tapestries/registration go back to the web page] and generate a new [[character]]. &lt;br /&gt;
&lt;br /&gt;
=== Managing your Names ===&lt;br /&gt;
 &lt;br /&gt;
To manage your &#039;names&#039;: &lt;br /&gt;
 &lt;br /&gt;
#Learn [[@toadme]] to delete names/[[alt]]s&lt;br /&gt;
#As with most [[:Category:Commands|commands]], use #help for help, as in &#039;@toadme #help&#039;&lt;br /&gt;
#Learn to use the [http://www.fur.com/tapestries/registration registration form] to create new names/alts&lt;br /&gt;
#Make sure your [[spam filter]] does not hinder our email validation&lt;br /&gt;
#To validate, click link in email, and then click &#039;Verify&#039; on the page itself&lt;br /&gt;
#If validation went wrong, your alt will be [[recycle]]d and you must re-register&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Comments_(MPI)&amp;diff=2301</id>
		<title>Comments (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Comments_(MPI)&amp;diff=2301"/>
		<updated>2007-03-31T05:00:20Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Removed from MPI Functions category -- not a function.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Definitions and Details (MPI)]]&lt;br /&gt;
=comments=&lt;br /&gt;
&lt;br /&gt;
Only 26 levels of recursion are allowed, so funcs that deep return literally. In loops, a max of 256 iterations are allowed before they exit automatically.&lt;br /&gt;
&lt;br /&gt;
Lists have a maximum size of 256 lines, or 4096 characters, whichever is less.&lt;br /&gt;
All matching will be done relative to the trigger object first, then relative to the triggering player, if nothing was matched in the first pass.&lt;br /&gt;
&lt;br /&gt;
The &#039;me&#039; and &#039;here&#039; keywords always are relative to the triggering player.&lt;br /&gt;
The trigger object is referred to by &#039;this&#039;.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Store_(MPI)&amp;diff=2300</id>
		<title>Store (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Store_(MPI)&amp;diff=2300"/>
		<updated>2007-03-31T04:57:21Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Added &amp;#039;see also&amp;#039; link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Property Handling (MPI)]]&lt;br /&gt;
=store=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{store:val,prop}&lt;br /&gt;
{store:val,prop,obj}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Stores a string value in a given property.&lt;br /&gt;
&lt;br /&gt;
If no obj parameter is given, then it stores the property on the trigger object.  Otherwise, it will store it on the given object.&lt;br /&gt;
&lt;br /&gt;
If you specify a propname that is protected, you will get a Permission Denied error.&lt;br /&gt;
&lt;br /&gt;
You are only allowed to store properties on objects controlled by the owner of the trigger object. The trigger object is the object that triggered the evaluation of the MPI commands.&lt;br /&gt;
&lt;br /&gt;
This function returns the string that is stored as the prop value. If you store a null value in the property, then it will remove the property if it is not a propdir. &lt;br /&gt;
&lt;br /&gt;
It will clear the value of the prop if it IS a propdir.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*MPI function: [[Propdir (MPI)|propdir]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Listprops_(MPI)&amp;diff=2299</id>
		<title>Listprops (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Listprops_(MPI)&amp;diff=2299"/>
		<updated>2007-03-31T04:50:56Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Corrected link(s) with new MPI naming scheme.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Property Handling (MPI)]]&lt;br /&gt;
=listprops=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{listprops:propdir}&lt;br /&gt;
{listprops:propdir,object}&lt;br /&gt;
{listprops:propdir,object,pattern}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
This function will return a list that contains the full names of all the sub-properties contained by the given propdir.&lt;br /&gt;
&lt;br /&gt;
If not given, object defaults to the trigger object. If a pattern is given, the sub-properties in the propdir are each compared against the smatch wildcard pattern, and only those that match are returned in the list. This comparison is only done on the last part of the property name after the last /.&lt;br /&gt;
&lt;br /&gt;
Also refer to [[Propdir (MPI)|PROPDIR]] and [[Smatch (MPI)|SMATCH]].&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=List_(MPI)&amp;diff=2298</id>
		<title>List (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=List_(MPI)&amp;diff=2298"/>
		<updated>2007-03-31T04:49:51Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Added link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Property Handling (MPI)]]&lt;br /&gt;
=list=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{list:listname}&lt;br /&gt;
{list:listname,obj}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Returns a string, containing a carriage-return delimited list of individual lines from a property based list.&lt;br /&gt;
&lt;br /&gt;
A property based list is a series of properties that are consecutively numbered.  The server understands several different formats, and can also read in property lists in either the propnameX format, or the propname#/X format.&lt;br /&gt;
&lt;br /&gt;
It does NOT evaluate the contents of the list for embedded [[MPI]] commands.&lt;br /&gt;
&lt;br /&gt;
If no obj argument is supplied, then it looks for the list somewhere down the environment from the trigger object.  Otherwise, it looks for the list down the environment from the given object.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Lastused_(MPI)&amp;diff=2297</id>
		<title>Lastused (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Lastused_(MPI)&amp;diff=2297"/>
		<updated>2007-03-31T04:48:34Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Corrected link(s) with new MPI naming scheme.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Database Related Functions (MPI)]]&lt;br /&gt;
=lastused=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{lastused:obj}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Returns the time and date that obj was last used.&lt;br /&gt;
&lt;br /&gt;
The number returned is suitable for use with {[[Convsecs (MPI)|convsecs]]}.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Kill_(MPI)&amp;diff=2296</id>
		<title>Kill (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Kill_(MPI)&amp;diff=2296"/>
		<updated>2007-03-31T04:47:51Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Corrected link(s) with new MPI naming scheme.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Time Functions (MPI)]]&lt;br /&gt;
=kill=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{kill:processID}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Kills a process on the timequeue, that was possibly created by {[[Delay (MPI)|DELAY]]}.&lt;br /&gt;
&lt;br /&gt;
If the process ID it is given is 0, then it will kill all processes done by that trigger object.  If the process to be killed was not set off by that trigger, and was not set off by any object that the owner of the trigger owns, then this will error out with Permission denied.&lt;br /&gt;
&lt;br /&gt;
If no process is found, this returns 0. If a process was found, and the permissions were okay, then the process is killed, and {[[Kill (MPI)|kill]]} returns the number of processes killed.  Usually 1.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Func_(MPI)&amp;diff=2295</id>
		<title>Func (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Func_(MPI)&amp;diff=2295"/>
		<updated>2007-03-31T04:44:14Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Corrected link(s) with new MPI naming scheme.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Macros and Functions (MPI)]]&lt;br /&gt;
=func=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{func:name,vars...,def}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
This effectively defines a function in [[MPI]], with the given name, that takes the given named variables.&lt;br /&gt;
&lt;br /&gt;
The function is not immediately evaluated, so it needs to be invoked later, to do anything.  Here&#039;s an example:&lt;br /&gt;
&amp;lt;mpi&amp;gt;{func:sqr,val,{mult:{&amp;amp;val},{&amp;amp;val}}}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This defines the function &#039;sqr&#039;, that takes a single argument.  That argument is stored in the &#039;val&#039; variable.  The function will multiply the value of the number passed to it, by itself, returning the result.&lt;br /&gt;
It&#039;s invoked like:&lt;br /&gt;
&amp;lt;mpi&amp;gt;{sqr:10}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Effectively, the above {[[Func (MPI)|func]]} declaration is the same as the following macro, and in fact, it&#039;s internally handled the same way:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mpi&amp;gt;_msgmacs/sqr:{with:val,{:1},{mult:{&amp;amp;val},{&amp;amp;val}}}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can define a function that takes more than one argument, but the maximum number of args you can pass to the function is seven.  Example of multiple arguments:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mpi&amp;gt;     {func:names,list,numsp,flagsp,&lt;br /&gt;
 	{parse:v,{&amp;amp;list},&lt;br /&gt;
 	    {name:{&amp;amp;v}}&lt;br /&gt;
 	    {if:{or:{&amp;amp;numsp},{&amp;amp;flagsp}},&lt;br /&gt;
 		{lit:(}&lt;br /&gt;
 		{if:{&amp;amp;numsp},{ref:{&amp;amp;v}}}&lt;br /&gt;
 		{if:{&amp;amp;flagsp},{flags:{&amp;amp;v}}}&lt;br /&gt;
 		{lit:)}&lt;br /&gt;
 	    }&lt;br /&gt;
 	}&lt;br /&gt;
     }&lt;br /&gt;
     {names:{contents:here},1,1}&lt;br /&gt;
&amp;lt;/mpi&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Ftime_(MPI)&amp;diff=2294</id>
		<title>Ftime (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Ftime_(MPI)&amp;diff=2294"/>
		<updated>2007-03-31T04:42:22Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Fixed up the formatting, added &amp;#039;Timefmt&amp;#039; and rearranged some text.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Time Functions (MPI)]]&lt;br /&gt;
=ftime=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{ftime:format}&lt;br /&gt;
{ftime:format,tz}&lt;br /&gt;
{ftime:format,tz,secs}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Returns a time string in the format you specify.&lt;br /&gt;
&lt;br /&gt;
If specified, tz is the number of seconds offset from GMT. If specified, secs is the systime to use, instead of the current time.  &amp;lt;mpi&amp;gt;{ftime:%x %X %Y,{tzoffset},0}&amp;lt;/mpi&amp;gt; will return the date and time for systime 0, for the local time zone of the server.&lt;br /&gt;
&lt;br /&gt;
See [[Timefmt]] for the %subs that you can use in the format string.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Foreach_(MPI)&amp;diff=2292</id>
		<title>Foreach (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Foreach_(MPI)&amp;diff=2292"/>
		<updated>2007-03-31T04:37:13Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Fixed up the formatting and added links for commands.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Looping Functions (MPI)]]&lt;br /&gt;
=foreach=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{foreach:var,list,expr}&lt;br /&gt;
{foreach:var,list,expr,sep}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
This evaluates expr for each and every item in the given list.&lt;br /&gt;
&lt;br /&gt;
On each evaluation, the temporary variable var will contain the value of the item under scrutiny.&lt;br /&gt;
&lt;br /&gt;
var will only be defined for the duration of expr, and will be undefined after the {[[Foreach (MPI)|foreach]]} construct finishes. If sep is given, then it uses that string as the item seperator in list, instead of the usual carriage return character.&lt;br /&gt;
&lt;br /&gt;
sep can be multiple characters long.&lt;br /&gt;
&lt;br /&gt;
This structure returns the result of the last evaluation of expr.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;mpi&amp;gt;{foreach:thing,{contents:here},{tell:{name:{&amp;amp;thing}}}}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
This will display the name of every object in the room, then it will return the name of the last object it displayed.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Force_(MPI)&amp;diff=2291</id>
		<title>Force (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Force_(MPI)&amp;diff=2291"/>
		<updated>2007-03-31T04:35:59Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Corrected link(s) with new MPI naming scheme.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Database Related Functions (MPI)]]&lt;br /&gt;
=force=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{force:object,command}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Forces the given player or thing to do the given command.  The thing forced must be [[@flock]]&#039;ed to the trigger object, or the trigger object&#039;s owner, and it must be set XFORCIBLE, or else this function will get a Permission Denied error.&lt;br /&gt;
&lt;br /&gt;
This function returns a null string.&lt;br /&gt;
&lt;br /&gt;
{[[Force (MPI)|Force]]} cannot force a thing-object to do something, if it is set Dark, is in a room set Zombie, or is owned by a player set Zombie.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Filter_(MPI)&amp;diff=2290</id>
		<title>Filter (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Filter_(MPI)&amp;diff=2290"/>
		<updated>2007-03-31T04:35:06Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Corrected link(s) with new MPI naming scheme.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Looping Functions (MPI)]]&lt;br /&gt;
=filter=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{filter:var,list,expr}&lt;br /&gt;
{filter:var,list,exp,sep}&lt;br /&gt;
{filter:var,lst,exp,sep,s2}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
This evaluates expr for each and every item in the given list.&lt;br /&gt;
&lt;br /&gt;
On each evaluation, the temporary variable var will contain the value of the item under scrutiny. This function returns a list containing all of the items from the input list, for which expr evaluated true.  var will only be defined for the duration of expr, and will be undefined after the {[[filter (MPI)|filter]]} construct finishes.  If sep is given, then it uses that string as the item seperator in the input list, instead of the usual carriage return character.&lt;br /&gt;
&lt;br /&gt;
If s2 is defined, then it will use that string to seperate the items in the list it returns, instead of the normal carriage return.  sep and s2 can be multiple characters long.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Exits_(MPI)&amp;diff=2289</id>
		<title>Exits (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Exits_(MPI)&amp;diff=2289"/>
		<updated>2007-03-31T04:34:16Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Fixed up the formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Database Related Functions (MPI)]]&lt;br /&gt;
=exits=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{exits:obj}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Returns a list of all the exits on the given object.&lt;br /&gt;
&lt;br /&gt;
The owner of the trigger object has to control obj, or else this errors out with Permission Denied.&lt;br /&gt;
&lt;br /&gt;
Programs and exits never have exits attached to them.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Delay_(MPI)&amp;diff=2288</id>
		<title>Delay (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Delay_(MPI)&amp;diff=2288"/>
		<updated>2007-03-31T04:32:55Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Added link(s) for function(s).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Time Functions (MPI)]]&lt;br /&gt;
=delay=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{delay:secs,expr}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Evaluates the given expression, then puts the result of that on the timequeue, to execute after the given number of seconds.&lt;br /&gt;
&lt;br /&gt;
At that time, the string is evaluated again, and displayed to the user, or to the room, depending on whether it was run from a regular message such as [[@succ]], or from an omessage such as [[@osucc]].&lt;br /&gt;
&lt;br /&gt;
Since the expression is evaluated both before and after being delayed, you need to put MPI code that is to run after the delay within a {[[Lit (MPI)|lit]]:expr} command.  If a {[[Delay (MPI)|delay]]} evaluation is a null string, then the notify or notify_except will not be done.&lt;br /&gt;
&lt;br /&gt;
{[[Delay (MPI)|delay]]} will return the process ID of the event it puts on the timequeue.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Delay_(MPI)&amp;diff=2287</id>
		<title>Delay (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Delay_(MPI)&amp;diff=2287"/>
		<updated>2007-03-31T04:30:54Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Fixed up the formatting and added links for commands.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Time Functions (MPI)]]&lt;br /&gt;
=delay=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{delay:secs,expr}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Evaluates the given expression, then puts the result of that on the timequeue, to execute after the given number of seconds.&lt;br /&gt;
&lt;br /&gt;
At that time, the string is evaluated again, and displayed to the user, or to the room, depending on whether it was run from a regular message such as [[@succ]], or from an omessage such as [[@osucc]].&lt;br /&gt;
&lt;br /&gt;
Since the expression is evaluated both before and after being delayed, you need to put MPI code that is to run after the delay within a {lit:expr} command.  If a {delay} evaluation is a null string, then the notify or notify_except will not be done.&lt;br /&gt;
&lt;br /&gt;
{delay} will return the process ID of the event it puts on the timequeue.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Definitions_(MPI)&amp;diff=2286</id>
		<title>Definitions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Definitions_(MPI)&amp;diff=2286"/>
		<updated>2007-03-31T04:29:15Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Is not a function, removed from function category.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Definitions and Details (MPI)]]&lt;br /&gt;
=definitions=&lt;br /&gt;
&lt;br /&gt;
A Trigger object is the object that the MPI script is evaluated from. &lt;br /&gt;
&lt;br /&gt;
A List is a string containing several individual substring items, seperated by carriage return characters.&lt;br /&gt;
&lt;br /&gt;
A property based list is a set of consecutively numbered properties that each contain one string in a list of strings.  Property based lists are often numbered like: listname1, listname2, listname3, listname4, &amp;amp;c. Another popular format is listname#/1, listname#/2, listname#/3, etc. MPI can read in either of those formats, and several more, for that matter.&lt;br /&gt;
&lt;br /&gt;
For logical constructs, a string value of &amp;quot;0&amp;quot;, or a null string (&amp;quot;&amp;quot;) are both considered false.  Any other value is considered true.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Created_(MPI)&amp;diff=2285</id>
		<title>Created (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Created_(MPI)&amp;diff=2285"/>
		<updated>2007-03-31T04:26:10Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Corrected link(s) with new MPI naming scheme.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Database Related Functions (MPI)]]&lt;br /&gt;
=created=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{created:obj}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns the time and date that obj was created.  The number returned is suitable for use with [[Convsecs (MPI)|convsecs]].&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Center_(MPI)&amp;diff=2284</id>
		<title>Center (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Center_(MPI)&amp;diff=2284"/>
		<updated>2007-03-31T04:24:31Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Fixed up the formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:String Functions (MPI)]]&lt;br /&gt;
=center=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{center:string}&lt;br /&gt;
{center:string,fieldwidth}&lt;br /&gt;
{center:string,fieldwidth,padstring}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Takes a string and pads it to fit the given fieldwidth, with the string center justified.&lt;br /&gt;
&lt;br /&gt;
If no padstring is given, it assumes that it will pad the string with spaces. &lt;br /&gt;
If no fieldwidth is given, it assumes that the field width is 78 characters.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;mpi&amp;gt;{center:Hello,10,1234567890}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
would return the string &amp;quot;123Hello12&amp;quot;&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Add_(MPI)&amp;diff=2283</id>
		<title>Add (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Add_(MPI)&amp;diff=2283"/>
		<updated>2007-03-31T04:23:44Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: Fixed up the formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Math Functions (MPI)]]&lt;br /&gt;
=add=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{add:expr1,expr2}&lt;br /&gt;
{add:expr1,expr2,expr3...}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Returns the sum of the values of expr1 and expr2.&lt;br /&gt;
&lt;br /&gt;
If more than two args are given, then this will add all the args together and return the result.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2282</id>
		<title>User:Ash-Fox</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2282"/>
		<updated>2007-03-31T02:52:23Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: /* Notes to self */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ash-Fox enjoys putting [http://en.wikipedia.org/wiki/Slinky slinkies] on an [http://en.wikipedia.org/wiki/Escalator escalator].&lt;br /&gt;
&lt;br /&gt;
==Notes to self==&lt;br /&gt;
*Ask a moderator to delete the old MPI_ articles (which are redirects for the time being) and categories (moved the MPI articles to a better naming convention in categories).&lt;br /&gt;
*Write decent descriptions for MPI categories.&lt;br /&gt;
*Look over the MPI functions and see if they fit into more than one category or create additional categories if needed.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2278</id>
		<title>User:Ash-Fox</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2278"/>
		<updated>2007-03-31T02:33:20Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ash-Fox enjoys putting [http://en.wikipedia.org/wiki/Slinky slinkies] on an [http://en.wikipedia.org/wiki/Escalator escalator].&lt;br /&gt;
&lt;br /&gt;
==Notes to self==&lt;br /&gt;
*Ask a moderator to delete the old MPI_ articles (which are redirects for the time being) and categories (moved the MPI articles to a better naming convention in categories).&lt;br /&gt;
*Look over the MPI functions and see if they fit into more than one category or create additional categories if needed.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2277</id>
		<title>User:Ash-Fox</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2277"/>
		<updated>2007-03-31T02:31:43Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ash-Fox enjoys putting [http://en.wikipedia.org/wiki/Slinky slinkies] on an [http://en.wikipedia.org/wiki/Escalator escalator].&lt;br /&gt;
&lt;br /&gt;
==Notes to self==&lt;br /&gt;
*Ask a moderator to delete the old MPI_ articles and categories.&lt;br /&gt;
*Look over the MPI functions and see if they fit into more than one category or create additional categories if needed.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2273</id>
		<title>User:Ash-Fox</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2273"/>
		<updated>2007-03-31T02:15:10Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ash-Fox enjoys putting [http://en.wikipedia.org/wiki/Slinky slinkies] on an [http://en.wikipedia.org/wiki/Escalator escalator].&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2272</id>
		<title>User:Ash-Fox</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=User:Ash-Fox&amp;diff=2272"/>
		<updated>2007-03-31T02:13:37Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ash-Fox enjoys putting [[http://en.wikipedia.org/wiki/Slinky slinkies]] on an [[http://en.wikipedia.org/wiki/Escalator escalator]].&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=MPI&amp;diff=2270</id>
		<title>MPI</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=MPI&amp;diff=2270"/>
		<updated>2007-03-31T01:52:33Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Message Box|&#039;&#039;&#039;This article is a stub, it desperatly needs fleshing out.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
MPI stands for My Personal Insanity, though it was later [[Wikipedia:Backronym|backronym]]ed Message Parsing Interpreter. It is a macro expansion or markup language used in various parts of the [[MUCK]] to make descriptions, messages and other content more dynamic. It can also be used to write programs.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Programming MPI]]&lt;br /&gt;
* [[:Category:Functions (MPI)|MPI Functions]]&lt;br /&gt;
* [[Wikipedia:Message Parsing Interpreter]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Functions_(MPI)&amp;diff=2269</id>
		<title>Category:Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Functions_(MPI)&amp;diff=2269"/>
		<updated>2007-03-31T01:50:57Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[MPI]] function list.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Variable_Handling_Functions_(MPI)&amp;diff=2267</id>
		<title>Category:Variable Handling Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Variable_Handling_Functions_(MPI)&amp;diff=2267"/>
		<updated>2007-03-31T01:49:45Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Time_Functions_(MPI)&amp;diff=2266</id>
		<title>Category:Time Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Time_Functions_(MPI)&amp;diff=2266"/>
		<updated>2007-03-31T01:49:41Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:String_Functions_(MPI)&amp;diff=2265</id>
		<title>Category:String Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:String_Functions_(MPI)&amp;diff=2265"/>
		<updated>2007-03-31T01:49:38Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Property_Handling_(MPI)&amp;diff=2264</id>
		<title>Category:Property Handling (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Property_Handling_(MPI)&amp;diff=2264"/>
		<updated>2007-03-31T01:49:34Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Miscellaneous_Functions_(MPI)&amp;diff=2263</id>
		<title>Category:Miscellaneous Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Miscellaneous_Functions_(MPI)&amp;diff=2263"/>
		<updated>2007-03-31T01:49:31Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Math_Functions_(MPI)&amp;diff=2262</id>
		<title>Category:Math Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Math_Functions_(MPI)&amp;diff=2262"/>
		<updated>2007-03-31T01:49:26Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Macros_and_Functions_(MPI)&amp;diff=2261</id>
		<title>Category:Macros and Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Macros_and_Functions_(MPI)&amp;diff=2261"/>
		<updated>2007-03-31T01:49:22Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Looping_Functions_(MPI)&amp;diff=2260</id>
		<title>Category:Looping Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Looping_Functions_(MPI)&amp;diff=2260"/>
		<updated>2007-03-31T01:49:18Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Logical_Functions_(MPI)&amp;diff=2259</id>
		<title>Category:Logical Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Logical_Functions_(MPI)&amp;diff=2259"/>
		<updated>2007-03-31T01:49:13Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:List_Handling_Functions_(MPI)&amp;diff=2258</id>
		<title>Category:List Handling Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:List_Handling_Functions_(MPI)&amp;diff=2258"/>
		<updated>2007-03-31T01:49:07Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Definitions_and_Details_(MPI)&amp;diff=2257</id>
		<title>Category:Definitions and Details (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Definitions_and_Details_(MPI)&amp;diff=2257"/>
		<updated>2007-03-31T01:48:56Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Database_Related_Functions_(MPI)&amp;diff=2256</id>
		<title>Category:Database Related Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Database_Related_Functions_(MPI)&amp;diff=2256"/>
		<updated>2007-03-31T01:48:51Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Category:Connection_Related_Functions_(MPI)&amp;diff=2255</id>
		<title>Category:Connection Related Functions (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Category:Connection_Related_Functions_(MPI)&amp;diff=2255"/>
		<updated>2007-03-31T01:48:45Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]]&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Or_(MPI)&amp;diff=2254</id>
		<title>Or (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Or_(MPI)&amp;diff=2254"/>
		<updated>2007-03-31T01:47:18Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Logical Functions (MPI)]]&lt;br /&gt;
=or=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{or:expr1,expr2...}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Returns true if expr1 or expr2 evaluate as true. Otherwise, this returns false.&lt;br /&gt;
&lt;br /&gt;
If expr1 was true, this doesn&#039;t bother to exaluate expr2, as it does C-style shortcutting. If there are more than two arguments, then this will evaluate them until either one returns true, or until it has evaluated all the expressions.&lt;br /&gt;
&lt;br /&gt;
This returns false only if all of the expressions return false.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
	<entry>
		<id>http://www.fur.com/tapestries/wiki/index.php?title=Ontime_(MPI)&amp;diff=2253</id>
		<title>Ontime (MPI)</title>
		<link rel="alternate" type="text/html" href="http://www.fur.com/tapestries/wiki/index.php?title=Ontime_(MPI)&amp;diff=2253"/>
		<updated>2007-03-31T01:47:09Z</updated>

		<summary type="html">&lt;p&gt;Ash-Fox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:functions (MPI)]][[Category:Connection Related Functions (MPI)]]&lt;br /&gt;
=ontime=&lt;br /&gt;
&amp;lt;mpi&amp;gt;{ontime:player}&amp;lt;/mpi&amp;gt;&lt;br /&gt;
Returns player online time in seconds.&lt;br /&gt;
&lt;br /&gt;
If the given player is not connected, or is not a player object at all, then this will return -1.&lt;br /&gt;
&lt;br /&gt;
This returns the online time for the most recently connected connection, if there are multiple connects.&lt;/div&gt;</summary>
		<author><name>Ash-Fox</name></author>
	</entry>
</feed>