<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://script.quakenet.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Daveoh</id>
	<title>Scriptwiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://script.quakenet.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Daveoh"/>
	<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/Special:Contributions/Daveoh"/>
	<updated>2026-06-04T00:32:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$script&amp;diff=4668</id>
		<title>$script</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$script&amp;diff=4668"/>
		<updated>2010-11-05T15:26:52Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns the full file path of the currently executing remote script.&lt;br /&gt;
 $script&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 [[alias]] hello {&lt;br /&gt;
   [[echo]] -ag We&#039;re running from script file $script&lt;br /&gt;
 }&lt;br /&gt;
This may return something like:&lt;br /&gt;
 We&#039;re running from script file C:\Users\Dana\AppData\Roaming\mIRC\scripts\remote.ini&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[$scriptline]] - Returns the current script line.&lt;br /&gt;
* [[$scriptdir]] - Returns the directory the current script is saved.&lt;br /&gt;
&lt;br /&gt;
[[Category:Remote Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Category:Beta&amp;diff=4945</id>
		<title>Category:Beta</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Category:Beta&amp;diff=4945"/>
		<updated>2010-04-13T02:50:43Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category contains a list of all pages where the template [[Template:Beta|&amp;lt;nowiki&amp;gt;{{beta}}&amp;lt;/nowiki&amp;gt;]] is used.&lt;br /&gt;
&lt;br /&gt;
Admins; remember to remove &amp;lt;nowiki&amp;gt;{{beta}}&amp;lt;/nowiki&amp;gt; tags from pages once the feature is introduced into a stable version of mIRC.&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Category:Beta&amp;diff=2759</id>
		<title>Category:Beta</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Category:Beta&amp;diff=2759"/>
		<updated>2010-04-03T01:22:56Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category contains a list of all pages where the template [[Template:Beta|&amp;lt;nowiki&amp;gt;{{beta}}&amp;lt;/nowiki&amp;gt;]] is used.&lt;br /&gt;
&lt;br /&gt;
Please remember to remove &amp;lt;nowiki&amp;gt;{{beta}}&amp;lt;/nowiki&amp;gt; tags from pages when they are introduced into a stable version of mIRC.&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$input&amp;diff=4817</id>
		<title>$input</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$input&amp;diff=4817"/>
		<updated>2010-04-03T01:20:38Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: Added beta -b switch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Input is a multi-purpose identifier for requesting input from a user in an auto-rendered pop up dialog, similar to [[$?]].&lt;br /&gt;
&lt;br /&gt;
 $input(prompt [,options] [,window] [,title] [,text])&lt;br /&gt;
&lt;br /&gt;
* Prompt is the text you wish to display to the user. This is usually to tell the user what you wish to be inputted. You may use a [[$crlf]] to force a line break.&lt;br /&gt;
* Options is a list of option flags. Defaults to an &amp;quot;OK&amp;quot; and &amp;quot;Cancel&amp;quot; button which return [[$true]] or [[$false]] respetively.&lt;br /&gt;
* Window is the name of the window to be used as parent window.&lt;br /&gt;
* Title is the title you wish to give the input dialog box.&lt;br /&gt;
* Text is the default text to be entered when used with &amp;quot;e&amp;quot;&lt;br /&gt;
The options, window, title, and text are optional parameters.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
&amp;lt;table border=1 rules=all cellpadding=4&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;e&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show an editbox for input. &amp;quot;OK&amp;quot; and &amp;quot;Cancel&amp;quot; are default buttons. [[$null]] is returned if &amp;quot;Cancel&amp;quot; is pressed, and the text is returned if &amp;quot;OK&amp;quot; is pressed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;p&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show input password editbox. (Replaces text in editbox with stars)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;o&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show an &amp;quot;OK&amp;quot; button.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;y&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show a &amp;quot;Yes&amp;quot; and &amp;quot;No&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used with e, returns the text or [[$null]] respectively.&lt;br /&gt;
* When used without e, returns [[$true]] or [[$false]] respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;n&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show a &amp;quot;Yes&amp;quot; &amp;quot;No&amp;quot; and &amp;quot;Cancel&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used with e, returns the text, [[$null]] or [[$null]] respectively.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used without e, returns [[$true]] [[$false]] and [[$null]] respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;r&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show a &amp;quot;Retry&amp;quot; and &amp;quot;Cancel&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used with e, returns the text or [[$null]] respectively.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used without e, returns [[$true]] or [[$false]] respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;v&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Return &amp;quot;$ok&amp;quot; &amp;quot;$yes&amp;quot; &amp;quot;$no&amp;quot; &amp;quot;$retry&amp;quot; or &amp;quot;$cancel&amp;quot; instead of [[$true]] or [[$false]]. Does not work when used with e.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;g&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Aligns buttons to the right instead of centering them.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;b&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Disables buttons for a second when dialog is displayed. {{beta}}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;iqwhct&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shows the info, question, warning, hand, delete and star icons respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;d&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Plays system sound associated with the specified icons.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;s&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Indicates that a window has been specified.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;a&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actives the input dialog automatically.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;u&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Uses the current window as the parent. Do not use with &amp;quot;s&amp;quot; or if a window has been indicated.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;kN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Gives the user N seconds to respond. If they do not, either [[$null]] is returned (when used with e), $timeout is returned (used with v), or $false is returned.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;m&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Indicates that multiple text parameters have been specified. They will be displayed in a combobox. The first text item is the default item (a reference to an item in the list), the rest are the items in the list.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Note==&lt;br /&gt;
This identifier cannot be used in a script event. One way around this is to use /[[scon]] or a /[[timer]] to initiate an input request after the script ends. &amp;lt;br /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 on *:text:Foo:#:{ /timer 0 0 echo -a $?=&amp;quot;Bar?&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[$?]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Remote Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Template:Beta&amp;diff=4942</id>
		<title>Template:Beta</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Template:Beta&amp;diff=4942"/>
		<updated>2010-04-03T01:18:28Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: Modified text to be more applicable to all situations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;&#039;&#039;Note: This function is only available in the beta version of mIRC.&#039;&#039;&#039;&amp;lt;/font&amp;gt; [[Category:Beta]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Speak&amp;diff=4943</id>
		<title>Speak</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Speak&amp;diff=4943"/>
		<updated>2010-04-03T01:16:32Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: Removed unneeded category tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Beta}}&lt;br /&gt;
&lt;br /&gt;
Speaks the specified text.&lt;br /&gt;
&lt;br /&gt;
 /speak -spclu [speed] [pitch] [text]&lt;br /&gt;
&lt;br /&gt;
== Switches ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;-s&#039;&#039;&#039;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;speed (0 to 100)&amp;lt;/td&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;-p&#039;&#039;&#039;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;pitch (0 to 100)&amp;lt;/td&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;-c&#039;&#039;&#039;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;clear all queued lines&amp;lt;/td&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;-l&#039;&#039;&#039;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;apply lexicon settings in speech dialog)&amp;lt;/td&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;-u&#039;&#039;&#039;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;apply option settings in speech dialog&amp;lt;/td&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[$speak]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Template:Beta&amp;diff=2756</id>
		<title>Template:Beta</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Template:Beta&amp;diff=2756"/>
		<updated>2010-04-03T01:15:53Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: Added to beta category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;&#039;&#039;Note: This is an mIRC beta command. You must be using the beta version of mIRC in order to use it.&#039;&#039;&#039;&amp;lt;/font&amp;gt; [[Category:Beta]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Proxy&amp;diff=4944</id>
		<title>Proxy</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Proxy&amp;diff=4944"/>
		<updated>2010-04-03T01:14:16Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: Added {{beta}} tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Beta}}&lt;br /&gt;
&lt;br /&gt;
Superseded [[firewall|/firewall]], however has exactly the same functionality. /firewall is still supported as a legacy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Note to editors: The contents of [[firewall]] should be placed here (with necessary changes) and the old page changed to &amp;quot;Superseded by /proxy&amp;quot; etc. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Proxy&amp;diff=2753</id>
		<title>Proxy</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Proxy&amp;diff=2753"/>
		<updated>2010-04-03T01:13:41Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Superseded [[firewall|/firewall]], however has exactly the same functionality. /firewall is still supported as a legacy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Note to editors: The contents of [[firewall]] should be placed here (with necessary changes) and the old page changed to &amp;quot;Superseded by /proxy&amp;quot; etc. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Speak&amp;diff=2755</id>
		<title>Speak</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Speak&amp;diff=2755"/>
		<updated>2010-04-03T01:04:20Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: Switches were not meant to be in code form&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Beta}}&lt;br /&gt;
&lt;br /&gt;
Speaks the specified text.&lt;br /&gt;
&lt;br /&gt;
 /speak -spclu [speed] [pitch] [text]&lt;br /&gt;
&lt;br /&gt;
== Switches ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;-s&#039;&#039;&#039;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;speed (0 to 100)&amp;lt;/td&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;-p&#039;&#039;&#039;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;pitch (0 to 100)&amp;lt;/td&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;-c&#039;&#039;&#039;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;clear all queued lines&amp;lt;/td&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;-l&#039;&#039;&#039;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;apply lexicon settings in speech dialog)&amp;lt;/td&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;-u&#039;&#039;&#039;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;apply option settings in speech dialog&amp;lt;/td&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[$speak]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]] [[Category:Beta]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Speak&amp;diff=2752</id>
		<title>Speak</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Speak&amp;diff=2752"/>
		<updated>2010-04-03T00:54:47Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Beta}}&lt;br /&gt;
&lt;br /&gt;
Speaks the specified text.&lt;br /&gt;
&lt;br /&gt;
 /speak -spclu [speed] [pitch] [text]&lt;br /&gt;
&lt;br /&gt;
== Switches ==&lt;br /&gt;
&lt;br /&gt;
 * -s = speed (0 to 100)&lt;br /&gt;
 * -p = pitch (0 to 100)&lt;br /&gt;
 * -c = clear all queued lines&lt;br /&gt;
 * -l = apply lexicon settings in speech dialog&lt;br /&gt;
 * -u = apply option settings in speech dialog&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[$speak]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]] [[Category:Beta]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Template:Beta&amp;diff=2754</id>
		<title>Template:Beta</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Template:Beta&amp;diff=2754"/>
		<updated>2010-04-03T00:54:22Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;&#039;&#039;Note: This is an mIRC beta command. You must be using the beta version of mIRC in order to use it.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Resetidle&amp;diff=4941</id>
		<title>Resetidle</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Resetidle&amp;diff=4941"/>
		<updated>2010-04-03T00:34:14Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This resets the [[$idle]] identifier to zero or to the number of seconds you specify.&lt;br /&gt;
&lt;br /&gt;
 /resetidle [seconds]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[$idle]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=User:Daveoh&amp;diff=4572</id>
		<title>User:Daveoh</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=User:Daveoh&amp;diff=4572"/>
		<updated>2010-03-28T02:26:29Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: now a real man...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Babel-1|en}}&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Image:Daveoh.jpg]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Age&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;18&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr valign=&amp;quot;top&amp;quot; height=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Country&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;United Kingdom of Great Britain &amp;lt;sub&amp;gt;(and Northern Ireland)&amp;lt;/sub&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Words of wisdom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Sarcasm is the coolest way to mock people.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
[[Category:Members]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$cmdbox&amp;diff=4401</id>
		<title>$cmdbox</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$cmdbox&amp;diff=4401"/>
		<updated>2009-11-29T16:29:16Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: removed See Also and Aliases category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns $true if a command or script was initiated via the command editbox in a channel window.&lt;br /&gt;
 $cmdbox&lt;br /&gt;
* This function has no parameters.&lt;br /&gt;
== Example ==&lt;br /&gt;
 [[alias]] whois {&lt;br /&gt;
   ;;If user types /whois then&lt;br /&gt;
   [[If-Then-Else|if]] ($cmdbox &amp;amp;&amp;amp; $1 &amp;amp;&amp;amp; !$2) { [[tokenize]] 32 $1 $1 }&lt;br /&gt;
   !whois $$1-&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Category:Other Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Category:Aliases&amp;diff=3825</id>
		<title>Category:Aliases</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Category:Aliases&amp;diff=3825"/>
		<updated>2009-11-29T16:27:26Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: explained $prop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic ==&lt;br /&gt;
mIRC script allows you to create your own set of commands and identifiers, refered to as aliases. Aliases can be called from the command line, from other aliases, from popup and from remote scripts. An alias in mIRC can not be called recursively. They can be created by either putting them in the &amp;lt;nowiki&amp;gt;&amp;quot;Aliases&amp;quot;&amp;lt;/nowiki&amp;gt; section of the mIRC Scripts Editor, by using the /alias command from either the command line or in the &amp;lt;nowiki&amp;gt;&amp;quot;Remote&amp;quot;&amp;lt;/nowiki&amp;gt; section of the Scripts Editor. Creating an alias in the command line results in it being placed in the &amp;quot;Aliases&amp;quot; section of the Script Editor.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
 ; These two work exactly the same way although they are stored in different places&lt;br /&gt;
 &lt;br /&gt;
 ; this is placed in the &amp;quot;Aliases&amp;quot; section&lt;br /&gt;
 moo { [[echo]] -ag moo }&lt;br /&gt;
 &lt;br /&gt;
 ; this is placed in the &amp;quot;Remote&amp;quot; section&lt;br /&gt;
 [[alias]] moo { [[echo]] -ag moo }&lt;br /&gt;
&lt;br /&gt;
== Naming aliases ==&lt;br /&gt;
You can give an alias virtually any name you want, but keep a few things in mind:&lt;br /&gt;
&lt;br /&gt;
* When you give an alias used as a command the same name as an existing mIRC command, your alias gets preference.&lt;br /&gt;
* Some inbuilt commands act differently than the rest, if you have an alias called [[timer|timertest]], you will not be able to start a timer called test, like this: /timertest 0 1 MyTestFunction in this situation you can prefix the command with an exclamation mark (!) as shown below in the example.&lt;br /&gt;
* When you give an alias used as an identifier the same name as an existing mIRC identifier, mIRC&#039;s identifier gets preference, unless you prefix your alias with a period.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ; at first we add a new alias called &amp;quot;me&amp;quot;. If it is used as &amp;quot;$me&amp;quot;, it&#039;s supposed to return &amp;quot;AveIT!&amp;quot;, else it&#039;s the usual&lt;br /&gt;
 ; /me alias sending an action to the active channel&lt;br /&gt;
 /alias me { [[If-Then-Else|if]] ([[$isid]]) { [[return]] AveIT! } | else { [[describe]] [[$active]] [[$1-]] } }&lt;br /&gt;
  &lt;br /&gt;
 ; this alias will return the amount of milliseconds (ticks) pasted between two callings. &lt;br /&gt;
 ; When called the first time, it will set a variable %timerstart to the current value of $ticks.&lt;br /&gt;
 ; When called the second time, it echo&#039;s the difference between the set variable and the current value of ticks.&lt;br /&gt;
 ; This difference is obviously the elapsed time.&lt;br /&gt;
 /alias timertest { if (!%timerstart) [[set]] %timerstart [[$ticks]] | else { echo -ag [[$calc]]($ticks - %timerstart) ms | unset  %timerstart } }&lt;br /&gt;
 &lt;br /&gt;
In the following example, both the custom &#039;me&#039; and the &#039;timertest&#039; alias will be used:&lt;br /&gt;
&lt;br /&gt;
 ; call timertest the first time to set the variable %timertest&lt;br /&gt;
 timertest&lt;br /&gt;
  &lt;br /&gt;
 ; echo $me (that&#039;s the default $me alias as it can&#039;t be overwritten in the usual way)&lt;br /&gt;
 ; and $.me (that&#039;s our custom alias returning &#039;AveIT!&#039;)&lt;br /&gt;
 echo -ag I am $me but my custom identifer returns $.me&lt;br /&gt;
  &lt;br /&gt;
 ; call timertest a second time to echo the amount of elapsed milliseconds&lt;br /&gt;
 timertest&lt;br /&gt;
&lt;br /&gt;
Finally, the example above would return:&lt;br /&gt;
&lt;br /&gt;
 I am Dana but my custom identifer returns AveIT!&lt;br /&gt;
 16 ms&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039;&#039;&#039; If you want to start a timer called test with the alias called timertest, you have to prefix the timer with the ! to use the inbuilt mIRC timer command:&lt;br /&gt;
!timertest 1 1 echo -ag This is my test.&lt;br /&gt;
It is not encouraged to call an alias starting with timer, or identifers with mircdir, getdir, mididir, or any other alias which can be used with a suffix.&lt;br /&gt;
&lt;br /&gt;
== Aliases: parameters and events ==&lt;br /&gt;
mIRC script allows you to pass parameters to your aliases, just like you pass parameters into built-in mIRC commands or identifiers. They can be referred to as [[$0]], $1, $2 ... $N.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
 [[alias]] moo { echo -ag m $+ [[$str]](o,$$1) }&lt;br /&gt;
&lt;br /&gt;
Assuming you pass a number as parameter this would echo an &amp;lt;nowiki&amp;gt;&amp;quot;m&amp;quot;&amp;lt;/nowiki&amp;gt; folowed by a number of &amp;lt;nowiki&amp;gt;&amp;quot;o&#039;s&amp;quot;&amp;lt;/nowiki&amp;gt;, depending on the number you specified as parameter. This alias can be called in 2 different ways:&lt;br /&gt;
 /moo 12&lt;br /&gt;
 $moo(27)&lt;br /&gt;
Note that $moo doesn&#039;t return anything in this case, it will simply echo the message.&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
When calling an alias from an event, the identifiers related to that event will still be available in that alias.&lt;br /&gt;
 on *:[[On_text|TEXT]]:hi:#: { myAlias }&lt;br /&gt;
 &lt;br /&gt;
 [[alias]] myAlias { [[msg]] [[$chan]] [[$nick]] said hi! }&lt;br /&gt;
&lt;br /&gt;
This would be exactly the same as:&lt;br /&gt;
 on *:TEXT:hi:#: { msg $chan $nick said hi! }&lt;br /&gt;
This in turn means that you don&#039;t have to pass a identifier supplied by an event into your alias as parameter.&lt;br /&gt;
&lt;br /&gt;
== Commands vs identifiers ==&lt;br /&gt;
Being that you can use your aliases as both commands and identifiers, the question may rise which you should pick. The general answer is quite simple: if you want your alias to have a return value use identifiers and in any other case use commands.&lt;br /&gt;
&lt;br /&gt;
=== Error handling ===&lt;br /&gt;
However, mIRC&#039;s built-in error handling cannot be used for your aliases, so for proper error handling you might want to use return values. For example, you could use return value 1 when an action was succesfull and 0 when it was not.&lt;br /&gt;
 ; this identifier returns 1 if it was succesfull in what it would do and 0 if it wasn&#039;t&lt;br /&gt;
 ; the (useless) idea of the following identifier is to message &amp;quot;moo&amp;quot; to the currently active channel&lt;br /&gt;
 ; if it is on QuakeNet&lt;br /&gt;
 alias moo {&lt;br /&gt;
   if ([[$network]] != QuakeNet) || (!$chan) { return 0 }&lt;br /&gt;
   else {&lt;br /&gt;
     msg $chan moo&lt;br /&gt;
     return 1&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
To use this as error handling you could do the following:&lt;br /&gt;
 %error = $moo&lt;br /&gt;
 if (!%error) {&lt;br /&gt;
    ; do what you want to do if the command failed&lt;br /&gt;
    ; in this case when there was no channel active&lt;br /&gt;
    ; or the server was not QuakeNet&lt;br /&gt;
 }&lt;br /&gt;
 [[elseif]] (%error = 1) {&lt;br /&gt;
    ; do what you want to do if the command succeeded&lt;br /&gt;
    ; in this case when there was an active channel and&lt;br /&gt;
    ; the server was QuakeNet&lt;br /&gt;
 }&lt;br /&gt;
 else {&lt;br /&gt;
    ; the script should never reach this place!&lt;br /&gt;
 }&lt;br /&gt;
Although the same identifier could have been run as a command as well, error handling would not have been possible that way. Of course the alias itself has some error handling already, but there are cases in which you want an action to be able to fail.&lt;br /&gt;
&lt;br /&gt;
Another reason to prefer identifiers over comands are parameters. When you call an alias as a command every space will result in a new parameter and there is no way you can get around that. Using an alias as an identifier it is possible to get around the comma and thus have your parameters contain a comma. Here&#039;s how to do that:&lt;br /&gt;
 ; calling an identifier with a comma in a parameter&lt;br /&gt;
 [[alias]] test {&lt;br /&gt;
   ; the while loop will echo every parameter&lt;br /&gt;
   [[var]] %i = $0&lt;br /&gt;
   [[while]] (%i) {&lt;br /&gt;
     [[echo]] -ag $ [ $+ [ %i ] ]&lt;br /&gt;
     [[dec]] %i&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 var %param = abcdef,ghijk&lt;br /&gt;
 %someVar = $test(%param)&lt;br /&gt;
The snippets above would result in having the identifier $test echo only 1 parameter: the data which was set in %param. Would you do the same for a command -- replacing the comma with a space -- it would result in /test getting 2 parameters. Handling parameters is much easier if you are a 100% sure which parameter will contain which data, and an identifier is more reliable in doing so.&lt;br /&gt;
&lt;br /&gt;
=== Forced identifiers ===&lt;br /&gt;
To force an alias to be used only as an identifier or vice versa, you can use the identifier [[$isid]]. This will return [[$true]] if the alias was called as an $identifier or [[$false]] if it was called as a /command.&lt;br /&gt;
 ; this alias can only be called as an identifier&lt;br /&gt;
 [[alias]] qnet {&lt;br /&gt;
   if ([[$isid]]) {&lt;br /&gt;
     ; the following code only gets executed if the alias was called as an identifier&lt;br /&gt;
     [[if]] ([[$network]] === QuakeNet) { [[return]] 1 }&lt;br /&gt;
     [[else]] { [[return]] 0 }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
Calling the alias will result in a return value of either 0 or 1, while calling it as a command will do completely nothing.&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
Custom identifiers can use their own properties, which can be checked by using the [[$prop]] identifier.&lt;br /&gt;
&lt;br /&gt;
In the example below, $value can have either .squared or .sqrt appended to it in order to change its function. For example, $value(4).squared would return 16, whilst $value(4).sqrt would return 2. Without a property, the alias returns the value provided unmodified.&lt;br /&gt;
 alias value {&lt;br /&gt;
   if ($isid &amp;amp;&amp;amp; $1 isnum) {&lt;br /&gt;
     if (!$prop) return $1&lt;br /&gt;
     elseif ($prop == squared) return $calc($1 ^ 2)&lt;br /&gt;
     elseif ($prop == sqrt) return $calc($1 ^ 0.5)&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[$isid]]&lt;br /&gt;
* [[$prop]]&lt;br /&gt;
* [[$show]]&lt;br /&gt;
&lt;br /&gt;
[[Category:mIRC_Help]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$prop&amp;diff=4701</id>
		<title>$prop</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$prop&amp;diff=4701"/>
		<updated>2009-11-29T16:26:21Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: spelling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns the property of a custom alias.&lt;br /&gt;
 $prop&lt;br /&gt;
* This function has no parameters.&lt;br /&gt;
== Example ==&lt;br /&gt;
 [[alias]] value {&lt;br /&gt;
   [[if]] ([[$isid]] &amp;amp;&amp;amp; $1 isnum) {&lt;br /&gt;
     if (!$prop) [[return]] $1&lt;br /&gt;
     [[elseif]] ($prop == squared) return [[$calc|$calc($1 ^ 2)]]&lt;br /&gt;
     elseif ($prop == sqrt) return $calc($1 ^ 0.5)&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
In the above custom identifier, calling $value(4).squared would return 16, $value(4).sqrt would return 2 and $value(3.14) would return 3.14.&lt;br /&gt;
[[Category:Identifiers]]&lt;br /&gt;
[[Category:Aliases]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$prop&amp;diff=2739</id>
		<title>$prop</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$prop&amp;diff=2739"/>
		<updated>2009-11-29T16:13:39Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: added to aliases category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns the property of a custom alias.&lt;br /&gt;
 $prop&lt;br /&gt;
* This function has no parameters.&lt;br /&gt;
== Example ==&lt;br /&gt;
 [[alias]] value {&lt;br /&gt;
   [[if]] ([[$isid]] &amp;amp;&amp;amp; $1 isnum) {&lt;br /&gt;
     if (!$prop) [[return]] $1&lt;br /&gt;
     [[elseif]] ($prop == squared) return [[$calc|$calc($1 ^ 2)]]&lt;br /&gt;
     elseif ($prop == sqrt) return $calc($1 ^ 0.5)&lt;br /&gt;
   }&lt;br /&gt;
 return 0&lt;br /&gt;
 }&lt;br /&gt;
In the above custom identifier, calling $value(2).square would return 4, $value(16).sqrt would return 4 and $value(3.14) would return 3.14&lt;br /&gt;
[[Category:Identifiers]]&lt;br /&gt;
[[Category:Aliases]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$isalias&amp;diff=4654</id>
		<title>$isalias</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$isalias&amp;diff=4654"/>
		<updated>2009-11-29T16:12:04Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: added to aliases category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns [[$true]] if the specified name is an alias that exists in your aliases or scripts.&lt;br /&gt;
 $isalias(name)&lt;br /&gt;
===Properties===&lt;br /&gt;
* &#039;&#039;&#039;fname&#039;&#039;&#039; - returns the filename in which the alias exists&lt;br /&gt;
* &#039;&#039;&#039;alias&#039;&#039;&#039; - returns the alias definition&lt;br /&gt;
==Example==&lt;br /&gt;
 [[alias]] -l cow { [[say]] Cows go moo! }&lt;br /&gt;
 alias fish {&lt;br /&gt;
   [[if]] (fishbot [[If-then-else#ison|ison]] [[$active]]) say I love the smell of fish in the morning.&lt;br /&gt;
   else say I wish I could smell fish.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 $isalias(cow)           returns $true since we have a cow alias.&lt;br /&gt;
 $isalias(fish).fname    returns the filename in which the alias is saved or &#039;&#039;[[$null|null]]&#039;&#039; if the alias doesn&#039;t exist.&lt;br /&gt;
 $isalias(fish).alias    returns fish {&lt;br /&gt;
 $isalias(cow).alias     returns cow -l { say Cows go moo! }&lt;br /&gt;
&lt;br /&gt;
If the above $isalias() calls are being called from outside the same remote file as the cow alias mirc would return $false since cow is a local alias and the .alias property would return null.&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[alias|/alias]]&lt;br /&gt;
[[Category:Identifiers]]&lt;br /&gt;
[[Category:Aliases]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Limits&amp;diff=4651</id>
		<title>Limits</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Limits&amp;diff=4651"/>
		<updated>2009-09-16T20:49:56Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: Calculations: although it&amp;#039;s not a length limit, it&amp;#039;s still a limit. Added text to show it&amp;#039;s a value limit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#009900&amp;gt;&#039;&#039;&#039;Warning: Not all of these values are updated for mIRC v6.32 and above. Sections which remain to be confirmed are marked with &amp;lt;/font&amp;gt;&amp;lt;font color=#AA0000&amp;gt;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page explains various limits imposed by mIRC, however this may not be a complete list. The length is measured in bytes (equivalent to ASCII characters, including spaces.)&lt;br /&gt;
&lt;br /&gt;
You can find the original limits page [http://www.xise.nl/mirc/wiki/doku.php?id=limits here.]&lt;br /&gt;
&lt;br /&gt;
= mIRC =&lt;br /&gt;
&amp;lt;table border=2 rules=all cellpadding=4 style=text-align:center&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Length&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;When exceeded&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Description&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Global limits&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Line Length Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;(&#039;&#039;LLL&#039;&#039;)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4150&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated or error&amp;lt;td style=text-align:left&amp;gt;To be precise: 4150 for evaluation results, 4151 for command lines (excluding command prefixes.)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Variables&#039;&#039;&#039;&amp;lt;br&amp;gt;(local or global)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4150&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unset&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;This limit includes the variable&#039;s name. Example: using &amp;quot;%a&amp;quot; as a name uses 3 bytes (2 for the name and 1 for a space.)&amp;lt;br&amp;gt;This means that for every extra character in the variable name, the maximum length of the value is reduced.&amp;lt;br&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; the /set command further reduces the length limit to 4144 due to the 4 characters used by &amp;quot;set &amp;quot;. (LLL)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Calculations&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Max value:&#039;&#039;&#039;&amp;lt;br&amp;gt;9007199254740992&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Inaccurate&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Calculations past this number will generally be incorrect. Only the first 15 numbers of the result will be accurately calculated.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;IRC server related&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Incoming lines&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;601&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; Excludes CR/LF.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Outgoing lines&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LLL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Joined channel names&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;255&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Parted immediately&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Includes channel prefix.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Channel keys&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Addresses&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;90&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; The part of the full address after the &amp;quot;!&amp;quot;; only with JOIN/QUIT messages, addresses from WHO replies are not truncated.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Nicknames&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Server passwords&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; As associated with server entries&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;CTCPs&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Incoming PING argument&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;24&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No reply sent&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; First character must be a digit; leading spaces ignored.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Sockets&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Socket name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;255&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Send buffer&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;16384&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;mIRC&#039;s own buffers, not WinSock&#039;s.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Receive buffer&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4096&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receipt stalls&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;mIRC&#039;s own buffers, not WinSock&#039;s.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Socket mark&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LLL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Not 512 as the helpfile says.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Hashtables&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Hashtable name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Hashtable size&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10000&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;In number of buckets&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Edit box&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1024&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Sent&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Edit box is cleared afterwards, similar to pressing Enter.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Dialogs&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Dialog name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Input dialog text field&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1023&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Edit box&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;30000&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Files&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Line of text&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4149&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Split&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Excluding CR/LF. Applies to all file-related commands/identifiers.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:mIRC]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Limits&amp;diff=2727</id>
		<title>Limits</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Limits&amp;diff=2727"/>
		<updated>2009-09-16T20:46:48Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#009900&amp;gt;&#039;&#039;&#039;Warning: Not all of these values are updated for mIRC v6.32 and above. Sections which remain to be confirmed are marked with &amp;lt;/font&amp;gt;&amp;lt;font color=#AA0000&amp;gt;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page explains various limits imposed by mIRC, however this may not be a complete list. The length is measured in bytes (equivalent to ASCII characters, including spaces.)&lt;br /&gt;
&lt;br /&gt;
You can find the original limits page [http://www.xise.nl/mirc/wiki/doku.php?id=limits here.]&lt;br /&gt;
&lt;br /&gt;
= mIRC =&lt;br /&gt;
&amp;lt;table border=2 rules=all cellpadding=4 style=text-align:center&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Length&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;When exceeded&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Description&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Global limits&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Line Length Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;(&#039;&#039;LLL&#039;&#039;)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4150&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated or error&amp;lt;td style=text-align:left&amp;gt;To be precise: 4150 for evaluation results, 4151 for command lines (excluding command prefixes.)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Variables&#039;&#039;&#039;&amp;lt;br&amp;gt;(local or global)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4150&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unset&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;This limit includes the variable&#039;s name. Example: using &amp;quot;%a&amp;quot; as a name uses 3 bytes (2 for the name and 1 for a space.)&amp;lt;br&amp;gt;This means that for every extra character in the variable name, the maximum length of the value is reduced.&amp;lt;br&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; the /set command further reduces the length limit to 4144 due to the 4 characters used by &amp;quot;set &amp;quot;. (LLL)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Calculations&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;9007199254740992&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Inaccurate&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Calculations past this number will generally be incorrect. Only the first 15 numbers of the result will be accurately calculated.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;IRC server related&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Incoming lines&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;601&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; Excludes CR/LF.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Outgoing lines&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LLL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Joined channel names&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;255&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Parted immediately&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Includes channel prefix.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Channel keys&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Addresses&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;90&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; The part of the full address after the &amp;quot;!&amp;quot;; only with JOIN/QUIT messages, addresses from WHO replies are not truncated.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Nicknames&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Server passwords&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; As associated with server entries&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;CTCPs&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Incoming PING argument&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;24&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No reply sent&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; First character must be a digit; leading spaces ignored.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Sockets&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Socket name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;255&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Send buffer&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;16384&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;mIRC&#039;s own buffers, not WinSock&#039;s.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Receive buffer&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4096&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receipt stalls&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;mIRC&#039;s own buffers, not WinSock&#039;s.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Socket mark&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LLL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Not 512 as the helpfile says.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Hashtables&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Hashtable name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Hashtable size&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10000&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;In number of buckets&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Edit box&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1024&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Sent&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Edit box is cleared afterwards, similar to pressing Enter.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Dialogs&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Dialog name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Input dialog text field&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1023&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Edit box&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;30000&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Files&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Line of text&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4149&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Split&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Excluding CR/LF. Applies to all file-related commands/identifiers.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:mIRC]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Missing_pages&amp;diff=4642</id>
		<title>Missing pages</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Missing_pages&amp;diff=4642"/>
		<updated>2009-09-06T14:06:44Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Identifiers ==&lt;br /&gt;
[[$ansi2mirc]]&lt;br /&gt;
[[$com]]&lt;br /&gt;
[[$comcall]]&lt;br /&gt;
[[$comerr]]&lt;br /&gt;
[[$comval]]&lt;br /&gt;
[[$creq]]&lt;br /&gt;
[[$dbuh]]&lt;br /&gt;
[[$dbuw]]&lt;br /&gt;
[[$dccignore]]&lt;br /&gt;
[[$dccport]]&lt;br /&gt;
[[$dll]]&lt;br /&gt;
[[$dllcall]]&lt;br /&gt;
[[$dns]]&lt;br /&gt;
[[$get]]&lt;br /&gt;
[[$group]]&lt;br /&gt;
[[$hash]]&lt;br /&gt;
[[$height]]&lt;br /&gt;
[[$keychar]]&lt;br /&gt;
[[$keyrpt]]&lt;br /&gt;
[[$keyval]]&lt;br /&gt;
[[$lactivewid]]&lt;br /&gt;
[[$link]]&lt;br /&gt;
[[$menu]]&lt;br /&gt;
[[$menucontext]]&lt;br /&gt;
[[$menutype]]&lt;br /&gt;
[[$mididir]]&lt;br /&gt;
[[$passivedcc]]&lt;br /&gt;
[[$send]]&lt;br /&gt;
[[$sreq]]&lt;br /&gt;
[[$utfdecode]]&lt;br /&gt;
[[$utfencode]]&lt;br /&gt;
[[$vcmd]]&lt;br /&gt;
[[$vcmdstat]]&lt;br /&gt;
[[$vcmdver]]&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
[[comclose]]&lt;br /&gt;
[[comopen]]&lt;br /&gt;
[[comreg]]&lt;br /&gt;
[[creq]]&lt;br /&gt;
[[dcc chat]]&lt;br /&gt;
[[dcc get]]&lt;br /&gt;
[[dcc ignore]]&lt;br /&gt;
[[dcc nick]]&lt;br /&gt;
[[dcc passive]]&lt;br /&gt;
[[dcc reject]]&lt;br /&gt;
[[dcc send]]&lt;br /&gt;
[[dcc trust]]&lt;br /&gt;
[[dccserver]]&lt;br /&gt;
[[dll]]&lt;br /&gt;
[[drawcopy]]&lt;br /&gt;
[[drawdot]]&lt;br /&gt;
[[drawfill]]&lt;br /&gt;
[[drawline]]&lt;br /&gt;
[[drawpic]]&lt;br /&gt;
[[drawrect]]&lt;br /&gt;
[[drawreplace]]&lt;br /&gt;
[[drawrot]]&lt;br /&gt;
[[drawsave]]&lt;br /&gt;
[[drawscroll]]&lt;br /&gt;
[[drawtext]]&lt;br /&gt;
[[finger]]&lt;br /&gt;
[[font]]&lt;br /&gt;
[[fsend]]&lt;br /&gt;
[[fserve]]&lt;br /&gt;
[[identd]]&lt;br /&gt;
[[links]]&lt;br /&gt;
[[mdi]]&lt;br /&gt;
[[pdcc]]&lt;br /&gt;
[[perform]]&lt;br /&gt;
[[playctrl]]&lt;br /&gt;
[[renwin]]&lt;br /&gt;
[[reseterror]]&lt;br /&gt;
[[resetidle]]&lt;br /&gt;
[[savebuf]]&lt;br /&gt;
[[showmirc]]&lt;br /&gt;
[[sockpause]]&lt;br /&gt;
[[sound]]&lt;br /&gt;
[[speak]]&lt;br /&gt;
[[sreq]]&lt;br /&gt;
[[strip]]&lt;br /&gt;
[[tray]]&lt;br /&gt;
[[unload]]&lt;br /&gt;
[[url]]&lt;br /&gt;
[[vcadd]]&lt;br /&gt;
[[vcmd]]&lt;br /&gt;
[[vcrem]]&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
[[On connectfail]]&lt;br /&gt;
[[On ctcpreply]]&lt;br /&gt;
[[On dccserver]]&lt;br /&gt;
[[On dns]]&lt;br /&gt;
[[On error]]&lt;br /&gt;
[[On filercvd]]&lt;br /&gt;
[[On filesent]]&lt;br /&gt;
[[On getfail]]&lt;br /&gt;
[[On nosound]]&lt;br /&gt;
[[On sendfail]]&lt;br /&gt;
[[On serverop]]&lt;br /&gt;
[[On top]]&lt;br /&gt;
[[On user]]&lt;br /&gt;
[[On vcmd]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Updatenl&amp;diff=4938</id>
		<title>Updatenl</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Updatenl&amp;diff=4938"/>
		<updated>2009-09-06T14:06:29Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Updates the nicklist and [[:Category:IAL|IAL]].&lt;br /&gt;
 /updatenl&lt;br /&gt;
&lt;br /&gt;
Usually the channel nicknames list and IAL in a kick/part/quit script event are updated after the script finishes, this command updates them immediately.&lt;br /&gt;
[[Category:IAL]]&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Updatenl&amp;diff=2724</id>
		<title>Updatenl</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Updatenl&amp;diff=2724"/>
		<updated>2009-08-22T08:18:35Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Updates the nicklist and [[:Category:IAL|IAL]].&lt;br /&gt;
 /updatenl&lt;br /&gt;
&lt;br /&gt;
Usually the channel nicknames list and IAL in a kick/part/quit script event are updated after the script finishes, this command updates them immediately.&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$input&amp;diff=2757</id>
		<title>$input</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$input&amp;diff=2757"/>
		<updated>2009-08-15T18:00:33Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: missing options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Input is a multi-purpose identifier for requesting input from a user in an auto-rendered pop up dialog, similar to [[$?]].&lt;br /&gt;
&lt;br /&gt;
 $input(prompt [,options] [,window] [,title] [,text])&lt;br /&gt;
&lt;br /&gt;
* Prompt is the text you wish to display to the user. This is usually to tell the user what you wish to be inputted. You may use a [[$crlf]] to force a line break.&lt;br /&gt;
* Options is a list of option flags. Defaults to an &amp;quot;OK&amp;quot; and &amp;quot;Cancel&amp;quot; button which return [[$true]] or [[$false]] respetively.&lt;br /&gt;
* Window is the name of the window to be used as parent window.&lt;br /&gt;
* Title is the title you wish to give the input dialog box.&lt;br /&gt;
* Text is the default text to be entered when used with &amp;quot;e&amp;quot;&lt;br /&gt;
The options, window, title, and text are optional parameters.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
&amp;lt;table border=1 rules=all cellpadding=4&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;e&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show an editbox for input. &amp;quot;OK&amp;quot; and &amp;quot;Cancel&amp;quot; are default buttons. [[$null]] is returned if &amp;quot;Cancel&amp;quot; is pressed, and the text is returned if &amp;quot;OK&amp;quot; is pressed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;p&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show input password editbox. (Replaces text in editbox with stars)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;o&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show an &amp;quot;OK&amp;quot; button.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;y&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show a &amp;quot;Yes&amp;quot; and &amp;quot;No&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used with e, returns the text or [[$null]] respectively.&lt;br /&gt;
* When used without e, returns [[$true]] or [[$false]] respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;n&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show a &amp;quot;Yes&amp;quot; &amp;quot;No&amp;quot; and &amp;quot;Cancel&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used with e, returns the text, [[$null]] or [[$null]] respectively.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used without e, returns [[$true]] [[$false]] and [[$null]] respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;r&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show a &amp;quot;Retry&amp;quot; and &amp;quot;Cancel&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used with e, returns the text or [[$null]] respectively.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used without e, returns [[$true]] or [[$false]] respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;v&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Return &amp;quot;$ok&amp;quot; &amp;quot;$yes&amp;quot; &amp;quot;$no&amp;quot; &amp;quot;$retry&amp;quot; or &amp;quot;$cancel&amp;quot; instead of [[$true]] or [[$false]]. Does not work when used with e.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;g&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Aligns buttons to the right instead of centering them.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;iqwhct&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shows the info, question, warning, hand, delete and star icons respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;d&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Plays system sound associated with the specified icons.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;s&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Indicates that a window has been specified.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;a&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actives the input dialog automatically.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;u&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Uses the current window as the parent. Do not use with &amp;quot;s&amp;quot; or if a window has been indicated.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;kN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Gives the user N seconds to respond. If they do not, either [[$null]] is returned (when used with e), $timeout is returned (used with v), or $false is returned.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;m&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Indicates that multiple text parameters have been specified. They will be displayed in a combobox. The first text item is the default item (a reference to an item in the list), the rest are the items in the list.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Note==&lt;br /&gt;
This identifier cannot be used in a script event. One way around this is to use /[[scon]] or a /[[timer]] to initiate an input request after the script ends. &amp;lt;br /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 on *:text:Foo:#:{ /timer 0 0 echo -a $?=&amp;quot;Bar?&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[$?]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Remote Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$input&amp;diff=2721</id>
		<title>$input</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$input&amp;diff=2721"/>
		<updated>2009-08-15T17:56:56Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Input is a multi-purpose identifier for requesting input from a user in an auto-rendered pop up dialog, similar to [[$?]].&lt;br /&gt;
&lt;br /&gt;
 $input(prompt [,options] [,window] [,title] [,text])&lt;br /&gt;
&lt;br /&gt;
* Prompt is the text you wish to display to the user. This is usually to tell the user what you wish to be inputted. You may use a [[$crlf]] to force a line break.&lt;br /&gt;
* Options is a list of option flags. Defaults to an &amp;quot;OK&amp;quot; and &amp;quot;Cancel&amp;quot; button which return [[$true]] or [[$false]] respetively.&lt;br /&gt;
* Title is the title you wish to give the input dialog box.&lt;br /&gt;
* Text is the default text to be entered when used with &amp;quot;e&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
&amp;lt;table border=1 rules=all cellpadding=4&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;e&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show an editbox for input. &amp;quot;OK&amp;quot; and &amp;quot;Cancel&amp;quot; are default buttons. [[$null]] is returned if &amp;quot;Cancel&amp;quot; is pressed, and the text is returned if &amp;quot;OK&amp;quot; is pressed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;o&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show an &amp;quot;OK&amp;quot; button.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;y&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show a &amp;quot;Yes&amp;quot; and &amp;quot;No&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used with e, returns the text or [[$null]] respectively.&lt;br /&gt;
* When used without e, returns [[$true]] or [[$false]] respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;n&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show a &amp;quot;Yes&amp;quot; &amp;quot;No&amp;quot; and &amp;quot;Cancel&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used with e, returns the text, [[$null]] or [[$null]] respectively.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used without e, returns [[$true]] [[$false]] and [[$null]] respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;r&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Show a &amp;quot;Retry&amp;quot; and &amp;quot;Cancel&amp;quot; button.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used with e, returns the text or [[$null]] respectively.&amp;lt;br&amp;gt;&lt;br /&gt;
* When used without e, returns [[$true]] or [[$false]] respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;v&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Return &amp;quot;$ok&amp;quot; &amp;quot;$yes&amp;quot; &amp;quot;$no&amp;quot; &amp;quot;$retry&amp;quot; or &amp;quot;$cancel&amp;quot; instead of [[$true]] or [[$false]]. Does not work when used with e.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;g&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Aligns buttons to the right instead of centering them.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;iqwhct&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shows the info, question, warning, hand, delete and star icons respectively.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;d&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Plays system sound associated with the specified icons.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;s&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Indicates that a window has been specified.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;a&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actives the input dialog automatically.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;u&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Uses the current window as the parent. Do not use with &amp;quot;s&amp;quot; or if a window has been indicated.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;kN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Gives the user N seconds to respond. If they do not, either [[$null]] is returned (when used with e), $timeout is returned (used with v), or $false is returned.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Note==&lt;br /&gt;
This identifier cannot be used in a script event. One way around this is to use /[[scon]] or a /[[timer]] to initiate an input request after the script ends. &amp;lt;br /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 on *:text:Foo:#:{ /timer 0 0 echo -a $?=&amp;quot;Bar?&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[$?]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Remote Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$var&amp;diff=4844</id>
		<title>$var</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$var&amp;diff=4844"/>
		<updated>2009-07-23T21:09:50Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns information about currently set [[:Category:Variables|variables]], [[Local Variables|local]] or [[set]].&lt;br /&gt;
&lt;br /&gt;
 $var(variable name [,N])[.value|.local]&lt;br /&gt;
&lt;br /&gt;
* Variable name is a wild card value.&lt;br /&gt;
* N tells us we want the Nth matching variable.&lt;br /&gt;
** N is 0 by default, and therefore can be used to check for existence without it&lt;br /&gt;
* Returns&lt;br /&gt;
** Variable name by default&lt;br /&gt;
** Value if .value is specified&lt;br /&gt;
** If .local is specified, returns [[$true]] or [[$false]] based on whether or not the matching variable is a [[Local Variables|local variable]]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
How to search through local variables only:&lt;br /&gt;
 [[var]] %i = 1&lt;br /&gt;
 [[while]] ($var(%varwildcard*,%i).local) {&lt;br /&gt;
   [[echo]] -ag $var(%varwildcard*,%i) is a local variable&lt;br /&gt;
   [[inc]] %i&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[set|/set]] - sets global variables&lt;br /&gt;
* [[var|/var]] - sets local variables&lt;br /&gt;
* [[Local Variables]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Variables]][[Category:Remote Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$hotline&amp;diff=4922</id>
		<title>$hotline</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$hotline&amp;diff=4922"/>
		<updated>2009-05-30T15:01:21Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns the full line which contained the hotlink trigger.&lt;br /&gt;
 $hotline&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 [[On hotlink|on 1:HOTLINK]]:*:*:[[echo]] clicked word [[$1-|$1]] in line $hotline [[$hotlinepos]]&lt;br /&gt;
Echoes the word clicked within the line, the line itself and the position of the clicked word.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[On hotlink|On Hotlink]] - the triggering event.&lt;br /&gt;
* [[$hotlinepos]] - returns the line number and word position of the trigger.&lt;br /&gt;
&lt;br /&gt;
[[Category:Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=If-Then-Else&amp;diff=2780</id>
		<title>If-Then-Else</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=If-Then-Else&amp;diff=2780"/>
		<updated>2009-05-30T14:34:05Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: /* Notes */ Wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
The If-then-else statement allows you to compare values and execute different parts of a script based on that comparison. This is a basic structure for any script that includes anything more than one-liners!&lt;br /&gt;
&lt;br /&gt;
 if (v1 operator v2) { commands1 }&lt;br /&gt;
 elseif (v1 operator v2) { commands2 }&lt;br /&gt;
 else { commands3 }&lt;br /&gt;
&lt;br /&gt;
If the first statement (line) is [[$true]], commands inside the first brackets are executed. If the first if-statement returns [[$false]], script starts looking for an elseif-statement. An elseif-statement is only triggered if the group&#039;s if-statement returned $false before. And at last, if none of the if or elseif statements were triggered, commands in else-statement are executed.&lt;br /&gt;
&lt;br /&gt;
One if structure/group can consist of one main if-statement, after it there can be 0 .. N elseif-statements. There can be only one else, which can be understood as the default statement, if none one before were triggered. There doesn&#039;t need to be else-statement though.&lt;br /&gt;
&lt;br /&gt;
Every if statement is handled separatly and none of others affect in another.&lt;br /&gt;
&lt;br /&gt;
 if (A) { ... }&lt;br /&gt;
 elseif (B) {&lt;br /&gt;
   if (C) { ... }&lt;br /&gt;
   elseif (D) { ... }&lt;br /&gt;
   elseif (E) { ... }&lt;br /&gt;
   else { F }&lt;br /&gt;
 }&lt;br /&gt;
 elseif (G) { ... }&lt;br /&gt;
 else { H }&lt;br /&gt;
&lt;br /&gt;
If structure would be hierarchical represented it would look something like this&lt;br /&gt;
&lt;br /&gt;
 A               If A is true, execute its commands and skip the rest&lt;br /&gt;
 B               If B is true, &lt;br /&gt;
  \&lt;br /&gt;
   C                 check if C, D or E returns true&lt;br /&gt;
   D&lt;br /&gt;
   E&lt;br /&gt;
   F             If none of these got triggered, return F&lt;br /&gt;
 G               If A and B were false and G is true, execute this&lt;br /&gt;
 H               If A, B and G were all false, execute H&lt;br /&gt;
&lt;br /&gt;
== The Operators ==&lt;br /&gt;
&lt;br /&gt;
 [[#==|==]]        equal to&lt;br /&gt;
 [[#==|===]]       equal to (case-sensitive)&lt;br /&gt;
 [[#&amp;lt;|&amp;lt;]]         less than&lt;br /&gt;
 [[#&amp;gt;|&amp;gt;]]         larger than&lt;br /&gt;
 [[#&amp;lt;=|&amp;lt;=]]        less than or equal to&lt;br /&gt;
 [[#&amp;gt;=|&amp;gt;=]]        larger than or equal to&lt;br /&gt;
 [[#//|//]]        v2 is a multiple of v1&lt;br /&gt;
 [[#\\|\\]]        v2 is not a multiple of v1&lt;br /&gt;
 [[#&amp;amp;|&amp;amp;]]         bitwise comparison&lt;br /&gt;
 [[#!=|!]]         negation operator (!= is opposite of == and !isin is &amp;quot;is not in&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 [[#isin|isin]]      string v1 is in string v2&lt;br /&gt;
 [[#isin|isincs]]    string v1 is in string v2 (case sensitive)&lt;br /&gt;
 [[#iswm|iswm]]      wildcard string v1 matches string v2&lt;br /&gt;
 [[#iswm|iswmcs]]    wildcard string v1 matches string v2 (case sensitive)&lt;br /&gt;
 [[#isnum|isnum]]     number v1 is a number in the range v2 which is in the form n1-n2 (v2 optional)&lt;br /&gt;
 [[#isletter|isletter]]  letter v1 is a letter in the list of letters in v2 (v2 optional)&lt;br /&gt;
 &lt;br /&gt;
 [[#isalnum|isalnum]]   text contains only letters and numbers&lt;br /&gt;
 [[#isalpha|isalpha]]   text contains only letters&lt;br /&gt;
 [[#islower|islower]]   text contains only lower case letters&lt;br /&gt;
 [[#isupper|isupper]]   text contains only upper case letters&lt;br /&gt;
 &lt;br /&gt;
 [[#ison|ison]]      if v1 is on channel v2&lt;br /&gt;
 [[#isop|isop]]      if v1 is an op on channel v2&lt;br /&gt;
 [[#ishop|ishop]]     if v1 is a halfop on channel v2&lt;br /&gt;
 [[#isvoice|isvoice]]   if v1 has a voice on channel v2&lt;br /&gt;
 [[#isreg|isreg]]     if v1 is a normal nick on channel v2&lt;br /&gt;
 [[#ischan|ischan]]    if v1 is a channel which you are on.&lt;br /&gt;
 [[#isban|isban]]     if v1 is a banned address in the internal ban list for channel v2&lt;br /&gt;
 &lt;br /&gt;
 [[#isaop|isaop]]     if v1 is a user in your auto-op list for channel v2 (v2 optional)&lt;br /&gt;
 [[#isavoice|isavoice]]  if v1 is a user in your auto-voice list for channel v2 (v2 optional)&lt;br /&gt;
 [[#isignore|isignore]]  if v1 is a user in your ignore list with the ignore switch v2 (v2 optional)&lt;br /&gt;
 [[#isprotect|isprotect]] if v1 is a user in your protect list for channel v2 (v2 optional)&lt;br /&gt;
 [[#isnotify|isnotify]]  if v1 is a user in your notify list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; To negate an operator you can prefix it with an exclamation mark (!).&lt;br /&gt;
&lt;br /&gt;
=== == ===&lt;br /&gt;
 if (cat == cAt)  ;Returns true since == is case-insensitive.&lt;br /&gt;
 if (cat === cAt) ;Returns false since === is case-sensitive.&lt;br /&gt;
The above checks that v1 (cat) matches v2 (cAt).&lt;br /&gt;
&lt;br /&gt;
=== != ===&lt;br /&gt;
This isn&#039;t actually an operator, but a combination of two operators ! and =. And actually, = isn&#039;t an operator either, but in mIRC scripting it can be used instead of == and it works just the way == works. In most mIRC scripts you only see !=, which actually shouldn&#039;t be used. Instead, !== should be used to negate ==.&lt;br /&gt;
&lt;br /&gt;
 if (cat != cAt)   ;Returns false since != is case-insensitive and both values v1 and v2 are equal.&lt;br /&gt;
 if (cat !== caT)  ;Returns false since !== is the same as !=&lt;br /&gt;
 if (cat !=== cAt) ;Returns true since !=== is case-sensitive and both values v1 and v2 are not equal when case is taken in to consideration.&lt;br /&gt;
 if (!$away)       ;Returns $true if you are NOT away ($away returns $false and ! negates it to $true).&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt; ===&lt;br /&gt;
 if (6 &amp;lt; 9) ;Returns true because the numerical value 6 is less than 9.&lt;br /&gt;
Checks that v1 (6) has a lower numerical value than v2 (9)&lt;br /&gt;
&lt;br /&gt;
=== &amp;gt; ===&lt;br /&gt;
 if (6 &amp;gt; 9) ;Returns false because the numerical value 6 is not greater than 9.&lt;br /&gt;
Checks that v1 (6) has a higher numerical value than v2 (9)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;= ===&lt;br /&gt;
 if (6 &amp;lt;= 9) ;Returns true because the numerical value 6 is less than or equal to 9.&lt;br /&gt;
Checks that v1 (6) has a lower or equal numerical value than v2 (9).&lt;br /&gt;
&lt;br /&gt;
=== &amp;gt;= ===&lt;br /&gt;
 if (6 &amp;gt;= 9) ;Returns false because the numerical value 6 is not greater than or equal to 9.&lt;br /&gt;
Checks that v1 (6) has a greater or equal numerical value than v2 (9).&lt;br /&gt;
&lt;br /&gt;
=== // ===&lt;br /&gt;
 if (3 // 9) ;Returns true because 3 is a multiple of 9.&lt;br /&gt;
Multiples of 9 are numbers that when devided in to 9 result in an integer.&lt;br /&gt;
You are not limited to positive numbers.&lt;br /&gt;
&lt;br /&gt;
=== \\ ===&lt;br /&gt;
 if (3 \\ 9) ;Returns false because 3 is a multiple of 9.&lt;br /&gt;
\\ is the negate of //&lt;br /&gt;
&lt;br /&gt;
=== &amp;amp; ===&lt;br /&gt;
 if (N1 &amp;amp; N2) ; This will compare the bits that are [[$biton|turned on]] in the decimal N1 AND N2 in the same way [[$and]]() would.&lt;br /&gt;
As long as N1 and N2 share atleast 1 bit the condition is returned as true.&lt;br /&gt;
&lt;br /&gt;
 if (13 &amp;amp; 11) ;Is true, see the table below for explanation.&lt;br /&gt;
 echo -ag $and(13,11) ;returns 9.&lt;br /&gt;
&lt;br /&gt;
If you break down 13 and 11 into their bits as below:&lt;br /&gt;
{|class=&amp;quot;gallery&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:100px&amp;quot; | &#039;&#039;&#039;&#039;&#039;Binary&#039;&#039;&#039;&#039;&#039; || &#039;&#039;&#039;&#039;&#039;Value&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 1101      || 13&lt;br /&gt;
|-&lt;br /&gt;
| 1011      || 11 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px dotted #2f6fab; color: Black;&amp;quot; | 1001      || style=&amp;quot;border:1px dotted #2f6fab; color: Black;&amp;quot; | 9 &lt;br /&gt;
|}&lt;br /&gt;
 if (11 &amp;amp; 4) ;Is false.&lt;br /&gt;
 echo -ag $and(11,4) ;returns 0.&lt;br /&gt;
{|class=&amp;quot;gallery&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:100px&amp;quot; | &#039;&#039;&#039;&#039;&#039;Binary&#039;&#039;&#039;&#039;&#039; || &#039;&#039;&#039;&#039;&#039;Value&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| 1011      || 11 &lt;br /&gt;
|-&lt;br /&gt;
| 0100      || 4&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1px dotted #2f6fab; color: Black;&amp;quot; | 0000      || style=&amp;quot;border:1px dotted #2f6fab; color: Black;&amp;quot; | 0&lt;br /&gt;
|}&lt;br /&gt;
Above you can see, 13 and 11 both have the first bit AND fourth bit on, so the statement is true. The binary 1001 value has a decimal value of 9.&lt;br /&gt;
Also you can see, 11 and 4 do not share any common bits, so the statement is false.&lt;br /&gt;
&lt;br /&gt;
=== isin ===&lt;br /&gt;
 if (cat isin [[$1-]])&lt;br /&gt;
Matches for &amp;quot;a &#039;&#039;cat&#039;&#039;&amp;quot;, &amp;quot;&#039;&#039;cat&#039;&#039;alog&amp;quot;, &amp;quot;impli&#039;&#039;cat&#039;&#039;e &amp;quot; and any string where &amp;quot;cat&amp;quot; &#039;&#039;&#039;is in&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== iswm ===&lt;br /&gt;
iswm stands for &#039;&#039;is wildcard match&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Operators:&lt;br /&gt;
 *  0 or more characters&lt;br /&gt;
 ?  1 character&lt;br /&gt;
 &amp;amp;  1 word (atleast 1 or more non-space characters)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 if (home*away*lost iswm $1-)&lt;br /&gt;
This would match anything starting with home and ending in lost, with away being between home and lost.&lt;br /&gt;
It would match, &amp;quot;homeawaylost&amp;quot;, &amp;quot;home away lost&amp;quot;, &amp;quot;home is missed when you are away or lost&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 if (ca?* iswm $1-)&lt;br /&gt;
Requires one character after &amp;quot;ca&amp;quot; and allows 0 or more character after it. So it would match for cat, cab, cabin etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 if ([[$(...)|$(]]I &amp;amp; you) iswm $1-)&lt;br /&gt;
Matches any string that consists of &amp;quot;I + one word + you&amp;quot;.&lt;br /&gt;
Examples would be, &amp;quot;I love you&amp;quot;, &amp;quot;I hate you&amp;quot;, &amp;quot;I moo you&amp;quot;, it would not however match, &amp;quot;I don&#039;t love you&amp;quot; since &amp;quot;don&#039;t love&amp;quot; contains a space. Note the $( ), it is needed to prevent mirc treat this statement as bitwise comparison.&lt;br /&gt;
&lt;br /&gt;
=== isnum ===&lt;br /&gt;
&lt;br /&gt;
 if ($1 isnum)  ;Returns true if $1 is of numeric value&lt;br /&gt;
 if ($1 isnum 10-)  ;Returns true if $1 is number higher than or equal to 10&lt;br /&gt;
 if ($1 isnum 20-30)  ;Returns true if $1 is a number between 20 and 30 inclusive&lt;br /&gt;
&lt;br /&gt;
The examples above checks $1, to see;&lt;br /&gt;
&lt;br /&gt;
Is it a number?&amp;lt;br /&amp;gt;&lt;br /&gt;
Is it a number above 10?&amp;lt;br /&amp;gt;&lt;br /&gt;
Is it a number between 20 and 30?&lt;br /&gt;
&lt;br /&gt;
=== isletter ===&lt;br /&gt;
&lt;br /&gt;
 if ($1 isletter)  ;Returns true if &#039;&#039;$1&#039;&#039; is a letter, any letter&lt;br /&gt;
 if ($1 isletter abcdefg)  ;Returns true if &#039;&#039;$1&#039;&#039; is in the string of letters &#039;&#039;abcdefg&#039;&#039;&lt;br /&gt;
 if ($1 isletter HelloWorld)  ;Returns true if &#039;&#039;$1&#039;&#039; is in the string of letters &#039;&#039;HeloWrd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Note that the checking is case-sensitive, the letter &#039;&#039;h&#039;&#039; will not return true if checked against the string &#039;&#039;HelloWorld&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== isalnum ===&lt;br /&gt;
 if (Dana34 isalnum) ;returns true as &#039;&#039;Dana34&#039;&#039; contains letters and numbers only&lt;br /&gt;
 if (Dana_ isalnum) ;returns false as &#039;&#039;_&#039;&#039; is neither letter nor number&lt;br /&gt;
&lt;br /&gt;
Matches whether the string consists of letters and numbers only.&lt;br /&gt;
&lt;br /&gt;
=== isalpha ===&lt;br /&gt;
 if (Dana isalpha) ; returns true as &#039;&#039;Dana&#039;&#039; consists of letters only&lt;br /&gt;
 if (foo42 isalpha) ; returns false as &#039;&#039;42&#039;&#039; is no letter&lt;br /&gt;
&lt;br /&gt;
Isalpha checks whether the word consists of letters only. It doesn&#039;t matter whether there are upper or lower case.&lt;br /&gt;
&lt;br /&gt;
=== islower ===&lt;br /&gt;
 if (moo islower) ; returns true as all letters in &#039;&#039;moo&#039;&#039; are lower case.&lt;br /&gt;
 if (m0o islower) ; returns true as well as all letters in &#039;&#039;m0o&#039;&#039; are lower case. &lt;br /&gt;
 if (mooO islower) ; retursn false as there is an upper &#039;&#039;O&#039;&#039; in &#039;&#039;mooO&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; that islower checks whether all letters in the string are lower case. There can still be numbers or other characters in the string $1.&lt;br /&gt;
&lt;br /&gt;
=== isupper ===&lt;br /&gt;
 if (MOO isupper) ; returns true as &#039;&#039;MOO&#039;&#039; consists of upper case letters only&lt;br /&gt;
 if (1234 isupper) ; returns true as all letters in &#039;&#039;1234&#039;&#039; are upper case, as there are none.&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; that it checks whether all letters in $1 are upper case. There can still be numbers or other characters in $1.&lt;br /&gt;
&lt;br /&gt;
=== ison ===&lt;br /&gt;
 if (Dana ison #help.script) ; returns true as &#039;&#039;Dana&#039;&#039; is in the channel #help.script&lt;br /&gt;
 if (foo !ison #help.script) ; returns true as &#039;&#039;foo&#039;&#039; is not in #help.script&lt;br /&gt;
&lt;br /&gt;
This checks whether $1 is in the channel $2. Note that you need to be in the same channel to use this.&lt;br /&gt;
&lt;br /&gt;
=== isop ===&lt;br /&gt;
 if (Dana isop #help.script) ; returns true as &#039;&#039;Dana&#039;&#039; is an operator in #help.script&lt;br /&gt;
 if (foo isop #help.script) ; returns false as &#039;&#039;foo&#039;&#039; is no operator in #help.script&lt;br /&gt;
&lt;br /&gt;
Checks whether $1 is an operator in $2. Note that you need to be in the same channel to use this.&lt;br /&gt;
&lt;br /&gt;
=== ishop ===&lt;br /&gt;
 if (moo ishop #mIRC) ; returns true if &#039;&#039;moo&#039;&#039; is an half operator in #mIRC&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; that QuakeNet does not support halfops. Note also that you need to be in the same channel to use this.&lt;br /&gt;
&lt;br /&gt;
=== isvoice ===&lt;br /&gt;
 if (Dana isvoice #help.script) ; returns true as &#039;&#039;Dana&#039;&#039; has voice in #help.script.&lt;br /&gt;
 if (foobar isvoice #help.script) ; returns false as &#039;&#039;foobar&#039;&#039; has no voice in #help.script.&lt;br /&gt;
This checks if $1 has voice in $2 or not. Note that you need to be in the same channel to use this.&lt;br /&gt;
&lt;br /&gt;
=== isreg ===&lt;br /&gt;
 if (Dana isreg #help.script) ; returns false as Dana is no regular user in #help.script.&lt;br /&gt;
 if (foobar isreg #help.script) ; returns true as foobar is a regular user in #help.script.&lt;br /&gt;
This checks whether $1 is a regular user (no voice, no half operator, no operator) in $2. Note that you need to be in the same channel to use this.&lt;br /&gt;
&lt;br /&gt;
=== ischan ===&lt;br /&gt;
 if (#help.script ischan) ; returns true as you are in #help.script.&lt;br /&gt;
 if (#foobar ischan) ; returns false as you are no in #foobar.&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; that it returns true only if you are in this channel.&lt;br /&gt;
&lt;br /&gt;
=== isban ===&lt;br /&gt;
 if (idiot!*@* isban #mychan) ; returns $true if &#039;&#039;idiot!*@*&#039;&#039; is in your [[:Category:IBL|Internal Ban List]] for the channel #mychan.&lt;br /&gt;
 if ($ial($me) isban $chan) ; returns $true if you are banned on the current channel.&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; that isban performs two different checks, depending on whether v1 contains wildcards or not:&lt;br /&gt;
* if v1 contains wildcards, isban will return $true if v1 is an exact ban in the IBL;&lt;br /&gt;
* if v1 does not contain wildcards, isban will return $true if one or more bans match that address.&lt;br /&gt;
&lt;br /&gt;
=== isaop ===&lt;br /&gt;
 if (foobar isaop) ; returns true if &#039;&#039;foobar&#039;&#039; is in your autoop list for any channel.&lt;br /&gt;
 if (foobar isaop #help.script) ; returns true if &#039;&#039;foobar&#039;&#039; is in your autoop list for #help.script.&lt;br /&gt;
To put someone in your autoop-list, take a look at [[Aop|/aop]].&lt;br /&gt;
&lt;br /&gt;
=== isavoice ===&lt;br /&gt;
 if (foobar isavoice) ; returns true if &#039;&#039;foobar&#039;&#039; is in your autovoicelist for any channel.&lt;br /&gt;
 if (foobar isavoice #help.script) ; returns true if &#039;&#039;foobar&#039;&#039; is your autovoicelist for #help.script.&lt;br /&gt;
To put someone in your autovoicelist, take a look at [[Avoice|/avoice]].&lt;br /&gt;
&lt;br /&gt;
=== isignore ===&lt;br /&gt;
 if (foobar isignore) ; returns true if &#039;&#039;foobar&#039;&#039; is in your ignore list.&lt;br /&gt;
 if (foobar isignore c) ; returns true if &#039;&#039;foobar&#039;&#039; is in your ignore list with switch -c.&lt;br /&gt;
To get a more in detail explanation of these switches, take a look at [[Ignore|/ignore]].&lt;br /&gt;
&lt;br /&gt;
=== isprotect ===&lt;br /&gt;
 if (foobar isprotect) ; returns true if &#039;&#039;foobar&#039;&#039; is in your protect list.&lt;br /&gt;
 if (foobar isprotect #help.script) ; returns true if &#039;&#039;foobar&#039;&#039; is in your protect list for #help.script.&lt;br /&gt;
To get more information about protection, see [[Protect|/protect]].&lt;br /&gt;
&lt;br /&gt;
=== isnotify ===&lt;br /&gt;
 if (Dana isnotify) ; returns true if Dana is in your notify list.&lt;br /&gt;
Take a look at [[Notify|/notify]] to add someone to your notifylist. If someone in your notifylist connects (disconnects), the [[On_notify|On notify event]] ([[On_unotify|On Unotify event]]) is triggered.&lt;br /&gt;
&lt;br /&gt;
== Combining comparisons ==&lt;br /&gt;
&lt;br /&gt;
You can combine comparisons by using the &amp;amp;&amp;amp; for AND and || for OR characters.&lt;br /&gt;
&lt;br /&gt;
 [[var]] %c = 5&lt;br /&gt;
 if (%c &amp;lt; 6) &amp;amp;&amp;amp; (%c &amp;gt; 0)      ; returns true because %c is both, smaller than 6 and greater than 0&lt;br /&gt;
 if (%c &amp;lt; 6) || (%c isalpha)  ; returns true because %c is lower than 6.&lt;br /&gt;
                              ; note that %c is not alphapetical and returns false, but || matches for 1 .. N true values.&lt;br /&gt;
 if (%c &amp;lt; 6) &amp;amp;&amp;amp; (%c isalpha)  ; returns false&lt;br /&gt;
 if (%c &amp;lt; 6) &amp;amp;&amp;amp; (%c !isalpha) ; ! negates the operator, this this returns true&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
====&#039;&#039;Not all comparations need two parameters&#039;&#039;====&lt;br /&gt;
 if ($1- isupper)&lt;br /&gt;
Returns true if $1- contains only uppercase letters. So ABCD returns true, but even one lowercase letter makes it return false.&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Use parenthesis correctly&#039;&#039;====&lt;br /&gt;
(A) || (B) &amp;amp;&amp;amp; (C) &amp;lt;- logical order for this is to check if either one of A or B is true, and C is true, but if you wish to check that B and C must be true, or A is true, you&#039;ll need to do (A) || ((B) &amp;amp;&amp;amp; (C))&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;This article covers only if-then-else &#039;&#039;&#039;string&#039;&#039;&#039; operators&#039;&#039;====&lt;br /&gt;
You &#039;&#039;&#039;can&#039;t&#039;&#039;&#039; use&lt;br /&gt;
 if (foo isin test.txt)&lt;br /&gt;
To check the content of a text file, use [[$read]] to search through a file via its search switches.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[$v1]] &amp;amp; [[$v1|$v2]] These identifiers allow you to retrieve the values of the last if condition.&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Limits&amp;diff=2709</id>
		<title>Limits</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Limits&amp;diff=2709"/>
		<updated>2009-05-02T21:43:21Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: Dialog edit boxes have a limit of 30,000 characters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#009900&amp;gt;&#039;&#039;&#039;Warning: Not all of these values are updated for mIRC v6.32 and above. Sections which remain to be confirmed are marked with &amp;lt;/font&amp;gt;&amp;lt;font color=#AA0000&amp;gt;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page explains various limits imposed by mIRC, however this may not be a complete list. The length is measured in bytes (equivalent to ASCII characters, including spaces.)&lt;br /&gt;
&lt;br /&gt;
You can find the original limits page [http://www.xise.nl/mirc/wiki/doku.php?id=limits here.]&lt;br /&gt;
&lt;br /&gt;
= mIRC =&lt;br /&gt;
&amp;lt;table border=2 rules=all cellpadding=4 style=text-align:center&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Length&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;When exceeded&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Description&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Global limits&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Line Length Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;(&#039;&#039;LLL&#039;&#039;)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4150&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated or error&amp;lt;td style=text-align:left&amp;gt;To be precise: 4150 for evaluation results, 4151 for command lines (excluding command prefixes.)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Variables&#039;&#039;&#039;&amp;lt;br&amp;gt;(local or global)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4150&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unset&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;This limit includes the variable&#039;s name. Example: using &amp;quot;%a&amp;quot; as a name uses 3 bytes (2 for the name and 1 for a space.)&amp;lt;br&amp;gt;This means that for every extra character in the variable name, the maximum length of the value is reduced.&amp;lt;br&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; the /set command further reduces the length limit to 4144 due to the 4 characters used by &amp;quot;set &amp;quot;. (LLL)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;IRC server specific&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Incoming lines&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;601&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; Excludes CR/LF.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Outgoing lines&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LLL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Joined channel names&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;255&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Parted immediately&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Includes channel prefix.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Channel keys&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Addresses&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;90&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; The part of the full address after the &amp;quot;!&amp;quot;; only with JOIN/QUIT messages, addresses from WHO replies are not truncated.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Nicknames&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Server passwords&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; As associated with server entries&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;CTCPs&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Incoming PING argument&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;24&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No reply sent&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#AA0000&amp;gt;&#039;&#039;&#039;(Untested)&#039;&#039;&#039;&amp;lt;/font&amp;gt; First character must be a digit; leading spaces ignored.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Sockets&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Socket name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;255&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Send buffer&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;16384&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;mIRC&#039;s own buffers, not WinSock&#039;s.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Receive buffer&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4096&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receipt stalls&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;mIRC&#039;s own buffers, not WinSock&#039;s.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Socket mark&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LLL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Not 512 as the helpfile says.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Hashtables&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Hashtable name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Hashtable size&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10000&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;In number of buckets&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;GUI&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Edit box&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1024&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Sent&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Edit box is cleared afterwards, similar to pressing Enter.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Dialogs&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Dialog name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Input dialog text field&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1023&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Edit box&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;30000&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Files&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Line of text&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4149&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Split&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Excluding CR/LF. Applies to all file-related commands/identifiers.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:mIRC]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=User:Daveoh&amp;diff=2750</id>
		<title>User:Daveoh</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=User:Daveoh&amp;diff=2750"/>
		<updated>2009-04-03T13:29:39Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Babel-1|en}}&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Image:Daveoh.jpg]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Age&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;17&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr valign=&amp;quot;top&amp;quot; height=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Country&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Great Britain&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Words of wisdom&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;None for you&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
[[Category:Members]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=On_start&amp;diff=4344</id>
		<title>On start</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=On_start&amp;diff=4344"/>
		<updated>2009-04-03T13:28:00Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: wording + example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The on START event triggers the first time a script file is ever loaded and also every time after that, including when mIRC is started.&lt;br /&gt;
 on &amp;lt;level&amp;gt;:START:&amp;lt;commands&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use this event as a point of initialization for the script to run commands which are needed before use (e.g. creating and loading data in [[:Category:Hash Table|hash tables]], initializing variables, loading dialogs, connecting to several servers, updating some stats, etc.).&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 on *:START: { &lt;br /&gt;
   [[echo]] -s Connecting to QuakeNet&lt;br /&gt;
   [[server]] irc.quakenet.org:6667&lt;br /&gt;
 }&lt;br /&gt;
This example would make mIRC connect to QuakeNet whenever you start it.&lt;br /&gt;
&lt;br /&gt;
 on *:START:{&lt;br /&gt;
   hmake table 10&lt;br /&gt;
   if ([[$isfile|$isfile(table.hsh)]]) { [[hload]] table table.hsh }&lt;br /&gt;
 }&lt;br /&gt;
This example creates a hash table when the script is started and, if the file &amp;quot;table.hsh&amp;quot; exists, loads that file into the table.&lt;br /&gt;
 &lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[On_load|On load event]] - triggers when a script file is loaded for the first time.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Dialog_basics&amp;diff=4516</id>
		<title>Dialog basics</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Dialog_basics&amp;diff=4516"/>
		<updated>2008-11-10T00:11:32Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: tabs + radio button groups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Basic dialog commands and switches&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;/dialog -mdtsonkcvie name [table] [x y w h] [text]&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Where name is the name by which you&#039;ll refer to the dialog, and table is the dialog table name used to create dialog&lt;br /&gt;
&lt;br /&gt;
  -m	create a modeless dialog using &#039;table&#039; /dialog -m name table&lt;br /&gt;
  -a	used with -m, uses currently  active window as the parent&lt;br /&gt;
  -x	close a dialog without triggering any events&lt;br /&gt;
  -d	open dialog on the desktop, used with -m&lt;br /&gt;
  -h	make dialog work with active server connection&lt;br /&gt;
  -t	set dialog title /dialog -t name text&lt;br /&gt;
  -s	set dialog size/pos /dialog -s name x y w h&lt;br /&gt;
  -r	centers dialog&lt;br /&gt;
  -bp	interprets size as dbu or pixels&lt;br /&gt;
  -o	set dialog ontop of all windows&lt;br /&gt;
  -n	unset ontop setting&lt;br /&gt;
  -k	click ok button&lt;br /&gt;
  -c	click cancel button&lt;br /&gt;
  -v	makes the dialog the active window&lt;br /&gt;
  -ie	minimize/restore the dialog if created on the desktop&lt;br /&gt;
  -g	renames existing dialog using &amp;lt;name&amp;gt; &amp;lt;newname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The dialog table&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can use the dialog prefix to create a dialog table called name in a script using this format:&lt;br /&gt;
&lt;br /&gt;
 dialog [-l] name {&lt;br /&gt;
  title		&amp;quot;text&amp;quot;&lt;br /&gt;
  icon		filename, index&lt;br /&gt;
  size		x y w h&lt;br /&gt;
  option	type (dbu, pixels, notheme)&lt;br /&gt;
  &lt;br /&gt;
  text		&amp;quot;text&amp;quot;, id, x y w h, style  (right, center, nowrap)&lt;br /&gt;
  edit		&amp;quot;text&amp;quot;, id, x y w h, style  (right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N)&lt;br /&gt;
  button	&amp;quot;text&amp;quot;, id, x y w h, style  (default, ok, cancel, flat, multi)&lt;br /&gt;
  check		&amp;quot;text&amp;quot;, id, x y w h, style  (left, push, 3state)&lt;br /&gt;
  radio		&amp;quot;text&amp;quot;, id, x y w h, style  (left, push, group)&lt;br /&gt;
  box		&amp;quot;text&amp;quot;, id, x y w h, style&lt;br /&gt;
  scroll	&amp;quot;text&amp;quot;, id, x y w h, style (top left bottom right horizontal range N N)&lt;br /&gt;
  &lt;br /&gt;
  list		id, x y w h, style          (sort, extsel, multsel, size, vsbar, hsbar, check, radio)&lt;br /&gt;
  combo		id, x y w h, style          (sort, edit, drop, size, vsbar, hsbar)&lt;br /&gt;
  &lt;br /&gt;
  icon		id, x y w h, filename, index, style    (noborder top left bottom right small large actual)&lt;br /&gt;
  &lt;br /&gt;
  link		&amp;quot;text&amp;quot;, id, x y w h&lt;br /&gt;
  &lt;br /&gt;
  tab 		&amp;quot;text&amp;quot;, id, x y w h&lt;br /&gt;
  tab		&amp;quot;text&amp;quot;, id&lt;br /&gt;
  &lt;br /&gt;
  menu		&amp;quot;text&amp;quot;, menuid [, menuid]&lt;br /&gt;
  item		&amp;quot;text&amp;quot;, id [, menuid]&lt;br /&gt;
  item		break, id [, menuid]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The -l switch makes a dialog table local, so that it can only be accessed by other scripts in the same file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dbu vs. Pixels&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The dbu option makes mIRC use dialog base units when creating the dialog, this ensures that the dialog will look the same for all users under any size display, etc. Pixels is the default however to maintain compatibility with previous scripts.&lt;br /&gt;
The identifiers $dbuw and $dbuh return the dbu per pixel width and height values for the current display. This may or may not be an integer value.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Ok and Cancel buttons&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
You can specify an ok and/or cancel button, and when a user clicks the ok or cancel buttons, the dialog is closed. You can prevent the dialog from closing if a user clicks the ok button by using /halt.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Grouping radio buttons&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Radio buttons can be grouped together using the &#039;group&#039; style, followed by the radio buttons you want in the group without the &#039;group&#039; style. E.g;&lt;br /&gt;
 radio &amp;quot;Group 1 Option 1&amp;quot;, 1, 10 10 100 20, group&lt;br /&gt;
 radio &amp;quot;Group 1 Option 2&amp;quot;, 2, 10 30 100 20&lt;br /&gt;
 radio &amp;quot;Group 2 Option 1&amp;quot;, 3, 10 50 100 20, group&lt;br /&gt;
 radio &amp;quot;Group 2 Option 2&amp;quot;, 4, 10 70 100 20&lt;br /&gt;
The above would create two radio button groups, each starting where the &#039;group&#039; style is entered.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Default position and size&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
If you specify -1 for any of the x y w h values in the size setting for the dialog, a default setting is used. To make mIRC center the dialog in a window, specify x y as -1 -1. The size setting can be over-ridden in the init event (see below) by using /dialog -s name x y w h.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
 ;create a dialog table with name &#039;dialogtest&#039;&lt;br /&gt;
 dialog dialogtest {&lt;br /&gt;
  &lt;br /&gt;
  ;set the titlebar text of the dialog to &amp;quot;testing dialog&amp;quot;&lt;br /&gt;
  title &amp;quot;testing dialog&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ;define the position and size of the dialog, x and y set to -1 so the dialog is created to the middle of mirc window, width set to 150 and height to 200 &lt;br /&gt;
  size -1 -1 150 200&lt;br /&gt;
  &lt;br /&gt;
  ;dpu, dialog basic units, so the dialog will be the same size in every resolution&lt;br /&gt;
  option dbu&lt;br /&gt;
  &lt;br /&gt;
  ;a text item that says &amp;quot;Random text&amp;quot;, assigning id 1 for the item, x=5, y=10, w=100, h=10, no style&lt;br /&gt;
  text &amp;quot;Random text&amp;quot;, 1, 5 10 100 10, &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ;now you can call this dialog by writing: /dialog -m dialogtest dialogtest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A bit more in-depth example&#039;&#039;&#039;&lt;br /&gt;
 ; this dialog will calculate how long it is since/untill a specific day&lt;br /&gt;
 ; alias to open the dialog faster&lt;br /&gt;
 alias dt { .dialog -m dialogtest dialogtest }&lt;br /&gt;
 &lt;br /&gt;
 ; the dialog table&lt;br /&gt;
 dialog dialogtest {&lt;br /&gt;
   title &amp;quot;Testing&amp;quot;&lt;br /&gt;
   size -1 -1 200 200&lt;br /&gt;
   option dbu&lt;br /&gt;
 &lt;br /&gt;
   ; we&#039;ll use 2 tabs here, make them start from x/y -1 and w/h 202 so we&#039;ll have nice borders when it goes a bit over&lt;br /&gt;
   tab &amp;quot;From &amp;quot;,  1, -1 -1 202 202&lt;br /&gt;
   tab &amp;quot;Untill&amp;quot;, 2, -1 -1 202 202&lt;br /&gt;
 &lt;br /&gt;
   ; 2 boxes for both tabs to create a nice title and frame (note tab1 and tab2 at the end)&lt;br /&gt;
   box &amp;quot;Time from date calculator&amp;quot;  , 3, 2 15 195 183, tab1&lt;br /&gt;
   box &amp;quot;Time untill date calculator&amp;quot;, 4, 2 15 195 183, tab2&lt;br /&gt;
 &lt;br /&gt;
   ; the dropdown combo boxes for date/month/year selection, we&#039;ll do 2 different boxes for the year selection&lt;br /&gt;
   ; one that has past years, and the other one has upcoming years (for different tabs)&lt;br /&gt;
   ; this way we don&#039;t have to update the one everytime you change the tab&lt;br /&gt;
   combo 5, 10 25 20 10, drop&lt;br /&gt;
   combo 6, 31 25 20 10, drop&lt;br /&gt;
   combo 7, 52 25 24 10, drop tab1&lt;br /&gt;
   combo 8, 52 25 24 10, drop tab2&lt;br /&gt;
 &lt;br /&gt;
   ; buttons for calcultaing the result and to clear the list&lt;br /&gt;
   button &amp;quot;Calculate&amp;quot;, 9, 78 24 37 12,&lt;br /&gt;
   button &amp;quot;Reset&amp;quot;    , 10, 153 24 37 12,&lt;br /&gt;
 &lt;br /&gt;
   ; show the text above the list, and the empty one (ID 12) is there for an error message, empty at the time being&lt;br /&gt;
   text &amp;quot;Last calculations:&amp;quot;, 11, 12 42 50 20,&lt;br /&gt;
   text &amp;quot;&amp;quot;, 12, 105 42 100 8,&lt;br /&gt;
 &lt;br /&gt;
   ; then the lists to store earlier calculations, 1 for each tab&lt;br /&gt;
   list 13, 10 50 180 80, sort tab1&lt;br /&gt;
   list 14, 10 50 180 80, sort tab2&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ; the init event, this event triggers every time the dialog opens, so here we will fill those controls&lt;br /&gt;
 on *:dialog:dialogtest:init:0:{&lt;br /&gt;
   ; 2 first ones loops through days/months and adds them into dropdown combos&lt;br /&gt;
   var %x = 1 | while (%x &amp;lt;= 31) { did -a $dname 5 %x | inc %x }&lt;br /&gt;
   var %x = 1 | while (%x &amp;lt;= 12) { did -a $dname 6 %x | inc %x }&lt;br /&gt;
 &lt;br /&gt;
   ; these two are for the year selection, first starts from &amp;quot;this year -10 years&amp;quot;, and is shown in the 1st tab&lt;br /&gt;
   ; second one starts from this year and goes 10 years forward, this is for the second tab&lt;br /&gt;
   var %x = $calc($asctime(yyyy) -10) | while (%x &amp;lt;= $asctime(yyyy)) { did -a $dname 7 %x | inc %x }&lt;br /&gt;
   var %x = $asctime(yyyy) | while (%x &amp;lt;= $calc($asctime(yyyy) +10)) { did -a $dname 8 %x | inc %x }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ; sclick event for the &amp;quot;Calculate&amp;quot; button&lt;br /&gt;
 on *:dialog:dialogtest:sclick:9:{ &lt;br /&gt;
   ; we&#039;ll use these variables for the sake of clarity&lt;br /&gt;
   ; so %day, %month, %year to implode into %date ($base for zeropadding 5 -&amp;gt; 05 etc.)&lt;br /&gt;
   var %day = $base($did($dname,5),10,10,2)&lt;br /&gt;
   var %month = $base($did($dname,6),10,10,2)&lt;br /&gt;
   var %year = $did($dname,$iif($dialog($dname).tab == 1,7,8))&lt;br /&gt;
   var %date = $+(%year,-,%month,-,%day) &lt;br /&gt;
 &lt;br /&gt;
   ; from $dialog().tab we&#039;ll see which tab is active, and choose the right list ID by that&lt;br /&gt;
   var %target = $iif($dialog($dname).tab == 1,13,14)&lt;br /&gt;
 &lt;br /&gt;
   ; again check the tab, and calculate the right duration (ctime - %date, or %date - ctime)&lt;br /&gt;
   if ($dialog($dname).tab == 1) { var %duration = - $duration($calc($ctime - $ctime(%date))) }&lt;br /&gt;
   else { var %duration = + $duration($calc($ctime(%date) - $ctime)) }&lt;br /&gt;
 &lt;br /&gt;
   ; check for errors, if day/month/year is empty (not inputted), or if the calculation returns a negative number&lt;br /&gt;
   if ($mid(%duration,3,1) == -) || (!%day) || (!%month) || (!%year) { &lt;br /&gt;
     ; so we have an error, show it in the empty text field we created, and use timer to clear it after 4 seconds (/did -r)&lt;br /&gt;
     did -a $dname 12 Parameters missing, or wrong date&lt;br /&gt;
     .timerClearError 1 4 did -r $dname 12&lt;br /&gt;
     halt &lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; no errors if we&#039;re here, so, just show the result in %target ID in the form of &amp;quot;yyyy-mm-dd + 3days&amp;quot;&lt;br /&gt;
   did -a $dname %target %date %duration&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ; sclick event for the reset button&lt;br /&gt;
 on *:dialog:dialogtest:sclick:10:{ &lt;br /&gt;
   did -r $dname $iif($dialog($dname).tab == 1,13,14)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ; dclick event just for echoing a line from the list, when you double click it&lt;br /&gt;
 on *:dialog:dialogtest:dclick:13,14:{ &lt;br /&gt;
   echo -ag $did($dname,$did,1).seltext&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Category:Dialogs]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Limits&amp;diff=2618</id>
		<title>Limits</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Limits&amp;diff=2618"/>
		<updated>2008-09-26T16:13:39Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: Sockets verified&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Warning: These values may be outdated for mIRC v6.32. Updated and confirmed sections are marked with &amp;lt;/font&amp;gt;&amp;lt;font color=#00AA00&amp;gt;(Updated)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page explains various limits imposed by mIRC, however this may not be a complete list. The length is measured in bytes (equivalent to ASCII characters, including spaces.)&lt;br /&gt;
&lt;br /&gt;
You can find the original limits page [http://www.xise.nl/mirc/wiki/doku.php?id=limits here.]&lt;br /&gt;
&lt;br /&gt;
= mIRC =&lt;br /&gt;
&amp;lt;table border=2 rules=all cellpadding=4 style=text-align:center&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Length&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;When exceeded&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Description&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Global limits &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Line Length Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;(&#039;&#039;LLL&#039;&#039;)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4150&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated or error&amp;lt;td style=text-align:left&amp;gt;To be precise: 4150 for evaluation results, 4151 for command lines (excluding command prefixes.)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Variables&#039;&#039;&#039;&amp;lt;br&amp;gt;(local or global)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4150&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unset&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;This limit includes the variable&#039;s name. Example: using &amp;quot;%a&amp;quot; as a name uses 3 bytes (2 for the name and 1 for a space.)&amp;lt;br&amp;gt;This means that for every extra character in the variable name, the maximum length of the value is reduced.&amp;lt;br&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; the /set command further reduces the length limit to 9144 due to the 4 characters used by &amp;quot;set &amp;quot;. (LLL)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;IRC server specific&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Incoming lines&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;601&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Excludes CR/LF.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Outgoing lines&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LLL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#00AA00&amp;gt;&#039;&#039;&#039;(Updated)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Joined channel names&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;255&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Parted immediately&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#00AA00&amp;gt;&#039;&#039;&#039;(Updated)&#039;&#039;&#039;&amp;lt;/font&amp;gt; Includes channel prefix.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Channel keys&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#00AA00&amp;gt;&#039;&#039;&#039;(Updated)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Addresses&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;90&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;The part of the full address after the &amp;quot;!&amp;quot;; only with JOIN/QUIT messages, addresses from WHO replies are not truncated.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Nicknames&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Server passwords&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;As associated with server entries&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;CTCPs&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Incoming PING argument&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;24&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No reply sent&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;First character must be a digit; leading spaces ignored.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Sockets &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Socket name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;255&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Send buffer&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;16384&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;mIRC&#039;s own buffers, not WinSock&#039;s.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Receive buffer&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4096&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receipt stalls&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;mIRC&#039;s own buffers, not WinSock&#039;s.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Socket mark&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LLL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Not 512 as the helpfile says.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Hashtables &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Hashtable name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Hashtable size&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10000&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;In number of buckets&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;GUI &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Editbox&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1024&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Sent&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Editbox is cleared afterwards, similar to pressing Enter.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Dialogs &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Dialog name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Input dialog text field&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1023&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Files &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Line of text&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4149&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Split&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Excluding CR/LF. Applies to all file-related commands/identifiers.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$$&amp;diff=2613</id>
		<title>$$</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$$&amp;diff=2613"/>
		<updated>2008-08-11T05:24:44Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Any identifier can be prefixed with another $ to prevent execution without a certain parameter.&lt;br /&gt;
&lt;br /&gt;
For example, using $$1 in a command means the command will only run if $1 is filled.&lt;br /&gt;
&lt;br /&gt;
If the specified identifier does not exist, execution of commands will be [[halt|halted]].&lt;br /&gt;
&lt;br /&gt;
You can also use $$?1 or $?1 which will try to fill the value with parameter one if it exists. If parameter one doesn&#039;t exist, it will ask for it. In the first case the parameter is necessary for the command to be executed, in the second case it isn&#039;t.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
 /op $$1&lt;br /&gt;
Will run the /op command if $1 is filled.&lt;br /&gt;
&lt;br /&gt;
 /nick [[$gettok|$$gettok(%nicks,5,44)]]&lt;br /&gt;
Will run the [[nick|/nick]] command if a 5th comma-delimited [[:Category:Token Identifiers|token]] in %nicks exists.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[$?]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Pvoice&amp;diff=4896</id>
		<title>Pvoice</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Pvoice&amp;diff=4896"/>
		<updated>2008-08-11T05:13:04Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Works the same way as the [[pop|/pop]] command except that it voices a user.&lt;br /&gt;
 /pvoice &amp;lt;delay&amp;gt; [#channel] &amp;lt;nickname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
 /pvoice 4 #help.script Dana&lt;br /&gt;
Waits 4 seconds and then voices Dana on #help.script if she is not already voiced.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[pop|/pop]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Pop&amp;diff=4895</id>
		<title>Pop</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Pop&amp;diff=4895"/>
		<updated>2008-08-11T05:11:27Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Performs a delayed op on a nickname.&lt;br /&gt;
 /pop &amp;lt;delay&amp;gt; [#channel] &amp;lt;nickname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The purpose of this command is to prevent a channel window filling up with op mode changes whenever several users have the same nickname in their auto-op section.&lt;br /&gt;
&lt;br /&gt;
mIRC will pause around &amp;lt;delay&amp;gt; seconds before performing the op. If &amp;lt;delay&amp;gt; is zero, it does an immediate op. Before performing the op it checks if the user is already opped. If you do not specify the #channel, the current channel is assumed.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
 /pop 4 #help.script Dana&lt;br /&gt;
Waits 4 seconds and then ops Dana on #help.script if she is not already opped.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[pvoice|/pvoice]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$width&amp;diff=2823</id>
		<title>$width</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$width&amp;diff=2823"/>
		<updated>2008-08-11T04:59:55Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns width of text in pixels for the specified font.&lt;br /&gt;
 $width(text,font,size,B,C)&lt;br /&gt;
&lt;br /&gt;
If B is non-zero, the font is bold, if C is non-zero, control codes are processed. Both B and C are optional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you use a negative number for the font size, it will match the size of fonts in the font dialog.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
 $width(Lorem ispum,Arial,12)&lt;br /&gt;
Returns 74.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[$wrap]]&lt;br /&gt;
* [[font|/font]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Picture Windows]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$wrap&amp;diff=4646</id>
		<title>$wrap</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$wrap&amp;diff=4646"/>
		<updated>2008-08-11T04:59:38Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns Nth line in text wrapped to the specified width in pixels.&lt;br /&gt;
 $wrap(text, font, size, width, [word,] N)&lt;br /&gt;
&lt;br /&gt;
If the optional word parameter is 1, text is wrapped at whole words (which is the default).&lt;br /&gt;
&lt;br /&gt;
You can specify 0 for N to return the total number of wrapped lines.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
 $wrap(The quick brown fox jumped over the lazy dog., Arial, 12, 100, 0)&lt;br /&gt;
Returns &amp;quot;3&amp;quot; for the total number of lines.&lt;br /&gt;
&lt;br /&gt;
 $wrap(The quick brown fox jumped over the lazy dog., Arial, 12, 100, 3)&lt;br /&gt;
Returns &amp;quot;the lazy dog.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $wrap(The quick brown fox jumped over the lazy dog., Arial, 12, 100, 0, 2)&lt;br /&gt;
Returns &amp;quot;ox jumped over th&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[$width]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Text and Number Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$width&amp;diff=2593</id>
		<title>$width</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$width&amp;diff=2593"/>
		<updated>2008-08-11T04:55:39Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns width of text in pixels for the specified font.&lt;br /&gt;
 $width(text,font,size,B,C)&lt;br /&gt;
&lt;br /&gt;
If B is non-zero, the font is bold, if C is non-zero, control codes are processed. Both B and C are optional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you use a negative number for the font size, it will match the size of fonts in the font dialog.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
 $width(Lorem ispum,Arial,12)&lt;br /&gt;
Returns 74.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[font|/font]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Picture Windows]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Missing_pages&amp;diff=2668</id>
		<title>Missing pages</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Missing_pages&amp;diff=2668"/>
		<updated>2008-08-11T04:47:17Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: oh god&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Identifiers ==&lt;br /&gt;
[[$$]]&lt;br /&gt;
[[$activewid]]&lt;br /&gt;
[[$ansi2mirc]]&lt;br /&gt;
[[$cd]]&lt;br /&gt;
[[$clevel]]&lt;br /&gt;
[[$com]]&lt;br /&gt;
[[$comcall]]&lt;br /&gt;
[[$comerr]]&lt;br /&gt;
[[$comval]]&lt;br /&gt;
[[$crc]]&lt;br /&gt;
[[$creq]]&lt;br /&gt;
[[$dbuh]]&lt;br /&gt;
[[$dbuw]]&lt;br /&gt;
[[$dccignore]]&lt;br /&gt;
[[$dccport]]&lt;br /&gt;
[[$dll]]&lt;br /&gt;
[[$dllcall]]&lt;br /&gt;
[[$dns]]&lt;br /&gt;
[[$filename]]&lt;br /&gt;
[[$fserve]]&lt;br /&gt;
[[$get]]&lt;br /&gt;
[[$group]]&lt;br /&gt;
[[$hash]]&lt;br /&gt;
[[$height]]&lt;br /&gt;
[[$hotline]]&lt;br /&gt;
[[$hotlinepos]]&lt;br /&gt;
[[$keychar]]&lt;br /&gt;
[[$keyrpt]]&lt;br /&gt;
[[$keyval]]&lt;br /&gt;
[[$lactivewid]]&lt;br /&gt;
[[$link]]&lt;br /&gt;
[[$menu]]&lt;br /&gt;
[[$menucontext]]&lt;br /&gt;
[[$menutype]]&lt;br /&gt;
[[$mididir]]&lt;br /&gt;
[[$notags]]&lt;br /&gt;
[[$passivedcc]]&lt;br /&gt;
[[$send]]&lt;br /&gt;
[[$sound]]&lt;br /&gt;
[[$sreq]]&lt;br /&gt;
[[$trust]]&lt;br /&gt;
[[$vcmd]]&lt;br /&gt;
[[$vcmdstat]]&lt;br /&gt;
[[$vcmdver]]&lt;br /&gt;
[[$width]]&lt;br /&gt;
[[$wrap]]&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
[[background]]&lt;br /&gt;
[[comclose]]&lt;br /&gt;
[[comopen]]&lt;br /&gt;
[[comreg]]&lt;br /&gt;
[[creq]]&lt;br /&gt;
[[ctcpreply]]&lt;br /&gt;
[[ctcps]]&lt;br /&gt;
[[dcc chat]]&lt;br /&gt;
[[dcc get]]&lt;br /&gt;
[[dcc ignore]]&lt;br /&gt;
[[dcc nick]]&lt;br /&gt;
[[dcc passive]]&lt;br /&gt;
[[dcc reject]]&lt;br /&gt;
[[dcc send]]&lt;br /&gt;
[[dcc trust]]&lt;br /&gt;
[[dccserver]]&lt;br /&gt;
[[dll]]&lt;br /&gt;
[[drawcopy]]&lt;br /&gt;
[[drawdot]]&lt;br /&gt;
[[drawfill]]&lt;br /&gt;
[[drawline]]&lt;br /&gt;
[[drawpic]]&lt;br /&gt;
[[drawrect]]&lt;br /&gt;
[[drawreplace]]&lt;br /&gt;
[[drawrot]]&lt;br /&gt;
[[drawsave]]&lt;br /&gt;
[[drawscroll]]&lt;br /&gt;
[[drawtext]]&lt;br /&gt;
[[finger]]&lt;br /&gt;
[[font]]&lt;br /&gt;
[[fsend]]&lt;br /&gt;
[[fserve]]&lt;br /&gt;
[[identd]]&lt;br /&gt;
[[linesep]]&lt;br /&gt;
[[links]]&lt;br /&gt;
[[mdi]]&lt;br /&gt;
[[pdcc]]&lt;br /&gt;
[[perform]]&lt;br /&gt;
[[playctrl]]&lt;br /&gt;
[[pop]]&lt;br /&gt;
[[pvoice]]&lt;br /&gt;
[[remote]]&lt;br /&gt;
[[renwin]]&lt;br /&gt;
[[reseterror]]&lt;br /&gt;
[[resetidle]]&lt;br /&gt;
[[savebuf]]&lt;br /&gt;
[[showmirc]]&lt;br /&gt;
[[socklist]]&lt;br /&gt;
[[sockpause]]&lt;br /&gt;
[[sockudp]]&lt;br /&gt;
[[sound]]&lt;br /&gt;
[[speak]]&lt;br /&gt;
[[splay]]&lt;br /&gt;
[[sreq]]&lt;br /&gt;
[[strip]]&lt;br /&gt;
[[tray]]&lt;br /&gt;
[[unload]]&lt;br /&gt;
[[updatenl]]&lt;br /&gt;
[[url]]&lt;br /&gt;
[[vcadd]]&lt;br /&gt;
[[vcmd]]&lt;br /&gt;
[[vcrem]]&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
[[On chat]]&lt;br /&gt;
[[On connectfail]]&lt;br /&gt;
[[On ctcpreply]]&lt;br /&gt;
[[On dccserver]]&lt;br /&gt;
[[On dns]]&lt;br /&gt;
[[On error]]&lt;br /&gt;
[[On filercvd]]&lt;br /&gt;
[[On filesent]]&lt;br /&gt;
[[On getfail]]&lt;br /&gt;
[[On hotlink]]&lt;br /&gt;
[[On keydown]]&lt;br /&gt;
[[On keyup]]&lt;br /&gt;
[[On mp3End]]&lt;br /&gt;
[[On nosound]]&lt;br /&gt;
[[On sendfail]]&lt;br /&gt;
[[On serv]]&lt;br /&gt;
[[On serverop]]&lt;br /&gt;
[[On snotice]]&lt;br /&gt;
[[On top]]&lt;br /&gt;
[[On udpread]]&lt;br /&gt;
[[On user]]&lt;br /&gt;
[[On vcmd]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Limits&amp;diff=2596</id>
		<title>Limits</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Limits&amp;diff=2596"/>
		<updated>2008-05-29T00:37:34Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: more mIRC 6.32 limits info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=#FF0000&amp;gt;&#039;&#039;&#039;Warning: These values may be outdated for mIRC v6.32. Updated and confirmed sections are marked with &amp;lt;/font&amp;gt;&amp;lt;font color=#00AA00&amp;gt;(Updated)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page explains various limits imposed by mIRC, however this may not be a complete list. The length is measured in bytes (equivalent to ASCII characters, including spaces.)&lt;br /&gt;
&lt;br /&gt;
You can find the original limits page [http://www.xise.nl/mirc/wiki/doku.php?id=limits here.]&lt;br /&gt;
&lt;br /&gt;
= mIRC =&lt;br /&gt;
&amp;lt;table border=2 rules=all cellpadding=4 style=text-align:center&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Length&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;When exceeded&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Description&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Global limits &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Line Length Limit&#039;&#039;&#039;&amp;lt;br&amp;gt;(&#039;&#039;LLL&#039;&#039;)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4150&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated or error&amp;lt;td style=text-align:left&amp;gt;To be precise: 4150 for evaluation results, 4151 for command lines (excluding command prefixes.)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Variables&#039;&#039;&#039;&amp;lt;br&amp;gt;(local or global)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4150&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unset&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;This limit includes the variable&#039;s name. Example: using &amp;quot;%a&amp;quot; as a name uses 3 bytes (2 for the name and 1 for a space.)&amp;lt;br&amp;gt;This means that for every extra character in the variable name, the maximum length of the value is reduced.&amp;lt;br&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; the /set command further reduces the length limit to 9144 due to the 4 characters used by &amp;quot;set &amp;quot;. (LLL)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;IRC server specific&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Incoming lines&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;601&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Excludes CR/LF.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Outgoing lines&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LLL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#00AA00&amp;gt;&#039;&#039;&#039;(Updated)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Joined channel names&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;255&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Parted immediately&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#00AA00&amp;gt;&#039;&#039;&#039;(Updated)&#039;&#039;&#039;&amp;lt;/font&amp;gt; Includes channel prefix.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Channel keys&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;90&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Addresses&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;90&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;The part of the full address after the &amp;quot;!&amp;quot;; only with JOIN/QUIT messages, addresses from WHO replies are not truncated.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Nicknames&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Server passwords&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;As associated with server entries&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;CTCPs&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Incoming PING argument&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;24&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No reply sent&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;First character must be a digit; leading spaces ignored.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Sockets&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Socket name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;255&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#00AA00&amp;gt;&#039;&#039;&#039;(Updated)&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Send buffer&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;16384&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;mIRC&#039;s own buffers, not WinSock&#039;s.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Receive buffer&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4096&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receipt stalls&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;mIRC&#039;s own buffers, not WinSock&#039;s.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Socket mark&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LLL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;font color=#00AA00&amp;gt;&#039;&#039;&#039;(Updated)&#039;&#039;&#039;&amp;lt;/font&amp;gt; Not 512 as the helpfile says.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Hashtables &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Hashtable name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Hashtable size&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10000&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;In number of buckets&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;GUI &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Editbox&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1024&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Sent&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Editbox is cleared afterwards, similar to pressing Enter.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Dialogs &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Dialog name&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;256&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Input dialog text field&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1023&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Truncated&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=0&amp;gt;&#039;&#039;&#039;Files &amp;lt;font color=#00AA00&amp;gt;(Updated)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Line of text&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4149&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Split&amp;lt;/td&amp;gt;&amp;lt;td style=text-align:left&amp;gt;Excluding CR/LF. Applies to all file-related commands/identifiers.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=Custom_Windows&amp;diff=2659</id>
		<title>Custom Windows</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=Custom_Windows&amp;diff=2659"/>
		<updated>2008-05-23T15:25:50Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: new -M switch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
Custom windows are windows that can be created by the user and modified to look like almost anything. They can play any type or a role you wish: they can for example replace normal channel windows or they can be used to filter messages from queries.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;/window [-abBcCdeEfg[N]hikl[N]mnoprRsvwxz] [-tN,..,N] [+bdeflLmnstx] &amp;lt;@name&amp;gt; [x y [w h]] [/command] [popup.txt] [font [size]] [iconfile [N]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explanations of the different switches:&lt;br /&gt;
&lt;br /&gt;
 a	   = activate the window&lt;br /&gt;
 b	   = update horizontal scrollbar width for listbox (TODO: better explanation?)&lt;br /&gt;
 B	   = prevent the window from using an internal border&lt;br /&gt;
 c	   = close the window&lt;br /&gt;
 C	   = center window when first created&lt;br /&gt;
 d	   = open the window as a desktop window&lt;br /&gt;
 D	   = allows toggling of the window between mirc window and desktop&lt;br /&gt;
 e	   = add a single-line editbox to the window&lt;br /&gt;
 E	   = add a multi-line editbox to the window&lt;br /&gt;
 f	   = indicates that w h are the required width and height of the text display area as opposed to the window&#039;s size (TODO: huh?)&lt;br /&gt;
 g[N]	   = sets/removes hilight for a window button, 0 = none, 1 = message color, 2 = hilight color. Default = TODO?&lt;br /&gt;
 h	   = hide window button from the switchbar. The window can still be modified and closed normally. To reverse, use -w or -z.&lt;br /&gt;
 H	   = enables auto-hide for a side-listbox (TODO: huh?)&lt;br /&gt;
 i	   = dynamically associate with whatever happens to be the active connection (TODO: huh?)&lt;br /&gt;
 k[N]	   = hides the @ prefix in the window name, 0 = hide prefix, 1 = show prefix. Default = 0.&lt;br /&gt;
 l[N]	   = listbox, if N is specified then a side-listbox N characters wide is created. If no N is given, the default size is used.&lt;br /&gt;
 m	   = allow line marker to be used in window. The line marker can be turned on by Ctrl+L.&lt;br /&gt;
 M	   = chops text at tab stops.&lt;br /&gt;
 n[N]	   = minimize window, 2 = minimize without auto-expanding item in treebar (TODO: huh?)&lt;br /&gt;
 o	   = if opened on desktop, place ontop of all other desktop windows&lt;br /&gt;
 p	   = creates a [[Picture_Windows|picture window]]&lt;br /&gt;
 r	   = restore window (TODO: huh?)&lt;br /&gt;
 R	   = reset window&#039;s size and position to previously saved values&lt;br /&gt;
 s	   = sort the main window, whether text or listbox (TODO: alphabetically or what?)&lt;br /&gt;
 S	   = sort the side-listbox (TODO: ...)&lt;br /&gt;
 u	   = if the window was created with -o, remove ontop setting of the window&lt;br /&gt;
 v	   = close window when associated status window is closed (TODO: huh?)&lt;br /&gt;
 w[N]	   = where 0 = hide from switchbar/treebar, 1 = show in switchbar, 2 = show in treebar, 3 = show in both (TODO: Default?)&lt;br /&gt;
 x	   = maximize window&lt;br /&gt;
 z	   = place window button at the end of the switchbar&lt;br /&gt;
 t[N,...,N] = tab positions in a listbox. If text contains tabs it will be spaced out according to these tab settings (TODO: doesn&#039;t explain anything?)&lt;br /&gt;
&lt;br /&gt;
The switches that start with + are used to change the appearance of the window:&lt;br /&gt;
&lt;br /&gt;
 b = use a border&lt;br /&gt;
 d = don&#039;t use a border&lt;br /&gt;
 e = 3d edges&lt;br /&gt;
 f = dialog frame (make it look more like a dialog)&lt;br /&gt;
 l = tool window (TODO: huh? can&#039;t remember)&lt;br /&gt;
 L = tool window but window won&#039;t appear in taskbar (TODO: ...)&lt;br /&gt;
 n = minimize box (TODO: what box?)&lt;br /&gt;
 s = make the window sizable&lt;br /&gt;
 t = add only the &amp;quot;x&amp;quot; button to the upper right corner&lt;br /&gt;
 x = maximize box (TODO: what box?)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; some switches may automatically turn other switches on/off.&lt;br /&gt;
&lt;br /&gt;
The rest of the command options:&lt;br /&gt;
&lt;br /&gt;
 @name	= window name (must prefix with a @ even if the @ would be left out from its title)&lt;br /&gt;
 x,y,w,h	= position in x-axis, position in y-axis, width, height&lt;br /&gt;
 popup.txt	= popup filename to be used for the window, loaded when needed (must be a plain non-ini text file)&lt;br /&gt;
 /command	= default command (executed whenever you enter text in an editbox) (TODO: in any editbox or?)&lt;br /&gt;
 font/size	= font name and size to be used in the window (defaults to status window font)&lt;br /&gt;
 iconfile/N	= sets the titlebar icon for the window&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; if you use -1 for any of the x,y,w,h values, the default value is used unless the window already exists in which case the current value is used.&lt;br /&gt;
&lt;br /&gt;
It isn&#039;t easy to understand what all of these switches are for. If you are new to custom windows, you should simply try them out and see what they do. Pretty fast you will be able to make the window look like what you want it to.&lt;br /&gt;
When you have created a window that looks what you want it to look like, the next step is to add functionality and content to it.&lt;br /&gt;
&lt;br /&gt;
[[Category:MIRC Help]] [[Category:Custom Windows]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$compact&amp;diff=2660</id>
		<title>$compact</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$compact&amp;diff=2660"/>
		<updated>2008-05-23T14:43:44Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns 1 if compact mode is enabled, 0 if otherwise.&lt;br /&gt;
 $compact&lt;br /&gt;
* This function has no parameters.&lt;br /&gt;
&lt;br /&gt;
[[Category:Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$treebar&amp;diff=4857</id>
		<title>$treebar</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$treebar&amp;diff=4857"/>
		<updated>2008-05-23T14:43:42Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns 1 if the treebar is enabled, 0 if otherwise.&lt;br /&gt;
 $treebar&lt;br /&gt;
* This function has no parameters.&lt;br /&gt;
&lt;br /&gt;
[[Category:Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$switchbar&amp;diff=4856</id>
		<title>$switchbar</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$switchbar&amp;diff=4856"/>
		<updated>2008-05-23T14:43:40Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns 1 if the switchbar is enabled, 0 if otherwise.&lt;br /&gt;
 $switchbar&lt;br /&gt;
* This function has no parameters.&lt;br /&gt;
&lt;br /&gt;
[[Category:Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$toolbar&amp;diff=4855</id>
		<title>$toolbar</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$toolbar&amp;diff=4855"/>
		<updated>2008-05-23T14:43:39Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns 1 if the toolbar is enabled, 0 if otherwise.&lt;br /&gt;
 $toolbar&lt;br /&gt;
* This function has no parameters.&lt;br /&gt;
&lt;br /&gt;
[[Category:Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$menubar&amp;diff=4854</id>
		<title>$menubar</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$menubar&amp;diff=4854"/>
		<updated>2008-05-23T14:43:37Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Returns 1 if the menubar is enabled, 0 if otherwise.&lt;br /&gt;
 $menubar&lt;br /&gt;
* This function has no parameters.&lt;br /&gt;
&lt;br /&gt;
[[Category:Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$remtok&amp;diff=4278</id>
		<title>$remtok</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$remtok&amp;diff=4278"/>
		<updated>2008-05-23T14:32:52Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Removes the Nth matching token from text.&lt;br /&gt;
 $remtok(text,token,N,C)&lt;br /&gt;
If N is 0, removes all matching tokens.&lt;br /&gt;
&lt;br /&gt;
If N is not specified, removes the first matching token.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 [[echo]] -ag $remtok(This is a moo test,moo,1,32)&lt;br /&gt;
This echoes &#039;&#039;This is a test&#039;&#039;, as &#039;&#039;moo&#039;&#039; is removed from the text.&lt;br /&gt;
&lt;br /&gt;
 [[var]] %mytext = This word will remove a word&lt;br /&gt;
 var %token = word&lt;br /&gt;
 echo -ag $remtok(%mytext,%token,32)&lt;br /&gt;
This example will remove the first instance of the word &#039;&#039;word&#039;&#039; and echo: &#039;&#039;This will remove a word&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 var %mytoks = House Tree Bear Ship&lt;br /&gt;
 var %mytoks = $remtok(%mytoks,Tree,32)&lt;br /&gt;
 echo -ag Ours tokens are now: %mytoks&lt;br /&gt;
The above example shows how you can remove a token from a varible. Echoes &#039;&#039;Ours tokens are now: House Bear Ship&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 var %mytext = lol some people lol too often in lol sentences, lol&lt;br /&gt;
 echo -ag $remtok(%mytext,lol,0,32)&lt;br /&gt;
This example shows how you can remove all matching tokens in a string by using N = 0. Echoes &#039;&#039;some people too often in sentences,&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Token Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=$reptok&amp;diff=4291</id>
		<title>$reptok</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=$reptok&amp;diff=4291"/>
		<updated>2008-05-23T14:18:54Z</updated>

		<summary type="html">&lt;p&gt;Daveoh: N=0 update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Replaces the Nth matching token in text with a new token.&lt;br /&gt;
 $reptok(text,token,new,N,C)&lt;br /&gt;
If N is 0, replaces all matching tokens.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; that $reptokcs() is the case-sensitive version.&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
 [[var]] %myoldtext = This is my old text&lt;br /&gt;
 var %mynewtext = $reptok(%myoldtext, old, new, 1, 32)&lt;br /&gt;
 [[echo]] -a %mynewtext&lt;br /&gt;
This example echoes &#039;&#039;This is my new text&#039;&#039;, as it replaced &#039;&#039;old&#039;&#039; with &#039;&#039;new&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 var %numbers = 4,5,6,6,8,9&lt;br /&gt;
 var %numbers = $reptok(%numbers,6,7,2,44)&lt;br /&gt;
 echo -a %numbers&lt;br /&gt;
This echoes &#039;&#039;4,5,6,7,8,9&#039;&#039;, as it replaced the second &#039;&#039;6&#039;&#039; with &#039;&#039;7&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 var %numbers = 0,1,2,0,2,2,0,1,2,1,0&lt;br /&gt;
 echo -ag $reptok(%numbers,0,1,0,44)&lt;br /&gt;
This echoes &#039;&#039;1,1,2,1,2,2,1,1,2,1,1&#039;&#039; as all 0&#039;s are replaced with the number 1 due to N being 0.&lt;br /&gt;
&lt;br /&gt;
[[Category:Token Identifiers]]&lt;/div&gt;</summary>
		<author><name>Daveoh</name></author>
	</entry>
</feed>