Counter-Strike 2

Counter-Strike 2

111 ratings
Testing custom weapon finishes ingame
By EGO DEATH and 1 collaborators
A guide for workshop contributors showcasing how to test their finishes in-game.
   
Award
Favorite
Favorited
Unfavorite
Introduction
The purpose of this guide is to help potential workshop contributors showcase their finishes in-game. This is a great way to create promotional images for workshop submissions, giving viewers a very accurate idea of what the end-product looks like under various lighting conditions and within the context of the game. Or even simply as a great way to test your work under in-game lighting conditions.

(cropped screenshot taken in de_nuke)

Do not be daunted by the seeming complexity of this guide at first glance. It's length is due to the desired to be comprehensive. I've covered this entire process step by step in hopes to be as clear and reliable as possible. Also the beginning portion of this guide (Setup), only has to be done once. After you have become familiar, this process will generally only take a couple of minutes.

To further calm your fears, this entire guide can basically be broken down to

  • Move your files to the correct folder
  • Make sure you have an appropriate skin to replace
  • Copy your own settings into the items_game.txt properly
  • Save, and load cs:go
Russian language version
Если вы - один из наших русскоговорящих друзей, наш приятель Hexeth сделал что-то похожее для русских тут:

https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=897589465
Requirements
Unfortunately, this method does require some investment. To over-write a texture and have it use the proper in-game shaders, there needs to be a texture to over-write. This results in needing to have a skin in your inventory that you can replace. I have compiled a list of the least expensive finishes (In factory new condition) for each weapon. Luckily, they are, for the most part, only a few cents each. Included in this list, is reference information helpful in speeding up the process covered in this guide.

It is being assumed for the purposes of this guide that the contributor already has an understanding of using the workbench, saving out their files, and submitting their work to the workshop. To replace files for testing purposes, you will need to have the text file that is created in saving a submission to input the correct parameters.

It is suggested that you download a tabbed text editor, I personally use..
Sublime Text[www.sublimetext.com]

It is also strongly suggested you download the Showcase_Studio map. This map will allow you to rapidly test your work under a number of different lighting conditions. As well as providing a number of backdrops (greenscreen, black, patterns, etc...) for creating promotional materials.
Showcase_Studio
Setup
To begin, we need to create a folder structure for our testing needs. This will be where we place the VTF files we intend to test. First, locate your main CS:GO directory.

\Steam\steamapps\common\Counter-Strike Global Offensive\csgo

This is where you will need to begin creating your own folder structure. (If you've previously unpacked your .pak files for whatever reason, this will already exist. This folder structure mirrors the one in the .pak files)

The structure is as follows..


materials\models\weapons\customization\paints

Once this \paints folder has been created, I suggest making a shortcut to it on your desktop. It will make testing things in the future faster if you can access this folder quickly, going down the entire folder tree everytime you want to test a thing can get tedious. In all, your full folder structure should now look like this..


\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\materials\models\weapons\customization\paints


Inside of this \paints folder, we need to create 7 new folders, for different weapon finish styles.

  • anodized_air Anodized Airbrush
  • anodized_multi Anodized Multicolored
  • antiqued Patina
  • custom Custom Paint Job
  • gunsmith Gunsmith
  • hydrographic Hydrographic
  • spray Spraypaint

Your \paints folder should now look like this..

(These folders are where the items_game.txt file will be telling CS:GO to look for your files.)

At this point we will want to locate another folder.


\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\scripts\items\

This folder should already exist in any installation, and this is where we will find the items_game.txt file. It is suggested you make a shortcut to this folder as well. I personally keep shortcuts for the paints, and items folders on my desktop..


This is the file that tells the game where to look for the texture files, and what shader settings are applied to them. Always keep a backup of this file on-hand, as you will not be able to join any secure servers while this file is altered. Make a copy of the items_game.txt file, and re-name it with the suffix "BACKUP"


If for whatever reason you forget to backup your items_game.txt file, there is quick process for repairing your files that is covered in the section at the end entitled "Oops, I messed up my files"

Open up this text file, and minimize it, we will need it soon.


Moving over the files you wish to test.
Next, you must locate and open the folder containing the files for the finish you intend to test. Assuming you have converted your files to VTF's, and saved out your workbench settings, your folder might look something like this..


At this point you will want to bring up another window in your file-browser, and navigate to the \paints folder we created previously. After this is open, copy the files over to the appropriate finish type folder. In this example, the finish being tested is a gunsmith finish, so it will be placed in the gunsmith folder..


Now that the files that you intend to test are in place, we need to move on to the next step.
Altering the items_game.txt file
If you have followed the instructions so far, you should have a text editor with your workbench save file, as well as your items_game.txt file, open in separate tabs. (for the images in this section we are using sublime text, as suggested in the requirements section.) If not, navigate to these two files now, and open them both..


At this point it is necessary to refer to the weapon list included near the bottom of this guide under the section "Weapon List". (You can navigate to this section quickly using the index on the right hand side of this guide.)

Now that we have our two text files open, we need to locate the settings for the weapon finish we intend to replace. The example that will be used is a finish for the Sawed-Off. Referencing our weapon list, we can see that this skin we will be replacing is named "Forest DDPAT" (if you intend to replace something other that what is listed, I will cover how to locate these settings in a short, seperate guide). Locate the settings that control this finish by copying the "#paintkit" text to the right of the skin name. Now pull up your items_game.txt, press CTRL+F, and paste the text string into the search parameters. This should bring you directly to the settings for that specific finish within the items_game.txt. It will look something like this..


Now that we have the location where we will need to insert our own settings, switch back over to the settings file that is created when saving your weapon finish in the workbench. It should look like this..


The only alteration to this saved workbench text you need to make, is to remove the location information that comes before the filename in the "pattern" line, As well as it's .VTF file extension. This will leave your "Pattern" line, with ONLY THE FILE NAME and no file extension. You will need to commit this same process on the "normal" line if you are utilizing normal maps for your finish. Your file should now look like this..


we must copy the body of the text from the settings file..


Now move over to the items_game.txt where you have already located the finish you intend to replace. Paste your settings starting underneath the "description_tag" line, overwriting everything before the next break, like this...


Your formatting may be off a bit when pasted in, so you may have to Tab your lines in a few times to sit in-line with the rest. (If you are using sublime text, you can select the entire block and tab the lines all at once.) The raw pasted settings will probably look something like this before you tab them over..


Once the lines have been tabbed over, you should have something that looks like this..


Before you save, double check that you have created a backup copy of your items_game.txt file. Then proceed to overwrite your standard items_game.txt with this altered version...

Having now moved your texture files to the appropriate folder, and having altered your items_game.txt file to contain the correct settings, you can go ahead and load CS:GO.


Testing your weapon finish in-game
Once CS:GO is loaded up, make sure that you have equipped the weapon finish you replaced. Now you can either load up one of the standard maps by click on "Play", and selecting "Play offline with bots" or pulling up your console, and loading up a custom map such as the "Showcase Studio" map..

(Screenshot taken on the showcase_studio map, using greenscreen to mask it off.)

A few commands that might be helpful in this...
  • sv_cheats 1
    (Neccesary for some of the following commands)
  • mp_warmup_pausetimer 1
    (Pause the game in warmup if you've loaded a standard csgo map)
  • bot_kick
    (Kick all the bots)
  • cl_drawhud 0
    (Remove the HUD)
  • impulse 101
    (Gives you money)
  • host_timescale 1 - .001
    (Smaller number = slower time, can help take very specific shots)

You are now free to test your weapon finish under a number of different lighting conditions, and within the context of the game. This can help you craft your finishes to look better in the game itself, as well as help create more accurate promotional materials.

We hope this has been helpful...
Weapon list
List of weapons, their in-game weapon finish names, and their "#paintkit tag". The blue weapon name is a hyperlink to the marketplace page for the weapon finish.

PISTOLS

CZ-75 Auto
"Army Sheen" | Locator - #PaintKit_am_army_shine_Tag
Desert Eagle
"Urban Rubble" | Locator #PaintKit_hy_varicamo_urban_Tag
Dual Berettas
"Colony" | Locator #PaintKit_so_space_marine_Tag
Five Seven
"Forest Night" | Locator #PaintKit_hy_forest_night_Tag
P2000
"Ivory" | Locator #PaintKit_cu_p2000_ivory_tag
Glock
"Death rattle" | Locator #PaintKit_hy_nerodia_Tag
P250
"Boreal Forest" | Locator #PaintKit_hy_forest_boreal_Tag
R8
"Bone Mask" | Locator #PaintKit_sp_tape_Tag
Tec-9
"VariCamo" | Locator #PaintKit_hy_varicamo_Tag
USP-S
"Night Ops" | Locator #PaintKit_hy_varicamo_night_Tag


HEAVY

MAG-7
"Metallic DDPAT" | Locator #PaintKit_am_urban_Tag
Nova
"Caged Steel" | Locator #PaintKit_am_oval_hex_Tag
Sawed-Off
"Forest DDPAT" | Locator #PaintKit_hy_ddpat_Tag
XM 1014
"CaliCamo" | Locator #PaintKit_hy_varicamo_desert_Tag
Negev
"Army Sheen" | Locator #PaintKit_am_army_shine_Tag
M249
"Gator Mesh" | Locator #PaintKit_sp_mesh_python_Tag


SMGS

Mac-10
"Silver" | Locator #PaintKit_an_silver_Tag
MP9
"Sand Dashed" | Locator #PaintKit_sp_short_tape_sand_Tag
MP7
"Army Recon" | Locator #Paintkit_sp_spray_army_Tag
UMP-45
"Carbon Fiber" | Locator #PaintKit_am_carbon_fiber_Tag
PP-Bizon
"Night Ops" | Locator #PaintKit_hy_varicamo_night_Tag
P90
"Ash Wood" | Locator #PaintKit_sp_twigs_Tag

RIFLES

AK-47
"Safari Mesh" | Locator "#PaintKit_sp_mesh_tan_Tag"
AUG
"Contractor" | Locator "#PaintKit_so_pmc_Tag"
AWP
"Worm God" | Locator "#PaintKit_aq_awp_twine_Tag"
FAMAS
"Colony" | Locator "#PaintKit_so_space_marine_Tag"
G3SG1
"VariCamo" | Locator "#PaintKit_hy_varicamo_Tag"
Galil
"VariCamo" | Locator "#PaintKit_hy_varicamo_Tag"
M4A1-S
"VariCamo" | Locator "#PaintKit_hy_varicamo_Tag"
M4A4
"Urban DDPAT" | Locator "#PaintKit_hy_ddpat_urb_Tag"
SCAR-20
"Contractor" | Locator "#PaintKit_so_pmc_Tag"
SG 553
"Army Sheen" | Locator "#PaintKit_am_army_shine_Tag"
SSG 08
"Blue Spruce" | Locator "#PaintKit_so_moss_Tag"
Oops, I messed up my files
Everything will be ok, do not panic. The process for re-validating your files is quite simple, and rather fast. Bring up your main steam client, and navigate to your "Library" page. Now right click on Counter Strike : Global Offensive and select "Properties".


That will bring up this window..


Select the tab labeled "Local Files" and click the button that is labeled...
VERIFY INTEGRITY OF GAME FILES...


This can take a couple of minutes, but it will scan your files, and re-download anything that is not consistent with the latest version of cs:go. In our case this will almost certainly be the items_game.txt file. Because we forgot to back it up despite being told... twice!
26 Comments
bluntzera 15 Feb, 2022 @ 6:33pm 
I cant find the p2000 fn i just bought. Altering the items_game section is VERY CONFUSING!
EGO DEATH  [author] 21 Oct, 2021 @ 4:36am 
@Jas If you re-name your test VTF's something like "TEST" that doesn't overwrite any other skin file names, you can just leave them in that directory. As long as all the original files are there, when you change your TXT file back to normal, everything should be fine.
Jas 21 Oct, 2021 @ 3:38am 
After i'm done with my testing should i just delete my .vtf from the paints folder and restore the backup?
segan 20 Aug, 2021 @ 5:23am 
@EGO DEATH : thanks for the help man!
EGO DEATH  [author] 20 Aug, 2021 @ 5:00am 
@blank You will need to either have a high poly model to bake that information down into the low poly model that we are provided in the workshop resources. You can also create one using software like substance painter.
segan 20 Aug, 2021 @ 4:47am 
@EGO DEATH : is there any videos or guides on how to create one?
EGO DEATH  [author] 20 Aug, 2021 @ 4:30am 
@Blank One of them is the normal map, and the other one is the texture. While you do not need a normal map it def helps add some depth to a texture!
segan 20 Aug, 2021 @ 3:41am 
why is there two vtf files called weaponname_normal and tthe other one is just weapon name?
SongoII - Skin Designer 16 Mar, 2018 @ 5:04pm 
nice:)) ... but it should be in one place "host_timescale" not "hud" but I can be wrong. :))