![]() |
![]() |
Cheeseh |
![]() ![]()
Post
#1
|
![]() Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 ![]() |
Note: This is going to be a way of getting bots to work with custom/changeable TF2 CP/PL/PLR maps,
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 ![]() areas is 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. |
![]() ![]() |
MarD |
![]()
Post
#2
|
![]() RCBot Fan ![]() ![]() ![]() ![]() Group: Waypointers Posts: 139 Joined: 30-September 04 From: Canada EH? Member No.: 419 ![]() |
Heyyo,
One thing I realized is atm the script might not be setup to work with cp_granary. Essentially for cp_granary the third point only opens after point 1 and 2 are captured.. so can you define multiple capture points? example of what cp_gravelpit would have to look like: CODE # # RCBot2 Script Gravelpit CP # # :setup_time:60 :on_reset: blue_attack:1 red_defend:1 blue_attack:2 red_defend:2 areas:1,2,3 :on_blue_cap:#Gravelpit_cap_A,#Gravelpit_cap_B red_defend:3 blue_attack:3 areas:1,2,3 |
Cheeseh |
![]()
Post
#3
|
![]() Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 ![]() |
Heyyo, One thing I realized is atm the script might not be setup to work with cp_granary. Essentially for cp_granary the third point only opens after point 1 and 2 are captured.. so can you define multiple capture points? example of what cp_gravelpit would have to look like: CODE # # RCBot2 Script Gravelpit CP # # :setup_time:60 :on_reset: blue_attack:1 red_defend:1 blue_attack:2 red_defend:2 areas:1,2,3 :on_blue_cap:#Gravelpit_cap_A,#Gravelpit_cap_B red_defend:3 blue_attack:3 areas:1,2,3 Yeah I know of this problem, it will require a change to scripting. (Scripts actually support additional CPS however it is not currently implemented... in the future you could do this blue_attack:1,2 etc.. but at the moment it will not be used and you just need to focus on one CP at a time... unfortunately.) |
Fillmore |
![]()
Post
#4
|
![]() RCBot Guru ![]() ![]() ![]() ![]() ![]() Group: Waypointers Posts: 447 Joined: 1-April 09 Member No.: 1,511 ![]() |
Yeah I know of this problem, it will require a change to scripting. (Scripts actually support additional CPS however it is not currently implemented... in the future you could do this blue_attack:1,2 etc.. but at the moment it will not be used and you just need to focus on one CP at a time... unfortunately.) Does PL scripting work/will it be added in a update? Seeing MarD's goldrush script made me wonder about it. And it will make RED win PL maps a little easier. Before PL update:RED always wins. After PL update:BLU always wins. with PL update,i mean shadow's PL addon that makes the bots push the kart. |
![]() ![]() |
![]() |
Lo-Fi Version | Time is now: 25th June 2025 - 12:05 PM |