.......................................................................................................................

MultiBot v1.0 build 5 by Ersan

MultiBot is a binary bot for Battle.net that allows you to connect multiple bots to the Battle.net Chat Service through
one executable and interface, it supports a plugin API (see bottom for reference) that allows people to develop their
own user interfaces and features.  Supported games are listed below.

Starcraft
Starcraft: Brood War
Diablo II
Diablo II: Lord of Destruction
Warcraft II: BNE
Warcraft III
Warcraft III: The Frozen Throne
Internet Relay Chat

.......................................................................................................................

VERSION:
build 5 (09/14/06):
+ Hashing is now supported using BNCSUtil.dll >= 1.2.0, if this file is not found hash support will be disabled.
  Files go in MultiBot's working directory under STAR, D2DV, D2XP, W2BN, WAR3, and W3XP.
= Various bug fixes

.......................................................................................................................

CHANGELOG:
build 5 (09/14/06):
+ Hashing is now supported using BNCSUtil.dll >= 1.2.0, if this file is not found hash support will be disabled.
  Files go in MultiBot's working directory under STAR, D2DV, D2XP, W2BN, WAR3, and W3XP.
= Various bug fixes

build 4 (09/13/06):
+ JBLS is now supported.
= Various bug fixes

.......................................................................................................................

API:
'You must name the class module of the DLL you're making CProjectName
'You must also name the DLL ProjectName.dll or ProjectName.mbp
'So, for BasicChat, the project name is 'BasicChat', the class module is 'CBasicChat' and the
'compiled project is BasicChat.dll or BasicChat.mbp

'MultiBot core triggers
LoadForm(BotID)						'Tells the plugin that there is a bot using that BotID (init)
ShowDialog(BotID)					'Occurs when a user double-clicks a bot or clicks 'View Chat'
OnMeTalk(BotID, username, message)			'This is called when text is sent to battle.net
OnProfile(BotID, age, sex, location, description)	'Parsed response to GetProfile
OnW3Stats(BotID, )					'Parsed response to GetW3Stats
OnW3CStats(BotID, )					'Parsed response to GetW3CStats

'Battle.net triggers
OnTalk(BotID, username, Flags, message, Ping)		'When user talks
OnEmote(BotID, username, Flags, message)		'When user emotes
OnChannel(BotID, message, Flags)			'When bot joins channel
OnUser(BotID, username, Flags, message, Ping)		'When bot joins channel, users that are already there
OnJoin(BotID, username, Flags, message, Ping)		'When user joins channel
OnLeave(BotID, username, Flags)				'When user leaves channel
OnWhisperTo(BotID, username, Flags, message, Ping)	'When bot whispers to someone
OnWhisperFrom(BotID, username, Flags, message)		'When someone whispers bot
OnInfo(BotID, message)					'When battle.net sends info to bot
OnFlags(BotID, username, Flags, message, Ping)		'When flags are update
OnError(BotID, message)					'When error occurs
OnUnknown(BotID, message)				'When unknown event occurs

'Host functions
SendText(text, BotID)					'For sending text to b.net
GetProfile(username, BotID)				'For requesting profile information
GetW3Stats(username, BotID)				'Get warcraft 3 extended stats
GetW3CStats(clanname, BotID)				'Get warcraft 3 clan stats
GetUserInfo(Username, BotID)				'Returns Users.ini information, I suggest you LCase()
SetUserInfo(Username, Info, BotID)			'Sets info in Users.ini, leave blank to delete entry
WriteConsole(Message, BotID)				'Outputs Message to the console, auto-inputs username so no need
GetSetting(Name, BotID)					'Returns INI setting for bot with BotID
WriteSetting(Name, Value, BotID)			'Writes INI setting and updates configuration for bot with BotID

.......................................................................................................................