Static Crosshair in CS 1.6 (cl_crosshair Cvars)

September 24, 2025 Daemon666 6 min read 14 visualizações

By default the CS 1.6 crosshair breathes — it expands when you move and shoot and shrinks when you stand still. Some players like the movement feedback; many find it distracting and want a fixed reference point that never changes size. A few cvars control every aspect of it, and once set they belong in your config so they survive restarts.

1. Make it static

The single cvar that stops the crosshair from expanding is:

cl_dynamiccrosshair 0

With cl_dynamiccrosshair 0 the crosshair is locked at a fixed size regardless of movement or fire. Set it to 1 to restore the default dynamic behaviour. This is the setting most people are actually looking for when they say "static crosshair."

2. Set the size

Crosshair size is a named setting, not a pixel value:

cl_crosshair_size "small"

Accepted values are auto, small, medium, and large. auto scales with resolution; the named sizes are fixed. On a static crosshair, small gives the tightest aiming point and is the common competitive choice. Type the value in quotes in the console or config.

3. Set the colour

Colour is an RGB triplet, each channel 0–255:

cl_crosshair_color "0 255 0"

The example is the classic green. 50 250 50 or 0 255 255 (cyan) stand out against most maps. Pick a colour that contrasts with the environments you play on — a green crosshair vanishes against green foliage, so cyan or a light colour is often more visible.

4. Translucency

cl_crosshair_translucent 1

cl_crosshair_translucent 1 makes the crosshair semi-transparent so it blends with the scene instead of a hard opaque cross; 0 keeps it solid. Try both — translucency reads better against bright backgrounds, solid is easier to track against busy textures.

5. What each cvar controls, at a glance

It is easy to conflate these four, so here is the division of labour. cl_dynamiccrosshair decides movement — whether the cross expands and contracts. cl_crosshair_size decides scale — how big it is when static. cl_crosshair_color decides visibility — the RGB tint. cl_crosshair_translucent decides opacity — how much the scene shows through. Changing one does not touch the others, which is why a "still expanding" crosshair is always cl_dynamiccrosshair and never the size or colour cvar.

A practical starting point for aim-focused play is a small, static, high-contrast crosshair: dynamic off, size small, a cyan or bright-green colour, and translucency to taste. From there you only ever adjust colour for a map you find hard to see against, and leave the rest fixed — a crosshair that never changes is one your eyes stop having to re-learn round after round.

6. Put it all together in a config

Set the four cvars once and save them so an update or a server does not wipe them. Create or edit cstrike/userconfig.cfg:

// cstrike/userconfig.cfg
cl_dynamiccrosshair 0
cl_crosshair_size "small"
cl_crosshair_color "0 255 0"
cl_crosshair_translucent 1

Load it with exec userconfig.cfg, or bind a key to it so you can flip between crosshair presets. Keeping these in userconfig.cfg rather than only config.cfg protects them, since the engine rewrites config.cfg on exit and can lose manual edits.

Troubleshooting

  • Crosshair still expands when I shootcl_dynamiccrosshair is still 1, or something re-set it. Read it back in the console; a server or a config exec can override it. Put it in userconfig.cfg and re-exec.
  • Size command "does nothing" — you passed a number instead of a name. cl_crosshair_size takes auto/small/medium/large, not a pixel count.
  • Colour ignored — the value needs three numbers separated by spaces and in quotes: "0 255 0". A single number or missing quotes is rejected.
  • Settings reset every launch — you edited config.cfg, which the game overwrites on exit. Move the block to userconfig.cfg and exec it, or mark the file read-only only as a last resort.
  • Crosshair invisible on some maps — it matches the background colour. Change cl_crosshair_color to a high-contrast value like cyan.

Verification

In the console, read the four cvars back:

cl_dynamiccrosshair
cl_crosshair_size
cl_crosshair_color
cl_crosshair_translucent

Each should echo your chosen value. Then jump into a map, move and fire a burst, and confirm the crosshair stays exactly the same size the whole time — that is the proof the dynamic behaviour is off. A locked crosshair pairs naturally with a locked, acceleration-free mouse setup; if your aim still wanders, tune the mouse first with the sensitivity and DPI guide.

Colaboradores: Daemon666 ✦
Compartilhar: