News
Introduction
Purpose
User Submissions
Strategy Forums
Other Guides


 


 

Submit Strategies
Contact Staff

>Switch to Jedi Academy<

 

CTF Advanced

This page is intended for those who have already mastered the basics of CTF, and are ready for more complex tactics and strategies. This information has been submitted or obtained from community sources.


Sometimes the best way to learn is to observe...

This is a demo recording of a CTF match between two clans, khz (red) and [HEL] (blue).

It is rather large, and covers pretty much the entire game (to 11 captures).

(The file is from October 19, 2002 and was recorded by khz.chr0nicbl@Ze. Tested with 1.04. Aprox 6.4 mb in size).

Capture the Flag

Pure Server

Hosted by www.hel-guild.com

Time Limit: 20

Force Level: Jedi Master

Map: Warring Factions

Place the demo file in your /base/demos/ folder and run from the in-game menu.

Unfortunately, the person recording it appears to have suffered some framerate problems (as far as I can tell its not just me), so the view is a bit choppy, but it is still perfectly watchable.

It is worth watching (though long), to note the various tactics employed by the Red team.

Keep in mind that these tactics are not necessarily the best for all situations. Every team is different and every enemy is different. What works once may not ever work again (luck). However, when you win a game, you should ask yourself why this happened, it may help you learn from the experience.

By the same token, when you lose, you should examine what went wrong, and how you could have fixed it. Everybody has a "bad day" now and then, but each time you play, you should come away with something you can use in the future to improve play. Things don't always go as planned, and even a great player cannot always save his team from defeat if the dynamic is off.


This demo was recorded from the perspective of one player, on one team, but we can see things happening and how the big picture fits together. See what you can learn from watching it.

Things to watch for in the demo:

  • chr0nicbl@Ze acts as a Flag Carrier primarily
  • He commits suicide to respawn from falling death faster (/kill command bound to key)
  • He uses Jump+Speed to make shortcuts across the map
  • He uses the "roll" move often (perhaps even excessively) but he gets where he wants to go most of the time.
  • He sticks to Neutral Force. I don't know his setup, but he saves all his mana for the powers that allow him to manuver to his destination the fastest. He doesn't waste much time fighting enemies.
  • His teammates use Team Energize and Team Heal on him as he gets close to base.
  • His teammates utilize Chat Bindings (/say_team) to keep each other updated on enemy movements at all times

Here is a sample of some Team chat bindings that you may find useful, taken from the Strategy Forums (you can copy and paste these into your own cfg text files and modify to your liking):
DeTRiTiC-iQ says:

These are the scripts I made for my clan.

First I bind some keys for changing "modes" or config files quickly:

bind HOME "exec carrier.cfg"
bind PGUP "exec attack.cfg"
bind INS "exec defense.cfg"
bind KP_ENTER "Kill"
bind KP_INS "say_team ^3TEAM MESSAGE ^7>> ^2MESSAGE RECEIVED, MOVING INTO POSITION"

So when I'm a flag-carrier I press HOME, when I'm on attack or recovery I press Page-Up and when I'm on defense I press Insert. Notice I've also included my two generic CTF commands, this allows me to respond quickly and/or respawn back to base to for defense.

Next we have the contents of each file. First carrier.cfg:

unbind KP_STAR
unbind KP_MINUS
unbind KP_HOME
unbind KP_UPARROW
unbind KP_PGUP
unbind KP_LEFTARROW
unbind KP_5
unbind KP_RIGHTARROW
unbind KP_END
unbind KP_DOWNARROW
unbind KP_PGDN
unbind KP_PLUS
unbind KP_DEL
bind KP_SLASH "say_team ^3TEAM MESSAGE ^7>> ^5 I NEED URGENT COVER"
bind KP_STAR "say_team ^3TEAM MESSAGE ^7>> ^1 I NEED URGENT HEALING"
bind KP_MINUS "say_team ^3TEAM MESSAGE ^7>> ^2 I NEED AN URGENT MANA BOOST"
bind KP_HOME "say_team ^3TEAM MESSAGE ^7>> The ^2FRIENDLY FLAG CARRIER^7 is in ^1ENEMY LEFT ROUTE"
bind KP_UPARROW "say_team ^3TEAM MESSAGE ^7>> The ^2FRIENDLY FLAG CARRIER^7 is in ^1ENEMY BASE"
bind KP_PGUP "say_team ^3TEAM MESSAGE ^7>> The ^2FRIENDLY FLAG CARRIER^7 is in ^1ENEMY RIGHT ROUTE"
bind KP_LEFTARROW "say_team ^3TEAM MESSAGE ^7>> The ^2FRIENDLY FLAG CARRIER^7 is in ^5UPPER ROUTE"
bind KP_5 "say_team ^3TEAM MESSAGE ^7>> The ^2FRIENDLY FLAG CARRIER^7 is in ^5MIDDLE AREA"
bind KP_RIGHTARROW "say_team ^3TEAM MESSAGE ^7>> The ^2FRIENDLY FLAG CARRIER^7 is in ^5LOWER ROUTE"
bind KP_END "say_team ^3TEAM MESSAGE ^7>> The ^2FRIENDLY FLAG CARRIER^7 is in ^2HOME LEFT ROUTE"
bind KP_DOWNARROW "say_team ^3TEAM MESSAGE ^7>> The ^2FRIENDLY FLAG CARRIER^7 is in ^2HOME BASE"
bind KP_PGDN "say_team ^3TEAM MESSAGE ^7>> The ^2FRIENDLY FLAG CARRIER^7 is in ^2HOME RIGHT ROUTE"
bind KP_DEL "say_team ^3TEAM MESSAGE ^7>> I am now ^5CARRYING THE FLAG"
bind KP_PLUS "say_team ^3TEAM MESSAGE ^7>> ^2I AM ABOUT TO ENTER OUR BASE WITH THE FLAG"

 

Next we have defense.cfg, you use this whenever you are defending the BASE only, I've put recovery stuff in with the attack script.

unbind KP_SLASH
unbind KP_STAR
unbind KP_MINUS
unbind KP_HOME
unbind KP_UPARROW
unbind KP_PGUP
unbind KP_LEFTARROW
unbind KP_5
unbind KP_RIGHTARROW
unbind KP_END
unbind KP_DOWNARROW
unbind KP_PGDN
unbind KP_PLUS
unbind KP_DEL
bind KP_SLASH "say_team ^3TEAM MESSAGE ^7>> MORE PLAYERS NEEDED ON DEFENSE"
bind KP_STAR "say_team ^3TEAM MESSAGE ^7>> ENEMY PLAYERS ARE IN OUR BASE: ^1USE FORCE SEEING"
bind KP_MINUS "say_team ^3TEAM MESSAGE ^7>> ^1OUR BASE IS OVERRUN BY THE ENEMY: HELP NEEDED"
bind KP_UPARROW "say_team ^3TEAM MESSAGE ^7>> INCOMING ENEMY FORCES FROM THE ^2TOP ROUTE"
bind KP_LEFTARROW "say_team ^3TEAM MESSAGE ^7>> INCOMING ENEMY FORCES FROM THE ^2LEFT ROUTE"
bind KP_5 "say_team ^3TEAM MESSAGE ^7>> INCOMING ENEMY FORCES FROM THE ^2MIDDLE ROUTE"
bind KP_RIGHTARROW "say_team ^3TEAM MESSAGE ^7>> INCOMING ENEMY FORCES FROM THE ^2RIGHT ROUTE"
bind KP_DOWNARROW "say_team ^3TEAM MESSAGE ^7>> INCOMING ENEMY FORCES FROM THE ^2BOTTOM ROUTE"
bind KP_DEL "say_team ^3TEAM MESSAGE ^7>> I am now playing on ^5DEFENSE"
bind KP_PLUS "say_team ^3TEAM MESSAGE ^7>> ^1THE ENEMY CARRIER HAS ESCAPED THE BASE, GIVE CHASE IMMEDIATELY"

Finally we have attack.cfg, used if you are either running to get the flag or recovering your own flag:

unbind KP_SLASH
unbind KP_STAR
unbind KP_MINUS
unbind KP_HOME
unbind KP_UPARROW
unbind KP_PGUP
unbind KP_LEFTARROW
unbind KP_5
unbind KP_RIGHTARROW
unbind KP_END
unbind KP_DOWNARROW
unbind KP_PGDN
unbind KP_PLUS
unbind KP_DEL
bind KP_SLASH "say_team ^3TEAM MESSAGE ^7>> ^5 I NEED MORE PLAYERS ON ATTACK"
bind KP_STAR "say_team ^3TEAM MESSAGE ^7>> ^1 I NEED HELP PENETRATING ENEMY DEFENSE"
bind KP_MINUS "say_team ^3TEAM MESSAGE ^7>> ^2 I WILL PROVIDE COVER FIRE, SOMEONE ELSE GO FOR THE FLAG"
bind KP_HOME "say_team ^3TEAM MESSAGE ^7>> The ^1ENEMY FLAG CARRIER^7 is in ^1ENEMY LEFT ROUTE"
bind KP_UPARROW "say_team ^3TEAM MESSAGE ^7>> The ^1ENEMY FLAG CARRIER^7 is in ^1ENEMY BASE"
bind KP_PGUP "say_team ^3TEAM MESSAGE ^7>> The ^1ENEMY FLAG CARRIER^7 is in ^1ENEMY RIGHT ROUTE"
bind KP_LEFTARROW "say_team ^3TEAM MESSAGE ^7>> The ^1ENEMY FLAG CARRIER^7 is in ^5UPPER ROUTE"
bind KP_5 "say_team ^3TEAM MESSAGE ^7>> The ^1ENEMY FLAG CARRIER^7 is in ^5MIDDLE AREA"
bind KP_RIGHTARROW "say_team ^3TEAM MESSAGE ^7>> The ^1ENEMY FLAG CARRIER^7 is in ^5LOWER ROUTE"
bind KP_END "say_team ^3TEAM MESSAGE ^7>> The ^1ENEMY FLAG CARRIER^7 is in ^2HOME LEFT ROUTE"
bind KP_DOWNARROW "say_team ^3TEAM MESSAGE ^7>> The ^1ENEMY FLAG CARRIER^7 is in ^2HOME BASE"
bind KP_PGDN "say_team ^3TEAM MESSAGE ^7>> The ^1ENEMY FLAG CARRIER^7 is in ^2HOME RIGHT ROUTE"
bind KP_DEL "say_team ^3TEAM MESSAGE ^7>> I am now playing on ^5ATTACK/RECOVERY"
bind KP_PLUS "say_team ^3TEAM MESSAGE ^7>> ^1THE ENEMY TEAM ARE ABOUT TO SCORE, GET THEIR FLAG FAST"


Notice that pressing the Delete key on the numpad will notify your team of which mode you are currently in. The numbered keys on the numpad are for locational/directional information. The keys at the top/right of the numpad are for mode-specific commands.

These scripts are constantly evolving, stuff that doesn't get used much gets replaced with more effective commands etc. The current bit under review is the definition of ENEMY LEFT ROUTE/RIGHT ROUTE etc, since its often confusing as to which point-of-view these represent. As it stands, think of a birds-eye view of the level with home base at the bottom, and enemy base at the top. The numbered keys then represent positions on the birds-eye view.


Sith Maximus says:

I use this in all of my Quake 3 based games. It's great for RTCW as well, just replace the word flag with "objective". It uses the keypad keys. Home starts the script and then just follow the onscreen echo directions from there. This script is nice because you can change from attacking to defending orders very quickly without exec another cfg file and its small enough to be in a single cfg.

////////////////////////////Text Colors
// ^0 = Black
// ^1 = Red
// ^2 = Green
// ^3 = Yellow
// ^4 = Blue
// ^5 = Cyan
// ^6 = Magenta
// ^7 = White

//LINE-1//Press KP7 to start script
set start-reset "vstr start-text; vstr start-keys"
bind KP_HOME "vstr start-reset"

//LINE-2//Start script text
set start-text "echo [^1PRESS ^6KP8 ^1TO ^1CANCEL : ^1PRESS ^6KP9 ^1FOR ^6DEFENCE; echo ^1PRESS ^6KP4 ^1FOR ^6OFFENCE : ^1PRESS ^6KP5 ^1FOR ^6INCOMING; echo ^1PRESS ^6KP6 ^1FOR ^6NEEDS^7]"

//LINE-3//Start keys
set start-keys "bind KP_UPARROW vstr cancel; bind KP_PGUP vstr talk-a0; bind KP_LEFTARROW vstr talk-b0; bind KP_5 vstr talk-c0; bind KP_RIGHTARROW vstr talk-d0"

//Cancel
set cancel "echo [^6ORDERS ^6TEXT ^6RESET^7]; vstr start-text; vstr start-keys"

//Repeat orders text
set repeat-1 "vstr orders-text-1"
set repeat-2 "vstr orders-text-2"
set repeat-3 "vstr orders-text-3"
set repeat-4 "vstr orders-text-4"

//LINE-4//Echo orders text
set orders-text-1 "echo [^6KP8^3=^1CANCEL ^6KP9^3=^1ON ^1DEFENSE ^6KP4^3=^1GUARDING ^1OBJECTIVE; echo ^6KP5^3=^1QBJECTIVE ^1SAFE ^6^6KP6^3=^1PURSUING ^1ENEMY; echo ^6KP1^3=^1RETURNING OBJECTIVE^7]"
set orders-text-2 "echo [^6KP8^3=^1CANCEL ^6KP9^3=^1OBJECTIVE ^6KP4^3=^1ATTACKING; echo ^6KP5^3=^1THROUGH ^1DEFENCES ^KP6^3V=^1OBJ ^1IN ^1SIGHT; echo ^6KP1^3=OBJECTIVE ^1RETRIEVED^7]"
set orders-text-3 "echo [^6KP8^3=^1CANCEL ^6KP9^3=^1LEFT ^6KP4^3=^1RIGHT; echo ^6KP5^3=^1ABOVE ^6KP6^3=^1BELOW ^6KP1^3=^1FLANK^7]"
set orders-text-4 "echo [^6KP8^3=^1CANCEL ^6KP9^3=^1HELP ^6KP4^3=^1AMMO ^6KP5^3=^1COVER; echo ^6KP6^3=^1ENEMY ^1HAS ^1OBJECTIVE; echo ^6KP1^3=^1OBJECTIVE ^1UNDER ^1ATTACK^7]"

//LINE-5//Defence
set talk-a0 "bind KP_UPARROW vstr cancel; bind KP_PGUP vstr repeat-1; bind KP_LEFTARROW vstr talk-a-a; bind KP_5 vstr talk-a-b; bind KP_RIGHTARROW vstr talk-a-c; bind KP_END vstr talk-a-d; bind KP_DOWNARROW vstr talk-a-e; vstr orders-text-1"
set talk-a-a "say_team ^6<<--^1ON ^1DEFENCE!"
set talk-a-b "say_team ^6<<--^1GUARDING ^1FLAG!"
set talk-a-c "say_team ^6<<--^1OBJECTIVE ^1SAFE!"
set talk-a-d "say_team ^6<<--^1PURSUING ^1ENEMY ^1FLAG ^1CARRIER!"
set talk-a-e "say_team ^6<<--^1RETURNING ^1TO ^1GUARD ^1FLAG!"

//LINE-6//Offence
set talk-b0 "bind KP_UPARROW vstr cancel; bind KP_PGUP vstr repeat-2; bind KP_LEFTARROW vstr talk-b-a; bind KP_5 vstr talk-b-b; bind KP_RIGHTARROW vstr talk-b-c; bind KP_END vstr talk-b-d; bind bind KP_DOWNARROW vstr talk-b-e; vstr orders-text-2"
set talk-b-a "say_team ^6<<--^1GOING ^1FOR ^1FLAG!"
set talk-b-b "say_team ^6<<--^1ATTACKING ^1ENEMY!"
set talk-b-c "say_team ^6<<--^1THROUGH ^1ENEMY ^1DEFENCES!"
set talk-b-d "say_team ^6<<--^1FLAG ^1IN ^1SIGHT!"
set talk-b-e "say_team ^6<<--^1FLAG ^1STOLEN!"

//LINE-7//Incoming
set talk-c0 "bind KP_UPARROW vstr cancel; bind KP_PGUP vstr repeat-3; bind KP_LEFTARROW vstr talk-c-a; bind KP_5 vstr talk-c-b; bind KP_RIGHTARROW vstr talk-c-c; bind KP_END vstr talk-c-d; bind bind KP_DOWNARROW vstr talk-c-e; vstr orders-text-3"
set talk-c-a "say_team ^6<<--^1INCOMING ^1ENEMY ^1LEFT!"
set talk-c-b "say_team ^6<<--^1INCOMING ^1ENEMY ^1RIGHT"
set talk-c-c "say_team ^6<<--^1INCOMING ^1ENEMY ^1ABOVE"
set talk-c-d "say_team ^6<<--^1INCOMING ^1ENEMY ^1BELOW!"
set talk-c-e "say_team ^6<<--^1INCOMING ^1ENEMY ^1AT ^1FLANK!"

//LINE-8//Need
set talk-d0 "bind KP_UPARROW VSTR CANCEL; BIND KP_PGUP vstr repeat-4; bind KP_LEFTARROW vstr talk-d-a; bind KP_5 vstr talk-d-b; bind KP_RIGHTARROW vstr talk-d-c; bind KP_END vstr talk-d-d; bind bind KP_DOWNARROW vstr talk-d-e; vstr orders-text-4"
set talk-d-a "say_team ^6<<--^1UNDER ^1ATTACK ^1NEED ^1HELP!"
set talk-d-b "say_team ^6<<--^1NEED ^1AMMUNITION!"
set talk-d-c "say_team ^6<<--^1HAVE ^1FLAG...^1COVER ^1ME ^6NOW!"
set talk-d-d "say_team ^6<<--^1ENEMY ^1HAS ^1FLAG...^1NEED ^1ASSISTANCE!"
set talk-d-e "say_team ^6<<--^1DEFEND ^1THE ^1FLAG!"