mIRC On The Fly Version Changer v3.05
   Copyright 2000-2002 BBas.
   danielson@olynet.com


  mOTFv3 (mIRC On The Fly Version Changer v3.05) , is a simple dll which provides
the scripter or user of mIRC with fast and effective tools of modifying
or even removing their version reply.

	
  mOTFv3.dll only exports two functions, named motfv and DLLInfo.

	To use DLLInfo, type the following
		/echo 4 $dll(motfv3.dll,DLLInfo,0)	
			DLLInfo returns author information on mOTFv3.


	Now on to the  good stuff, the actual functionality of mOTFv

	Step 1 - Load the dll				
		/echo 4 $dll(motfv3.dll,motfv,Load)
			This will attempt to load mOTFv, note: ALL COMMANDS (Load in this case)
 			of 'motfv' are CASE SENSITIVE, hence 'load' will return
			'ERR 30 - Command not Recognized'.
				Possible results:

			ERR 1 - A Fatal Error occured 			- mOTFv3 encountered a fatal error.
			ERR 10 - File mapping failed  			- File mapping failed
			ERR 11 - Hooking failed	      			- Hooking failed
			ERR 20 - mOTFv3 Already Loaded			- mOTFv3 Already Loaded
			ERR 31 - mOTFv3 requires mIRC 6.0 or later	- Your using an earlier version of mIRC
			
			OK						- Load Completed Successfully

	
	Step 2 - Sync the dll
		/echo 4 $dll(motfv3.dll,motfv,Sync)
			This will sync up mOTFv3 with your current connections, it is REQUIRED that everytime
			you connect to another IRC server that you call the Sync command. Otherwise, mOTFv3 won't 				work on the new servers you connect to. Therefore, it's logical to call Sync in an
			ON CONNECT event.
				Possible results:

			ERR 21 - mOTFv3 Not Loaded			- Either Load wasn't called or it Failed
			
			OK Synchronized w/X servers			- Signifies a successful Sync, note X
									  is the current amount of successful
									  connections to IRC, if you're on two
									  IRC servers at one time it will return
									  OK Synchronized w/2 servers etc..

	Step 3 - Script an event to respond to version requests
		
		mOTFv3 is not only much smaller than it's predecessors, it's also more flexible. Instead of 
		allowing version requests to pass through and catching it when mIRC sends a reply (which
		presents certain problems in reference of flood control), it just modifies the VERSION request
		to an MOTFV request.
			For example:

		
		-Without mOTFv-

		-
		-> [danielson] VERSION
		-
		[danielson VERSION]
		-
		[danielson VERSION reply]: mIRC v6.01 Khaled Mardam-Bey
		-


		-With mOTFv-
		
		-
		motfv: OK
		motfv: OK Synchronized w/1 servers
		-
		-> [danielson] VERSION
		-
		[danielson MOTFV]
		-
		[danielson VERSION reply]: mOTFv3 Copyright 2000-2002 danielson
		-

		Notice the 'MOTFV' request instead of a VERSION request. mOTFv modified the version request,
		making it a MOTFV request. Note, mOTFv3 automatically blocks any legitimate /ctcp $nick MOTFV 				requests (otherwise this could be used as a cheap trick to identify mOTFv3 users).

		So, how was the responce sent? Easy, a normal ctcp event.

		ctcp *:MOTFV: {
		  .ctcpreply $nick VERSION mOTFv3 Copyright 2000-2002 danielson
                }

		Pretty simple, wouldn't you say? Of course the benefit of using 'MOTFV' requests
		over say ON SIGNAL events etc... is that you can use normal identifiers ($nick/$address)
		etc... and that the user's address will be added to IAL.
		

	
	Step 4 - Unloading mOTFv3
		/echo 4 $dll(motfv3.dll,motfv,Unload)
			This unloads mOTFv3, and isn't necessary, as mOTFv3 will unload itself
			if mIRC is closed.
				Possible results:
			
			ERR 21 - mOTFv3 Not Loaded		- mOTFv3 hasn't been loaded, no need to Unload
			
			OK					- mOTFv3 Successfully Unloaded



-Revision A [ mOTFv3 (Version 3.05) ]
   -Bugfix (GPF Resultant from two copies loaded, thanks to Deke for notification)
   -Backwards compatibility integrated (Tested to 5.6+, although should work in ALL dll-supporting versions).


   (Note, previous of 5.9, Sync will return $NULL, (it acts like mOTFv 2.x's 'Mark' command).


That's pretty much it, simple to use, simple to implement. 
Questions? Comments? Contact me at danielson@olynet.com

Copyright2000-2002
All Rights Reserved
		
											
			
			