Good for you for wanting to do that!
Giving a skin bot capabilities is so easy, every skinner should do it.
You need to add only two files, a .bot file and a .jkb file. The .bot file goes in a "scripts" folder and the .jkb file goes in a "botfiles" folder. Both folders with their files are added to the skin .pk3.
The .bot file gives the bot it's name, "funname" (the name it uses in the game, can have spaces and colored letters), and the hilt(s) and saber color(s). The .jkb file gives the bot it's personality: how quickly it reacts and moves, it's accuracy (marksmanship), force power configuration, weapon preferences, chat lines, etc.
You can use a program like Bot Maker (
http://www.perkwerx.com/DDS/downloads.htm) to help you generate these files, or you can modify existing files. For instance, here is a Maul.bot file. Notice that you can have more than one bot if your skin file has team color variations (Red and Blue) as of course it should so it will work in Team FFA and CTF:
{
name "Maul"
funname "^1Darth Maul"
model Maul
color1 0
color2 0
saber1 "dual_3"
saber2 "none"
personality /botfiles/Maul.jkb
}
{
name "Ashtar"
funname "^1Ashtar"
model Maul/red
color1 0
color2 0
saber1 "dual_3"
saber2 "none"
personality /botfiles/Maul.jkb
}
{
name "DarthCaeruleus"
funname "^4Darth Caeruleus"
model Maul/blue
color1 0
color2 0
saber1 "dual_3"
saber2 "none"
personality /botfiles/Caeruleus.jkb
}
This forum removes tabs\spaces between things, there should be tabs between each variable and its value. Also notice that bots can share the same personality file or have individual personality files.
Here is a sample .jkb personality file:
//Maul personality
//Do not let this file exceed 131072 bytes.
//Do not let any group exceed 8192 bytes.
//Do not let the chat section exceed 8192 bytes.
//Some values are base values and changed by the in-game skill.
//The formula for reflex and accuracy is basevalue/skill.
//So if you give a base reflex of 500ms, a nightmare bot will have a reaction time of
//100ms.
//Other values, like turnspeed_combat (higher == faster), are multiplied by the skill
//number.
//Note also that depending on if the bot and the enemy are moving at the same time,
//the degrees the bot aims off by can be greater than the maximum accuracy value.
//So if the bot and its enemy are both flying through the air and accuracy is at 20,
//the bot could easily aim off by 25 degrees instead.
//That is, unless perfectaim is 1.
//In this case the bot will aim perfectly at all times (as the name indicates).
GeneralBotInfo
{
reflex 500
//base reflex value, time in ms it takes the bot to react
accuracy 5
//base accuracy, number of degrees bot can aim off by. Lower value == better aim.
turnspeed 0.10
turnspeed_combat 0.30
maxturn 360
perfectaim 0
chatability 1
chatfrequency 3
hatelevel 5
camper 0
saberspecialist 1
//if 1, bot will not run just because it's forced to use a saber
//don't exceed 20 force points total
forceinfo 7-2-022330202000131330
//rank-side (1==light side 2==dark side)-//heal.lev.speed.push.pull.tele.grip.lightning.rage. protect.absorb.teamheal.teamforce.
//drain.see.saberattack.saberdefend.saberthrow
}
//Weapons with a weight of 0 will be used in special cases outside of combat
BotWeaponWeights
{
WP_STUN_BATON 8
WP_SABER 16
WP_BRYAR_PISTOL 10
WP_BLASTER 11
WP_DISRUPTOR 18
WP_BOWCASTER 12
WP_REPEATER 17
WP_DEMP2 9
WP_FLECHETTE 15
WP_ROCKET_LAUNCHER 14
WP_THERMAL 13
WP_TRIP_MINE 0
WP_DET_PACK 0
}
// Maul has no emotional attachments.
EmotionalAttachment
{
}
//all groups below here will be read in as chat sections
BEGIN_CHAT_GROUPS
Died
{
Darkness is my only savior!
}
Killed
{
Fear is my ally...
My Master will be pleased.
At last we will reveal ourselves to the Jedi.
}
Hatred
{
Enter the will of the Sith!
Now we may rest in darkness.
}
BelovedKilled
{
Do you think that killing %s will matter to me? %s was we weak
}
KilledHatedOne
{
GRRRR!!!
}
KilledOnPurposeByLove
{
}
GeneralGreetings
{
At last we will reveal ourselves to the Jedi.
At last we will have revenge.
}
ResponseGreetings
{
This has just begun!
}
OrderAccepted
{
As you wish, my master.
Yes, my master.
}
Again, this forum removes the tabs between things. Extract some real .jkb files from your assets1.pk3 file to see what real ones look like.