Note: This is going to be a way of getting bots to work with custom/changeable TF2 CP/PL/PLR maps,
SCRIPTS are RCS files and go into the WAYPOINTS folder.
This is an example of a working CP Script with the latest SVN for CP_Dustbowl


CODE


#
# RCBot2 Script DUSTBOWL CP
#
#
:setup_time:60
:on_reset:
blue_attack:1
blue_defend:0
red_attack:0
red_defend:1
areas:1,2,8
#
# STAGE ONE
# CAP ONE
:on_blue_cap:#Dustbowl_cap_1_A
red_attack:0
red_defend:2
blue_attack:2
blue_defend:0
areas:1,2,9
:on_blue_cap:#Dustbowl_cap_1_B
red_attack:0
red_defend:3
blue_attack:3
blue_defend:0
areas:3,4,10
#
# STAGE TWO
#
:on_blue_cap:#Dustbowl_cap_2_A
red_attack:0
red_defend:4
blue_attack:4
blue_defend:0
areas:3,4,11
:on_blue_cap:#Dustbowl_cap_2_B
red_attack:0
red_defend:5
blue_attack:5
blue_defend:0
areas:5,6,7
#
# STAGE THREE
#
:on_blue_cap:#Dustbowl_cap_3_A
red_attack:0
red_defend:6
blue_attack:6
blue_defend:0
areas:5,6



The numbers represent the "Waypoint areas", The most important are the red_attack/blue_attack/blue_defend/red_Defend as these denote the capture point waypoint areas, there should be waypoints with "capture point" type and area number related to the number in this script.

:setup_time:<time>

is the GLOBAL setup time in seconds at the moment, this may be changed to per point.

:on_reset:

is a global flag state which happens when a round completely restarts (.e.g first dustbowl cap/new cp_badlands round)


:on_blue_cap:<Cap name>

is what happens when BLUE captures the point with <cap name> (look at these later)


:on_red_cap:<Cap name>

is what happens when RED captures the point with <cap name> (look at these later)


To define what happens when a point is captured I use these


red_attack:<waypoint area>
blue_attack<waypoint area>
red_defend:<waypoint area>
blue_defend:<waypoint area>

The bots will go to these waypoint capture areas with the appropriate Defend/Attack style depending on which team they are, the names are self explanatory

Cap names

You can get these by putting "rcbot debug gameevent 1" on and playing on a team, go to a capture point and capture it. Eventually the "point captured" event will happen and it will have a "cpname", this is the capture point name.

For example:

On well there are
#Well_cap_blue_two = 0
#Well_cap_blue_rocket = 1
#Well_cap_center = 2
#Well_cap_red_two = 3
#Well_cap_red_rocket = 4

Perhaps someone could make up a script for this biggrin.gifand the rest . . . As I'm going to scrap the old method.

areas
is unused at the moment but will be eventually used to determine what waypoints are valid when a point is captured, for example some waypoints may be unreachable after CP_dustbowl stage 1, 2 etc . . . All flagged waypoints should have an area related to the " reachability " of it . . .
e.g. If I want a sentry waypoint on CP_Dustbowl on stage 1 I will give it an area of 1 or 2.
If I want it on stage 2 I will give it area 3 or 4, (See the script above)

Area 0
Waypoints with area of "0" are generally accessible, or ignored.

for example: blue_attack:0 (or red_attack:0) , will mean the team has no attack areas at this time.