Skip to main content

Overview

The map configuration system provides instant smoke lineups for all competitive maps, practice mode tools, and an intuitive radio wheel interface for quick access to grenades.

File Location

csafap/maps/

Supported Maps

The config package includes full smoke lineup support for:
  • Ancient
  • Anubis
  • Dust2
  • Inferno
  • Mirage (with spawn-specific lineups)
  • Nuke
  • Overpass
  • Thera
  • Train
  • Vertigo

Map Structure

Each map follows a consistent directory structure:
csafap/maps/[mapname]/
├── [mapname].cfg              # Main map configuration
├── [mapname]_T_cmd.cfg        # T-side smoke commands
├── [mapname]_T_labels.cfg     # T-side smoke labels
├── [mapname]_CT_cmd.cfg       # CT-side smoke commands
├── [mapname]_CT_labels.cfg    # CT-side smoke labels
└── wheel_curr_map.cfg         # Current map wheel config

Dust2 Configuration Example

csafap/maps/dust2/dust2.cfg
file
Complete Dust2 smoke lineup configuration.Main Configuration:
alias map_CT_labels "exec csafap/maps/dust2/dust2_CT_labels"
alias map_CT_cmd "m_yaw 0.022; exec csafap/maps/dust2/dust2_CT_cmd"

alias map_T_labels "exec csafap/maps/dust2/dust2_T_labels"
alias map_T_cmd "m_yaw 0.022; exec csafap/maps/dust2/dust2_T_cmd"

alias wheel_curr_map "exec csafap/maps/dust2/wheel_curr_map"

Smoke Lineup System

T-Side Smokes (Dust2)

Instant Mid Doors
smoke lineup
Multiple spawn-based lineups for mid doors smoke.Spawn Positions:
alias d2_spawn_T_1 "setpos_exact -1181 -754 120.181259"
alias d2_spawn_T_2 "setpos_exact -1141 -808 116.685989"
alias d2_spawn_T_3 "setpos_exact -1076 -843 116.789474"
alias d2_spawn_T_12 "setpos_exact -493 -808 108.563377"
alias d2_spawn_T_13 "setpos_exact -428 -843 95.296295"
alias d2_spawn_T_14 "setpos_exact -367 -808 83.744965"
alias d2_spawn_T_15 "setpos_exact -332 -754 78.877106"
Lineup Angles (Spawn 1):
alias d2_smoke_1_x "yaw -3265.04968 1 1"
alias d2_smoke_1_y "pitch 2617.45905 1 1"
Lineup Angles (Spawn 2):
alias d2_smoke_2_x "yaw -3379.20309 1 1"
alias d2_smoke_2_y "pitch 2147.7545 1 1"
Instant B Doors
smoke lineup
Quick B doors smoke from T spawn.
alias d2_smoke_B_x "yaw -4283 1 1"
alias d2_smoke_B_y "pitch 2970.95586 1 1"

CT-Side Smokes (Dust2)

Fast Long House
smoke lineup
Quick long house smoke from CT spawn.Version 1:
// From: setpos 769.708923 2379.968262 -35.420898
// Angles: setang -52.806522 -91.647049 0
alias d2_smoke_CT_1_x "yaw 4165.77495 1 1"
alias d2_smoke_CT_1_y "pitch 1645.1581 1 1"
Version 2:
// From: setpos 732.148621 2344.968750 -47.171936
// Angles: setang -53.745754 -90.521515 0
alias d2_smoke_CT_2_x "yaw 4114.61432 1 1"
alias d2_smoke_CT_2_y "pitch 1602.46573 1 1"
Upper Tunnels
smoke lineup
CT upper tunnels smoke.
// Angles: setang -70.486359 -141.103409 0
alias d2_smoke_CT_3_x "yaw 6413.79132 1 1"
alias d2_smoke_CT_3_y "pitch 841.52914 1 1"

Radio Wheel Integration

T-Side Wheel Commands

dust2_T_cmd.cfg
file
T-side smoke commands activated via radio wheel.
// Secondary wheel (main smokes)
cl_radial_radio_tab_1_text_1 cmd";fAC;d2_smoke_12_x;d2_smoke_12_y;d2_spawn_T_12;
cl_radial_radio_tab_1_text_2 cmd";fAC;d2_smoke_13_x;d2_smoke_13_y;d2_spawn_T_13;
cl_radial_radio_tab_1_text_3 cmd";fAC;d2_smoke_14_x;d2_smoke_14_y;d2_spawn_T_14;
cl_radial_radio_tab_1_text_4 cmd";fAC;d2_smoke_15_x;d2_smoke_15_y;d2_spawn_T_15;
cl_radial_radio_tab_1_text_5 cmd";fAC;d2_smoke_B_x;d2_smoke_B_y;
cl_radial_radio_tab_1_text_6 cmd";fAC;d2_smoke_1_x;d2_smoke_1_y;d2_spawn_T_1;
cl_radial_radio_tab_1_text_7 cmd";fAC;d2_smoke_2_x;d2_smoke_2_y;d2_spawn_T_2;
cl_radial_radio_tab_1_text_8 cmd";fAC;d2_smoke_3_x;d2_smoke_3_y;d2_spawn_T_3;

CT-Side Wheel Commands

dust2_CT_cmd.cfg
file
CT-side smoke commands activated via radio wheel.
// Secondary wheel
cl_radial_radio_tab_1_text_1 cmd";fAC;d2_smoke_CT_1_x;d2_smoke_CT_1_y;
cl_radial_radio_tab_1_text_2 cmd";fAC;d2_smoke_CT_2_x;d2_smoke_CT_2_y;
cl_radial_radio_tab_1_text_5 cmd";fAC;d2_smoke_CT_3_x;d2_smoke_CT_3_y;

Map Selection System

csafap/maps/map_cmd.cfg
file
Radio wheel-based map selection interface.Primary Wheel:
cl_radial_radio_tab_0_text_1 cmd";exec csafap/maps/vertigo/vertigo;
cl_radial_radio_tab_0_text_2 cmd";exec csafap/maps/thera/thera;
cl_radial_radio_tab_0_text_8 cmd";exec csafap/maps/train/train;
Secondary Wheel:
cl_radial_radio_tab_1_text_1 cmd";exec csafap/maps/anubis/anubis;
cl_radial_radio_tab_1_text_2 cmd";exec csafap/maps/overpass/overpass;
cl_radial_radio_tab_1_text_3 cmd";exec csafap/maps/inferno/inferno;
cl_radial_radio_tab_1_text_4 cmd";exec csafap/maps/mirage/mirage;
cl_radial_radio_tab_1_text_5 cmd";load_practice_mode;
cl_radial_radio_tab_1_text_6 cmd";exec csafap/maps/dust2/dust2;
cl_radial_radio_tab_1_text_7 cmd";exec csafap/maps/nuke/nuke;
cl_radial_radio_tab_1_text_8 cmd";exec csafap/maps/ancient/ancient;

Practice Mode

load_practice_mode
alias
Activates practice mode with map selection.
alias load_practice_mode "exec csafap/practice_mode/prac; 
  alias wheel_curr_map ''; choose_map"
choose_map
alias
Manual map selection interface.
alias choose_map "reset_deadzone; pracmap_hotkey; 
  exec csafap/practice_mode/selectmap_labels; +radialradio2"
choose_side
alias
Side selection for practice mode.
alias choose_side "reset_deadzone; 
  exec csafap/practice_mode/selectside"

Side Configuration

prac_ct
alias
Practice mode CT-side configuration.
alias prac_ct "alias guide_load guide_load_CT; 
  alias guide_switch_side guide_load_T; 
  alias guide_on_cmd guide_CT_cmd; 
  alias guide_side_labels guide_CT_labels; 
  alias guide_switch_labels guide_T_labels"
prac_t
alias
Practice mode T-side configuration.
alias prac_t "alias guide_load guide_load_T; 
  alias guide_switch_side guide_load_CT; 
  alias guide_on_cmd guide_T_cmd; 
  alias guide_side_labels guide_T_labels; 
  alias guide_switch_labels guide_CT_labels"

Wheel Hotkey System

T-Side Wheel

alias +T_wheel_1 "reset_deadzone; exec csafap/maps/T_labels; 
  setup_wheel; map_T_labels"
alias -T_wheel_1 "slot8; zero_lr; +radialradio2; T_hotkey2"
alias +T_wheel_2 "map_T_cmd"
alias -T_wheel_2 "-radialradio2; T_hotkey1; sens_reset; 
  map_T_labels; resetradio"
Actions:
  • +T_wheel_1: Resets deadzone, loads labels, sets up wheel
  • -T_wheel_1: Equips smoke, zeros vertically, opens radio wheel
  • +T_wheel_2: Loads command tiles
  • -T_wheel_2: Closes wheel, resets sensitivity, restores labels

CT-Side Wheel

Similar structure to T-side but with CT-specific lineups.

Auto-Lineup Technology

Lineup Command Structure

fAC
alias
FACEIT Anti-Cheat compatible lineup execution.Executes angle + position commands in sequence:
cmd";fAC;d2_smoke_1_x;d2_smoke_1_y;d2_spawn_T_1;
This runs:
  1. fAC - FACEIT compatibility layer
  2. d2_smoke_1_x - Sets yaw angle
  3. d2_smoke_1_y - Sets pitch angle
  4. d2_spawn_T_1 - Teleports to position

Angle System

yaw
command
Sets horizontal view angle.
yaw -3265.04968 1 1
Parameters: yaw [angle] [flag1] [flag2]
pitch
command
Sets vertical view angle.
pitch 2617.45905 1 1
Parameters: pitch [angle] [flag1] [flag2]

Position System

setpos_exact
command
Teleports to exact coordinates.
setpos_exact -1181 -754 120.181259
Parameters: setpos_exact [x] [y] [z]

Sensitivity Management

reset_deadzone
alias
Resets mouse deadzone for precise lineup angles.
zero_lr
alias
Zeros left-right mouse movement during lineup.
sens_reset
alias
Restores normal sensitivity after lineup.Calls resetsens defined in MAIN.cfg.

Mirage Spawn-Specific System

Mirage includes spawn-specific lineup variations:
csafap/maps/mirage/
├── mirage_labels_spawn1.cfg
├── mirage_labels_spawn2.cfg
├── mirage_labels_spawn3.cfg
├── mirage_labels_spawn4.cfg
├── mirage_labels_spawn5.cfg
├── mirage_cmd_spawn1.cfg
├── mirage_cmd_spawn2.cfg
├── mirage_cmd_spawn3.cfg
├── mirage_cmd_spawn4.cfg
└── mirage_cmd_spawn5.cfg
Different spawn positions require different angles for instant smokes.

Radio Wheel Reset

csafap/maps/resetradio.cfg
file
Resets all radio wheel tiles to default state.Clears custom commands from all 24 radio tiles (3 wheels × 8 tiles).

Setup Wheel System

csafap/maps/setup_wheel.cfg
file
Configures the radio wheel interface for smoke lineups.Prepares the wheel system for displaying map-specific smokes.

Auto-Select Side

csafap/maps/auto_selectside.cfg
file
Automatically detects current team and loads appropriate lineups.Switches between T and CT smoke configurations based on team.

Usage Examples

Example 1: Select Dust2 Map

In console or via keybind (M key by default):
// Press M to open map wheel
// Select Dust2 from the wheel
// Automatically loads dust2.cfg

Example 2: T-Side Dust2 Mid Smoke

// 1. Load Dust2 map config
exec csafap/maps/dust2/dust2

// 2. Press J (T-side smoke key)
// 3. Select your spawn position from wheel
// 4. Auto-lineup executes
// 5. Throw smoke grenade

Example 3: CT-Side Long House Smoke

// 1. Be on CT side
// 2. Press H (CT-side smoke key)
// 3. Select "Long House" from wheel
// 4. Auto-lineup executes
// 5. Throw smoke grenade

Example 4: Practice Mode

// In MAIN.cfg map wheel:
// Select "Practice Mode" tile
// Choose map from practice mode wheel
// Choose side (T or CT)
// Access all lineups for that map/side

FACEIT Compatibility

The config includes FACEIT-compatible versions:
// In MAIN.cfg, use these binds for FACEIT:
bind "J" +fAC_T_action   // FACEIT T smokes
bind "H" +fAC_CT_action  // FACEIT CT smokes
The fAC alias provides compatibility with FACEIT Anti-Cheat restrictions.

Complete Map List

Ancient

Full T/CT smoke lineup support

Anubis

Full T/CT smoke lineup support

Dust2

Spawn-based instant smokes for mid/B doors

Inferno

Full T/CT smoke lineup support

Mirage

5 spawn variations for precise lineups

Nuke

Full T/CT smoke lineup support

Overpass

Full T/CT smoke lineup support

Thera

Full T/CT smoke lineup support

Train

Full T/CT smoke lineup support

Vertigo

Full T/CT smoke lineup support

File Structure

csafap/maps/
├── map_cmd.cfg                    # Map selection wheel
├── map_labels.cfg                 # Map selection labels
├── T_labels.cfg                   # Global T-side labels
├── CT_labels.cfg                  # Global CT-side labels
├── no_map_labels.cfg              # No map selected state
├── setup_wheel.cfg                # Wheel configuration
├── resetradio.cfg                 # Reset radio wheel
├── auto_selectside.cfg            # Auto team detection
├── ancient/
│   ├── ancient.cfg
│   ├── ancient_T_cmd.cfg
│   ├── ancient_T_labels.cfg
│   ├── ancient_CT_cmd.cfg
│   ├── ancient_CT_labels.cfg
│   └── wheel_curr_map.cfg
├── anubis/ (same structure)
├── dust2/ (same structure)
├── inferno/ (same structure)
├── mirage/ (same structure + spawn variants)
├── nuke/ (same structure)
├── overpass/ (same structure)
├── thera/ (same structure)
├── train/ (same structure)
└── vertigo/ (same structure)

Build docs developers (and LLMs) love