BotChatCommand for Unreal Tournament 2003/4 (BCC2k3) v2.02
Created By Zaur "LedZep" Mamedov

If you are familiar with BCC2.0 for the original UT then there is nothing new here, the same thing ported to UT2003 and 2004.

What is BCC?
BCC is a mutator that allows you to give elaborate orders to your bots using TeamSay or a special ingame menu.
BCC is only useful when you play with bots.

Installing and Playing:
very simple, just copy BCC2k3.int (BCC2k3.ucl) and BCC2k3.u and BCC2k3.ini into your /UT2003/System/ folder.
In UT2003's main menu, click on instant action, then click mutators and double click on BCC2k3 to add it to your mutator list.
You can then click on "Configure Mutator" on the bottom right corner of the screen to bring up a window where you can bind the
ingame menu key and set whether you want the game to pause while in the menu, and if you want BCC to use the specified custom weapons.

How to use BCC:
All you do is order bots around using the TeamSay function or the ingame menu.

The following explanation is for people that want to use the TeamSay feature, the menu is self explanatory
and you wont need to read the following stuff to be able to use it, maybe only about the "/here is" feature 
that allows you to declare the places you want to tell the bots to camp or snipe from later on.

When using chat to command the bots, every command has to be in TeamSay and has to start with a slash "/"
the first parameter in the command line is the bot you want to order, it can be the bot's name, "bot" with number
(looks like this: bot1, bot2, etc...) or it can be "all", which will tell all the bots to carry out the command.
Second parameter is the order you want the bot to carry out, here is the list of orders:
you can either type the whole word or just the shortened name in parenteces (without the parenteces)

attack    (a)    - tells the bot to attack

defend    (d)    - tells the bot to defend

cover     (c)    - tells the bot to cover a player (needs a third parameter)

coverme   (cm)   - tells the bot to cover you

camphere  (ch)   - tells the bot to camp at your location

campthere (ct)   - tells the bot to camp at his location

campat    (ca)   - tells the bot to camp at a designated location (needs a third parameter)

snipeat   (sa)   - like campat, except instead to camp, it is to snipe from.

freelance (fl)   - Engage according to operational parameters!

use       (u)    - tells the bot to use a specific weapon (needs a third parameter)

useall    (ua)   - tells the bot to use whatever weapon he wants (cancels the "use" command)

examples of valid command lines:
"/all d"	All bots will defend (flag or base or whatever)
"/bot1 a"	A bot will go and attack.
"/loque cm"     Loque will cover you.

I know there is a lot to remember so i added the following feature:
Type "/Help" and then bring up the confole (default key is `) and you will see a list of BCC commands and syntax

there are four orders that need a third parameter: cover, campat, snipeat, and use.
in that case, after the order, you add the third parameter.

For "Cover", you add the name of the player you want the bot to cover (you can also use "bot" with number)
examples: "/bot1 c bot2"         - a bot will cover another bot.
	  "/loque c LedZep"      - loque will cover a player named LedZep.
Note: 
For some reason in UT2003 I can't get a bot to litterally cover a different bot, only human players, I couldnt
fix that in BCC, although they do follow their target, they might not display that on the score board if their
target is a bot and not a human player.

For "Campat" and "Snipeat", you add the name of the location you want the bot to snipe/camp at.
(naming locations will be explained soon)
examples: "/bot1 ca someplace"   - a bot will camp at a location called "someplace"
          "/loque sa snipespot"  - loque will snipe from a loction called "snipespot"

to declare the place you stand at as a designated location, you type this command line: "/here is " plus the name you want to give it.
you can use the shortened command which is "hi" instead of the long "here is".
lets say you are on some bridge which is a good strategic location, you do this: "/hi bridge" (you can name it however you want).
later, you can get bots to camp there using, for example: "/bot1 ca bridge" this will get one bot to camp on that spot.

For "Use", you add the name of the weapon u want the bot to use. here is a list:

ShieldGun	SG  or	Shield
AssaultRifle	AR
BioRifle	Bio
ShockRifle	Shock
LinkGun		Link
Painter		Paint
Minigun		Mini
SniperRifle	Sniper
RocketLauncher	RL
FlakCannon	Flak

you can either use the full name or the shortened name.

Another feature in BCC is giving bots delayed commands. to do so, wite out the first command, then write "for",
then the number of seconds you want the bot to do this command for, then you write out the new order you want the bot
to carry out after the time has passed, if you dont specify that order, the default will be freelance.
here are some examples of how it's done:

"/bot1 a for 60 d"				a bot will attack for a minute and then defend
"/loque cm for 120 a"				loque will cover you for 2 minutes and then attack
"/kira ca campspot for 300 sa snipespot"	kira will camp at "campspot" for 5 minutes, then snipe from "snipespot"
"/all d for 30 a"				all bots will defend for 30 seconds, then attack

Another little feature in BCC is there to make ordering bots alittle easier:
lets say you want Loque to cover you with a sniperrifle. you'll have to write two command lines:
"/loque cm" and then "/loque u sniper" that can take too much valuable time in the heat of the battle. ;)
but with this feature, you can simply write this command line "/loque cm w sniper".
After writing out a certain command, if you want the bot to carry it out using a specific weapon, just add "with" or "w"
and then the name of the weapon.
examples: "/bot1 sa tower w sniper"		a bot will snipe from "tower" with a sniper rifle
	  "/loque sa highplace w shock"		loque will snipe from "highplace" with a shock rifle
	  "/all cm w flak"			all bots will cover you with a flak cannon

note that when u tell a bot to use a weapon and he doesn't have it, his orders will temporarily turn "freelance" until he finds the weapon.

and one last feature, you can check the bot's statistics, just type the bot's name or number and then "stat", it will
give you the bot's name, his weapons and his health. example: "/bot1 stat".


Custom Weapon Support:
If you are wondering about the custom weapon support, I didnt bother making a window for it, instead you would have to
open BCC2k3.ini and add the weapons manually. It's easier that way anyway, all you have to do is write the weapon's
class in the WeapClass area and then give it a name in the corresponding WeapName area.

--------------------------------------------------------------------------------------------------------

Thats it.
I know it is alot to learn, but once you get used to it, it becomes very helpful, believe me. ;)
didn't you always want malcolm to cover you with a sniper rifle? well now you can. "/malcolm cm w sniper" !
for any comments or bugs, please EMail me at LedZepperus@Yahoo.com

thanks for checking out my mutator.
have a great fragging time!

LedZep