Video Tutorial
For a detailed video explanation, watch this timestamp from the official tutorial.Overview
Creating a custom line-up involves 5 steps:- Find the desired angle using
getposin-game - Calculate yaw and pitch values using the formula
- Create an alias in the map’s config file
- Create a label in the language file
- Bind the label and command to a radio tile
Step 1: Find the Desired Angle
Position yourself in-game
Load the map in practice mode and position yourself at the exact spot where you want the line-up to start.
Use getpos command
Type The format is:
getpos in the console to get your current position and angles:setpos X Y Z; setang PITCH YAW ROLLStep 2: Calculate Yaw and Pitch Values
Use the following formula to calculate the yaw and pitch values needed for the config:Formula Variables
- X: Desired yaw/pitch value (what you need to calculate)
- a: Angle you need to move (in degrees)
- s: Sensitivity (use 1.0 for calculations)
- m_yaw: Horizontal sensitivity multiplier (use 0.022)
Calculating the Angle to Move
The anglea is calculated from a zero reference point:
- Horizontal (Yaw): The angle difference from your starting yaw to target yaw
- Vertical (Pitch): The angle difference from -89° to your target pitch
Example Calculation
Let’s create a line-up for the angle:setang -35.250259 -148.314117 0
Yaw calculation:
The config uses sensitivity 1.0 and m_yaw 0.022 for line-up calculations. Your actual sensitivity is applied separately through the
resetsens alias.Step 3: Create an Alias
Add your calculated values to the map’s config file incsafap/maps/[mapname]/[mapname].cfg:
Alias Naming Convention
Follow the existing naming pattern:- Map prefix (e.g.,
mir_for Mirage) - Type (e.g.,
smoke_) - Spawn number and lineup number (e.g.,
1_5) - Suffix
_xfor yaw,_yfor pitch
Step 4: Create a Label
Add a text label incsgo/resource/platform_english.txt:
Label Guidelines
- Use
\nfor line breaks - Keep text concise and descriptive
- Add trailing spaces and
\nto fill the radio tile - Use the
CFG_prefix followed by map and lineup name
Step 5: Bind to Radio Tile
Add the Label
Incsafap/maps/[mapname]/[mapname]_T_labels.cfg (or _CT_labels.cfg):
Add the Command
Incsafap/maps/[mapname]/[mapname]_T_cmd.cfg (or _CT_cmd.cfg):
Command Structure
- X: Radio tab number (0, 1, or 2)
- Y: Tile position (1-8)
- fAC: FaceIt-compatible auto-lineup mode
- yaw_alias: Your horizontal aim alias
- pitch_alias: Your vertical aim alias
- spawn_alias: Spawn teleport position (optional)
Complete Example: Mirage Top Connector
Here’s a complete example for a Mirage instant top connector smoke:1. In-game angle
2. Calculated values
- Yaw: -6741.55077
- Pitch: 1602.2845 (after adding offset)
3. In csafap/maps/mirage/mirage.cfg
4. In csgo/resource/platform_english.txt
5. In csafap/maps/mirage/mirage_T_labels.cfg
6. In csafap/maps/mirage/mirage_T_cmd.cfg
Pitch Offset Explanation
The pitch offset of
+4045.45454545 exists because the config zeroes vertical angle at -89° (looking down) instead of 0° (looking straight ahead).Testing Your Line-up
Troubleshooting
Line-up aims wrong direction
Problem: The auto-aim points 180° away from target. Solution: Check your yaw calculation. Make sure you’re calculating the angle difference correctly.Vertical aim is incorrect
Problem: Horizontal aim is perfect but vertical aim is off. Solution: Verify you added the pitch offset (+4045.45454545) to your calculated pitch value.Radio tile is empty
Problem: The radio tile shows no text. Solution:- Check that you added the label to
platform_english.txt - Verify the label name matches in both files (with
#prefix in labels file) - Restart the game for language file changes to take effect
Line-up doesn’t execute
Problem: Selecting the radio tile does nothing. Solution:- Verify the command syntax in
_cmd.cfgends with; - Check that alias names match between the config file and command file
- Make sure the radio tile numbers match in both labels and cmd files
See Also
- Sensitivity Configuration - Required for line-ups to work correctly
- Custom Radio Wheels - Create custom radio wheel systems