Promouvoir serveur
60 lines 5.6 KiB Markdown Source Rendered Raw Permalink History
---
title: "Making and Uploading a Custom Spray in CS 1.6 (logo.bmp)"
excerpt: "Build a CS 1.6 spray the game will accept: correct BMP format, power-of-two size, importing through the menu, binding the spray key, and why servers rate-limit it."
category: "client"
tags: "spray, custom-content"
image: ""
read_time: "7 min read"
---
<p>A custom spray is a small decal you paint on walls with a keypress. CS 1.6 is fussy about the image format, and most "my spray shows up black" complaints come from feeding it a file it cannot use. This covers the exact image requirements, how to import it, how to bind the spray, and the server-side limits that stop you spamming it.</p>

<h2>1. Make the image in the right format</h2>
<p>The importer accepts a <strong>BMP</strong> (or TGA), but it must meet old-engine rules:</p>
<ul>
<li><strong>8-bit, 256-colour indexed</strong> BMP. A 24-bit truecolour BMP imports wrong or black — convert to indexed colour in your editor first.</li>
<li><strong>Power-of-two dimensions.</strong> Width and height each from the set 16, 32, 64, 128, 256. A common good size is <strong>64×64</strong>; the maximum practical is 256×256.</li>
<li>Keep it simple — high-contrast art reads far better than a photo once it is on a wall at distance.</li>
</ul>
<p>If your editor cannot save 8-bit indexed BMP, reduce the colour depth to 256 colours (Indexed mode) before exporting.</p>

<h2>2. Import it through the game menu</h2>
<p>The reliable path is the in-game importer, which converts your file into the internal decal the engine uses:</p>
<ol>
<li>Launch CS 1.6 and open <strong>Options → Multiplayer</strong>.</li>
<li>Use the <strong>Advanced</strong> / spray-logo import control and browse to your BMP.</li>
<li>Confirm. The game writes the converted decal into <code>cstrike/tempdecal.wad</code> — that generated file <em>is</em> your active spray.</li>
</ol>
<p>You do not hand-place files for a basic spray; let the importer produce <code>tempdecal.wad</code>. If the preview looks wrong at this stage, the source image failed the format rules in step 1 — fix the BMP and re-import.</p>

<h2>3. Bind the spray key</h2>
<p>Spraying is the <code>impulse 201</code> command. Bind it to a comfortable key in your <a href="/tutorials/cs16-competitive-video-config">autoexec.cfg</a> so it survives restarts:</p>
<pre>bind "t" "impulse 201"</pre>
<p>Aim at a wall and press the key. Sprays go on solid surfaces, not on players or the sky.</p>

<h2>4. Understand why it will not always appear</h2>
<p>Even a perfect spray is throttled by the server and by decal settings, and this is deliberate:</p>
<ul>
<li><code>decalfrequency</code> — a server cvar setting the minimum seconds between a player's sprays. Spray again too soon and nothing paints. Admins raise this to curb spam; see the <a href="/tutorials/essential-server-cvars">server cvars</a> list.</li>
<li><code>r_decals</code> — your own client cap on how many decals render at once. If it is very low, older decals (including sprays) are culled quickly.</li>
<li>Some servers disable custom sprays entirely, or a plugin filters them. On those, your spray simply will not show for others.</li>
</ul>

<h2>5. Keep or swap your spray</h2>
<p>Because the active spray lives in <code>tempdecal.wad</code>, keeping several is a matter of saving copies. Back up the generated file under a new name, and to switch sprays, copy the one you want over <code>tempdecal.wad</code> (with the game closed) or just re-import a different image. Note the game can regenerate <code>tempdecal.wad</code> on launch, which is why re-importing is the dependable way to change it.</p>

<h2>6. Design for distance and low colour</h2>
<p>A spray that looks great as a 256-colour file on your desktop can turn into an unreadable smudge on a wall across the map. Two habits keep it legible: use bold shapes and thick outlines rather than fine detail, and pick a small, high-contrast palette. Because you are limited to 256 indexed colours anyway, a design built from a handful of flat colours converts cleanly, while a gradient-heavy image bands badly during the reduction to indexed mode. Test the finished spray in-game at range before you settle on it — the wall at fifteen metres is the only preview that matters, and a logo that reads clearly there is worth more than one that only looks sharp in the importer.</p>

<h2>Common errors</h2>
<ul>
<li><strong>Spray shows up as a black or garbled box</strong> — the source BMP was 24-bit truecolour, not 8-bit indexed. Convert to 256-colour indexed and re-import.</li>
<li><strong>Import is rejected or looks stretched</strong> — dimensions are not powers of two. Resize to 64×64 (or another 16/32/64/128/256 pair).</li>
<li><strong>Nothing paints when you press the key</strong> — no bind, or you sprayed again within <code>decalfrequency</code>. Confirm the bind and wait a few seconds between sprays.</li>
<li><strong>Others do not see your spray</strong> — the server disabled custom sprays or a plugin blocks them. Nothing to fix client-side.</li>
<li><strong>Spray reverts after restart</strong> — the game regenerated <code>tempdecal.wad</code>. Re-import the image you want as the active spray.</li>
</ul>

<h2>Verification</h2>
<p>Host a local server or join any server that allows sprays, face a wall, and press your spray key:</p>
<pre>impulse 201</pre>
<p>Your logo should appear crisp and in the right colours. If it paints correctly offline but not on a particular server, that server is throttling or disabling sprays — not a problem with your file. Read your bind back with <code>bind t</code> to confirm it is set, and if the image itself is wrong, the fault is always the source BMP's format, so return to step 1.</p>