Counter-Strike 2

Counter-Strike 2

251 ratings
Converting CS:GO buy binds to CS2
By Nydauron
This guide is to help new people set up buy binds in CS2 and help port over buy bind configs from CS:GO to CS2
7
3
2
3
2
   
Award
Favorite
Favorited
Unfavorite
DISCLAIMER
I am not responsible if you ♥♥♥♥ up your config or get banned. ALWAYS BACK UP YOUR CONFIG.CFG OR AUTOEXEC BEFORE MAKING ANY CHANGES!!

Please also note that since CS2 is still in the early stages of its life, the behavior of some of the commands in this guide is subject to change. If you follow this guide and a later CS2 version breaks your buy binds, please note it down in the comments, and I will try to get the guide updated as soon as possible.
What are buy binds?
Buy binds are keyboard shortcuts to allow you to buy items quickly. I personally have found buy binds helpful if I need to drop a teammate a gun quickly or buy extra util as I'm leaving with a good spawn without having to fumble through the buy menu.

Buy binds are completely safe to use on both VAC-secured and Faceit servers.
Guide Changelog
The Oct 4th Update: the re-reimplementation to `buy`

As of the Oct 4th update, according to the patch notes

Fixed the "buy <item>" command to work with the new flexible loadout system. The command will now find the named item in your loadout instead of assuming a default slot. If the named item isn't in your loadout, the command will fail. To buy by slot, use "buy secondary0", "buy midtier1", "buy rifle2", etc. instead

This is fantastic news because now, all CS:GO buy binds will translate over to CS2 almost seamlessly (given that all weapons in your buy binds are in your loadout). You will still need to change over to use the new key bind names, and there might still be some tweaking since `buy` will attempt to buy the exact weapon and not the alternative gun like it did in CS:GO. (e.g. `buy m4a1` would buy either an M4A4 or an M4A1-S. In CS2 now, `buy m4a1` will only buy an M4A4 if you have it equipped.)

What if I want to keep the current behavior?

If you want to keep the current behavior where it buys from a particular slot in your loadout, you will need to change your binds to use `secondary` (for the pistol column), `midtier` (for the mid-tier column), or `rifle` (for the rifle column) followed by the row ranging from 0 to 4. You can observe that the rows are zero-indexed, with 0 being the top-most row.

Examples:
`buy secondary0` will buy your starting pistol since we are attempting to buy the item in the pistol column at row 0, the top-most row.
`buy midtier4` will buy the mid-tier weapon located in the bottom-most row in the mid-tier column (default weapon is MP9/MAC-10).
`buy rifle1` will buy the rifle located in the 2nd column from the top row in the rifle column (default weapon is M4A1-S/AK-47).
Differences from CS:GO to CS2
If you used buy binds in CS:GO, you will be quite familiar with the commands within this guide. However, your buy binds may not work out-of-the-box.

Here's a quick rundown that I have found that affected my buy binds:

- Keybind renamings
- Subtle changes to the `buy` command
Keybind renamings
Most people use their numpad for their buy binds, but at the end of the day, it comes down to personal preference. For convenience, here is a list of all the key names for the keypad in both CS:GO and CS2.

As far as I'm aware a vast majority of keybind names have remained the same. However, keypad keybind names have changed with CS2. Below is a table of all the keypad keybind names from CS:GO and CS2. If you are porting your buy bind config over to CS2 from CS:GO, be sure to change the names as the ones in bold and italic have changed aliases in CS2.

CS:GO
CS2
KP_INS
KP_0
KP_END
KP_1
KP_DOWNARROW
KP_2
KP_PGDN
KP_3
KP_LEFTARROW
KP_4
KP_5
KP_5
KP_RIGHTARROW
KP_6
KP_HOME
KP_7
KP_UPARROW
KP_8
KP_PGUP
KP_9
KP_SLASH
KP_DIVIDE
KP_MULTIPLY
KP_MULTIPLY
KP_MINUS
KP_MINUS
KP_PLUS
KP_PLUS
KP_DEL
KP_DEL
KP_ENTER
KP_ENTER

You can then optionally run in CS2 `unbind` on all of the CS:GO keys that changed in CS2 to remove unused bindings.
The `buy` command
When CS2 made the switch to the new buy menu, the `buy` had a flawed implementation. Fortunately, with the Oct 4th patch, Valve has fixed this.

As of Oct 4th, 2023, there are now two behaviors baked into `buy` which we will discuss in this section:
- Buying a specific weapon
- Buying the weapon located at a specific cell in your buy menu

Buying a specific weapon
Very close to how the behavior was in CS:GO and CS2 pre-buy-menu update, `buy` now attempts to buy only the weapon that is provided to the command. If you can't buy it for whatever reason (e.g. insufficient funds, not in your loadout), the command fails. This behavior is almost identical to when we had the buy wheel in both CS2 and CS:GO, but now in CS2 post-Oct 4th, stuff like `buy m4a1` will only buy an M4A4 compared to buying whatever M4 you had in your wheel loadout.

If you are curious about what any of the weapon names, you can run `buy` without any arguments, and it will generate a list of all the accepted ids (I listed them all below for convenience):
glock hkp2000 usp_silencer elite p250 tec9 fiveseven cz75a deagle revolver nova mag7 sawedoff xm1014 m249 negev mp5sd p90 mp7 mac10 mp9 bizon ump45 galilar famas ak47 m4a1 m4a1_silencer ssg08 aug sg556 awp g3sg1 scar20 vest vesthelm taser defuser flashbang smokegrenade hegrenade molotov incgrenade decoy

Example
Given this particular loadout:

Say I were to use the weapon ID names for the buy argument:
If I wanted to buy an MP9, I would run `buy mp9`.
If I wanted to buy an M4A1-S, `buy m4a1_silencer`.
If I wants to buy a Deagle, `buy deagle`.

Buying the weapon located at a specific cell in your buy menu
In addition to this change, Valve added an option to buy from a particular slot in your loadout. This essentially was the default behavior after the CS2 buy menu update in June, but specifying which cell in the buy menu to buy was very cumbersome and frankly not intuitive (I will not go into what the specification was as it's honestly too long, unnecessary, and mind-numbing to explain).

So, as of Oct 4th, they added new valid arguments `secondary<row>`, `midtier<row>` and `rifle<row>` where `secondary`, `midtier`, and `rifle` refer to which column you are targeting in your buy menu and `<row>` is a zero-indexed numerical value representing the row in your buy menu with 0 being the top-most row (i.e. `<row>` ranges from 0-4, 0 being the top-most, 4 being the bottom-most).

Valid Inputs
These are all the current valid inputs (based on the output from `buy` without any args). Some observations to note is that equipment like armor, defusers, nades, and the zeuses are not buyable with this method.

secondary0 secondary1 secondary2 secondary3 secondary4 midtier0 midtier1 midtier2 midtier3 midtier4 rifle0 rifle1 rifle2 rifle3 rifle4

Example
Given the same loadout as before:

Say I were to use buy menu positioning for my buy command arguments:
If I wanted to buy an MP9, I would run `buy midtier0`.
If I wanted to buy an M4A1-S, `buy rifle1`.
If I wants to buy a Deagle, `buy secondary4`.

Analyzing between the two methods
This second option using the buy menu position is quite nice since it offers a fallback pattern in case the game server cannot connect to Steam servers (which is where your customized loadout is located), so it will always attempt to buy a gun inside your loadout (or the default loadout if the server cannot connect to Steam). It also means that you do not need to rebind your buy binds if you decide to swap out a weapon for another.

However, conversely, since your loadout is now coupled to your buy binds, if you swap the positioning of the weapons in your buy menu, then the output from your buy binds can change. Also, as noted before, armor, nades, defusers, and zeuses cannot be bought using buy menu positions, but can be by explicitly stating the name.

Some people might prefer one over the other, but it comes down to personal preference. Feel free to mix and match! It is your config at the end of the day.
Putting everything together
So, for us to create or port your own buy binds, we can apply the two previous sections we've discussed.

We will be using the `bind` command which has the following syntax:
bind <key> <command>

Do note that the <command> argument is greedy (i.e. anything that is not a ";" will be included in the command). If you want to include multiple commands, I suggest you encapsulate the command string in quotes ("" or '' both work)

Examples
Consider the following loadouts for both sides:



If I wanted a bind for my Galil/M4A1-S on T/CT respectively, and I wanted it on "1" on my numpad, I could execute either:
bind KP_1 "buy m4a1_silenced; buy gaillar"
or
bind KP_1 "buy rifle2"

If I wanted "5" on my numpad to be for PP-Bizon and buy helmet and vest:
bind KP_5 "buy vesthelm; buy bizon"
or
bind KP_5 "buy vesthelm; buy midtier2"
Note that in this example, since vesthelm comes first, the kevlar and helmet will be purchased first, then the Bizon. Note that the bind is not an atomic operation (i.e. the bind has a chance of partially running successfully.)

If I wanted multiply on my numpad to be for P250/CZ-75 on T/CT respectively:
bind KP_5 "buy secondary4"
Note that `buy p250; buy cz75a` is not that feasible to use as it would buy both pistols (assuming you have the money to purchase both) since both are available for purchase on each side.

Obviously, these are not the most optimal binds to make, nor is this the ideal T/CT loadout, so a suggestion to make is to optimize your buy menu to have your T/CT alternatives in the same spot whenever possible. But if you want strictly different loadouts for each side, what's nice is that if you end up fat-fingering the wrong buy bind, you can always refund it. :)
Final Notes
To reiterate the disclaimer, CS2 is still in the early stages of its life, so the behavior of your buy binds can change. When first making this guide, I was not a fan of the implementation of `buy` because of how convoluted it was, and a bunch of comments below also have a similar sentiment about it. I am super happy Valve decided to implement the suggestion I made, adding a slot-based approach, similar to the `slot1`, `slot2`, ... commands for inventory (e.g. `buy slotrifle2` for M4A1-S/AK47), alongside restoring `buy` to attempt to purchase only the intended item.

If you are curious as to what type of buy binds I'm using, I will probably stick with the buy menu position binds as I've gotten quite used to it already over the past month.

Thanks for reading through this guide! If you found it useful, discovered any other breaking changes, or have any other forms of constructive feedback, I would greatly appreciate it. To keep up with any potential changes, you can favorite and share the guide with others.
87 Comments
PUHAHAHA Mar 22 @ 3:08pm 
REP 4 REP INSTANTLY!
ENG: Copy&Paste one of these OR write whatever you want and I will rep you back 100% i'm online now
RU: пишете что-то из списка ниже , и я вам пишу что захотите я щас в онлайне :))

+rep Killing Machine 😈
+rep kind person
+rep Thanks For Carry 👍
+rep insane play
+rep nice profile 💜
+rep AYYYY LMAO
+rep Insane
I LOVE YOU <3
Nydauron  [author] Oct 8, 2023 @ 5:49pm 
Yeah definately. Arguably, "slot name" was always a thing even with the wheel, but it was the weapon name that targeted a specific region on the wheel.
Jimmy Rustle Oct 8, 2023 @ 4:21pm 
So we can use the same key for opposing side rifles. I had it messed up because I was binding multiple actions. It makes more sense to use the slot name now.
BOHEMIAN Oct 5, 2023 @ 7:31pm 
bind "kp_ins" "buy equipment-armor-helm; buy equipment-armor; buy equipment-helm; buy equipment-diffusal-kit;"
bind "kp_del" "buy incgrenade; buy molotov; buy flashbang; buy smokegrenade; buy hegrenade;"
bind "kp_end" "buy ak47; buy m4a1;"
bind "kp_downarrow" "buy famas; buy galilar;"
bind "kp_pgdn" "buy awp;"
bind "kp_leftarrow" "buy fn57;"
bind "kp_5" "buy deagle;"
bind "kp_rightarrow" "buy p90; buy ump45; buy mp7; buy mp5; buy mp9;"
bind "kp_home" "buy p250;"
bind "kp_uparrow" "buy ssg08;"
bind "kp_pgup" "buy equipment-armor-helm;"
mloth Oct 5, 2023 @ 7:49am 
guys its better to bind your keys to the slots, because you are probably gonna change up your loadout depending on the map
blad Oct 5, 2023 @ 7:18am 
you need to put another "buy" if you have more than one gun on a single bind else it doesnt work, those are separate inputs anything after a ";" needs a new action i.e. in this case a new "buy" command which is why it isnt working
"buy m4a1_silenced; buy ak47" is what you are looking for, as for any other weapon that might changed based on CT/T side
blad Oct 5, 2023 @ 7:17am 
It's funny they changed the buy bind for the SG from sg550 to sg556 even though in-game it's the sg553
Sneepy® Oct 5, 2023 @ 5:35am 
buy m4a1_silencer
MrTanki4 Oct 5, 2023 @ 3:49am 
buy ak47; m4a1
doesnt work for both i can only have 1 gun on 1 button
Nuffe Oct 5, 2023 @ 12:33am 
and now its not work :/