Personal crosshair for each weapon (manual)

Hello, ladies and gentlemen. Today i’ll teach you how to set your own crosshair to each weapon (thanks 2 and z4kky for help).

First you need to get the “GCFScape” program and open the .gcf file called “source engine”. Here you need to open the “scripts” folder and unpack 11 files: “weapon_crowbar.txt”, “weapon_stunstick.txt”, “weapon_pistol.txt”, “weapon_smg1.txt”, “weapon_ar2.txt”, “weapon_physcannon.txt”, “weapon_357.txt”, “weapon_rpg.txt”, “weapon_shotgun.txt”, “weapon_crossbow.txt” and “weapon_frag.txt”. Extract 'em all to “scripts” folder located in your “hl2mp” directory (if its not exist, just create it). Then open some file you need to edit (search for weapon name) and find the block called “crosshair”. Here is where the fun starts, now its two different ways to set the crosshair.

First way: the pic. You can use every pic you want to set is as crosshair. But since every clanwar plays with “sv_pure 2” command, your pic will be replaced with one called “crosshairs.vtf” located in “source materials.gcf/Sprites”, so i not recommend you to use your image as xhair. So, here is the “crosshairs.vtf” pic (i converted it to .png format):


Choose the xhair you need (let “N” be the number), they are all has width and height equals 24 pics. To set the crosshair you’ve chosen, paste next text under the “crosshairs” string in .txt file (delete everything in this block first, otherwise it wont works):

				"file"		"sprites/crosshairs"
				"x"			""
				"y"			""
				"width"		"24"
				"height"	"24"

Here you need to fill the “x” and “y” fields. Use the equations **x=(X(N)-1)24 , y=(Y(N)-1)24 to canculate the coordinates (here X(N) is the string of your xhair, and Y(N) is the coloumn). For example, you’ve chosen the second crosshair in the third string. So the block will be:

				"file"		"sprites/crosshairs"
				"x"			"24"
				"y"			"48"
				"width"		"24"
				"height"	"24"

And you’ll see something like that:


Same with every weapon you need to change.
Im not recommend you to use the first way for next reason - as you see on previev image, the edges of xhair has been cuted off, so there are only few xhairs that looks good: fourth in second string, third, fourth, fifth in third string. But if you prefer them to use, your work is over here.

Second way: the font file. Yes, you can make your own font file to use in hl2dm, and it wont be replaced with default even with “sv_pure 2”. Second way is harder, but if you prefer to use your own xhair, you should read attentively.
First you need to create (or edit) the font file and make some crosshairs you need (i used “Font Creator Program” for this), paste it to C:/WINDOWS/Fonts and to “resource” folders. I just edited the halflife2.ttf font file in the “resource” dir.
Important: you need to edit the name of the font file and the “Family Name” of the font, make sure they are not the halflife2.ttf and HalfLife2, otherwise the game font will be replaced and you’ll see your crosshairs instead of weapon icons and stuff!

Now, you created the .ttf font file, named it “mycros” for example and copied it to both directories. If you edited the “halflife2.ttf” file (its easier than create the new one), you’ll see something like that (i used some of my crosshairs and one from hl2dmPro):

Now you need to open the “recource” folder located in **:\Steam\steamapps<name>\half-life 2 deathmatch\hl2mp**. Here you will find the “clientscheme.res” file. Open it with “notepad” and find the block called “crosshairs”:

				"name"		"HalfLife2"
				"tall"		"40"
				"weight"	"0"
				"antialias" "0"
				"additive"	"0"
				"custom"	"1"
				"yres"		"1 10000"

Copy the whole block and paste it right below the last “}” symbol, then rename it to “Mycros” and change the font name to “mycros” too (click the image).

Save the “clientscheme.res” file (make backup first), then proceed to the “scripts” folder. Here, open the file you need, find the “crosshair” block and paste this:

				"font"		"mycros"
				"character"	"<charname>"

Where is the name of symbol you prefer to use as crosshair. “a” for example.
If you did everything right, you’ll see something like that (few examples):


So, i think its all i wanted to say. Have fun! :wink:

This is uhhhh lookin pretty good.

This would be terrific if I wanted to take the time, but sadly, I’m too lazy.

1 step closer to being able to use no weapon models.
But does look hard to do :frowning:

You can do this in Pro mod with the click of a button :smiley:

Pro uses the picture way of doing it (.vtf) so they do not work with sv_pure 2

Didn’t know that.

Cheers for the info Jerk, it does look a little time consuming but I’ll give it a shot on day when I have some free time. :bulb:

Already achievable even with sv_pure 2.


come on Deathwish enlighten me…

] r_drawviewmodel 0

Can’t use cheat cvar r_drawviewmodel in multiplayer, unless the server has sv_cheats set to 1.


Jerk’s tip to have a different crosshair for each weapon is awesome. But the prob is you can’t remove the model without sv_cheats 1 so it cant be used as a unique way to know the current weapon you use :wink: And be careful to not mixed the custom skins and the 3D models itselves.

You can’t find people to play with in Pro mod ;(

It’s a shame, but people like exploiting exploits rather than fixing them. :frowning:

what exploits? :smiley:

you asked for it son

You have to extract the weapon script files from half-life 2 deathmatch.gcf otherwise your shots do not register when you create a listen server.