Jump to content

Home

Bots (how to make/edit your own!)


C-Frank

Recommended Posts

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 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.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...