【CSGO】告別繁瑣的鍵位設(shè)置——bind指令
有的小伙伴直到現(xiàn)在,當(dāng)自己去一趟網(wǎng)吧,先浪費(fèi)5分鐘在那調(diào)設(shè)置。這肯定是不合理的。正確的方法,也是職業(yè)選手使用的方法,就是通過一個cfg文件一次搞定。本文將講解與按鍵綁定相關(guān)的內(nèi)容。
提前說明,本文為標(biāo)準(zhǔn)的CS:GO版本的教程,到CS2版本中許多指令發(fā)生了改動,因此如果你需要配置CS2的鍵位cfg,本文第六部分的內(nèi)容需要你另外查找資料。

一、指令基礎(chǔ)
在CSGO游戲中打開控制臺(默認(rèn)按"`"),輸入一串指令后回車,游戲即會運(yùn)行你輸入的指令。
和計(jì)算機(jī)語言一樣,指令除了文本輸出以外一定是全英文,所以輸入的時(shí)候守住你的輸入法。
單個指令的語法類似于英語沒有主語的簡單句,可以拿幾條指令參考:①主謂:holdpos②主謂賓:give weapon_flashbang③主謂雙賓:bind 1 weapon 1④主謂賓賓補(bǔ):ent_fire weapon_ak47 addoutput "modelscale 10"。當(dāng)然這是說著好玩的,如果有計(jì)算機(jī)基礎(chǔ)的自然能適應(yīng)CSGO的指令。
多個項(xiàng)或指令用“;”隔開,運(yùn)行時(shí)會按順序運(yùn)行,無法運(yùn)行或被拒絕運(yùn)行的指令會跳過。特別的,在cfg文件中可以通過換行來分隔多條指令,指令后可以選擇性加“;”??崭衿鋵?shí)也能分隔指令,但是容易出現(xiàn)多條指令被當(dāng)成一條指令導(dǎo)致無法運(yùn)行的情況。
“""”和“''”的作用是斷句,在指令意思不夠明確的情況下,將一個整體的部分加上引號能使指令能正常運(yùn)行。

二、cfg文件的使用和exec指令
cfg本身是一個文本文件,改為cfg文件以在游戲中讀取。新建一個文本文件,使用記事本編輯,輸入需要運(yùn)行的指令保存,將文件后綴改為.cfg后,移動到steam目錄下的steam\steamapps\common\Counter-Strike Global Offensive\csgo\cfg位置。里面本身有一些CSGO運(yùn)行需要的cfg文件,你的文件不能這些文件重名,比如名稱為“1.cfg”。steam默認(rèn)位置為C:\Program Files (x86),在steam主界面左上角依次點(diǎn)擊查看-設(shè)置-下載-內(nèi)容庫-STEAM庫文件夾,找到存儲空間管理器中有你的CSGO游戲的STEAM庫文件夾,其下方會顯示steam的路徑。
運(yùn)行的指令為exec,因?yàn)槲业腸fg文件名為“1.cfg”,代碼為“exec 1”或“exec 1.cfg”,打開控制臺輸入代碼后回車,即會運(yùn)行該cfg文件中的代碼。
在steam主界面csgo-設(shè)置-通用中找到啟動選項(xiàng),里面可以輸入指令,在游戲開始的同時(shí)就會運(yùn)行,如alias、language等指令不能永久保存在設(shè)置中,每次打開游戲都要運(yùn)行,就可以把它們打在這里。更好的辦法是用一個cfg文件打包在一起,這樣這里只需要打exec一個指令。

三、bind系列指令
你的cfg第一項(xiàng)應(yīng)該是“unbindall”,意思是將所有按鍵解綁。注意綁鍵系統(tǒng)中有一些鍵是不在里面的,如Esc退出、鼠標(biāo)選擇、Ctrl發(fā)槍、`控制臺。
unbind指令格式為“unbind <鍵位A>”,在控制臺中鍵位需要加引號,在cfg文件中可以選擇性不加,意思是解除鍵位A的功能。
bind指令的格式為“bind <鍵位A> <功能B>””,在控制臺中鍵位需要加引號,在cfg文件中可以選擇性不加,意思是將鍵位A設(shè)為功能B,其中功能B是一條指令或者由分號分隔的多條指令。如果功能B是unbind和bind等指令,必須給功能B加上引號,否則指令無法運(yùn)行。如bind 0 "unbind MOUSE2",意思是按0來解除鼠標(biāo)右鍵的功能。

四、所有可以表示的鍵位的代碼形式
本文將鍵盤鼠標(biāo)分為5個部分說明,所有字母均可大寫。另外前文說了鍵位可以加引號。
【主鍵區(qū)】除了`鍵外其他鍵均可綁定
①直接打?qū)?yīng)鍵
字母、數(shù)字
-
=
[
]
\
;
'
,
.
/
②需要打?qū)?yīng)鍵的名字
Tab鍵:tab
大小寫鍵:capslock
空格:space
退格:backspace
③成對的按鍵
左Shift:shift
右Shift:rshift
左Ctrl:ctrl
右Ctrl:rctrl
左Alt:alt
右Alt:ralt
【功能鍵區(qū)】F1~F12可以綁定
F1~12就是f1、f2、...、f12。注意有Fn鍵的鍵盤,如果設(shè)置默認(rèn)F1~12為電腦操作功能,在CSGO游戲中需要按住Fn的同時(shí)按F1~12來執(zhí)行該鍵的功能。
【光標(biāo)控制區(qū)】
Insert:ins
Delete:del
Home:home
End:end
Page Up:pgup
Page Down:pgdn
上下左右箭頭分別為uparrow、downarrow、leftarrow、rightarrow。
【數(shù)字小鍵盤區(qū)】
1:kp_end
2:kp_downarrow
3:kp_pgdn
4:kp_leftarrow
5:kp_5
6:kp_rightarrow
7:kp_home
8:kp_uparrow
9:kp_pgup
0:kp_ins
.:kp_del
/:kp_slash
*:kp_multiply
-:kp_minus
+:kp_plus
Enter:kp_enter。注意需要解鎖小鍵盤。
【鼠標(biāo)】
左鍵:mouse1
右鍵:mouse2
中鍵:mouse3
側(cè)鍵1:mouse4
側(cè)鍵2:mouse5
滾輪上:mwheelup
滾輪下:mwheeldown。注意鼠標(biāo)如果有側(cè)鍵,默認(rèn)靠近鼠標(biāo)頭的為側(cè)鍵2,另一個為側(cè)鍵1,實(shí)際看你的鼠標(biāo)設(shè)置。

五、alias指令基礎(chǔ)和指令中“+”“-”的意思
alias指令的格式為alias <自定義名稱A> <功能B>,意思是把功能B取名為自定義名稱A。
這條指令不能永久保存,每次進(jìn)游戲都要輸一次,如果有長期需要應(yīng)該放在啟動項(xiàng)中。
【用途】
使用這條指令可以將自己記不住的指令改為其他名字甚至是中文。
使用這條指令可以消除歧義,例如上文中設(shè)置按0來解除鼠標(biāo)右鍵的功能,bind 0 unbind MOUSE2是無效的,但是如果提前運(yùn)行了指令alias asd "unbind mouse2",之后就可以用bind 0 asd來實(shí)現(xiàn),當(dāng)然alias指令里的引號還是不能少,所以基本沒有人會這樣用。
最重要的功能,就是將多個指令打包起來。在下文中用具體例子來闡述它的作用。
【經(jīng)典例子1——跳投指令】
完整的跳投指令為:
alias +jumpthrow"+jump;-attack";
alias -jumpthrow"-jump";
bind x"+jumpthrow"
其中有三條。第一條的意思是把跳躍并松開攻擊鍵定義為執(zhí)行jumpthrow,第二條的意思為把停止跳躍定義為停止執(zhí)行jumpthrow,第三條的意思是把x鍵設(shè)置為功能“執(zhí)行jumpthrow”。
先來說一下其中“+”“-”的意思??梢钥吹轿曳g成了“執(zhí)行”和“停止執(zhí)行”,如果輸入一個指令前面帶加號,運(yùn)行后將持續(xù)不會停止地執(zhí)行該指令,只有輸入同樣的指令,把前面的加號改成減號,運(yùn)行后才會停止。很多命令執(zhí)行一次和持續(xù)執(zhí)行是需要區(qū)分的,所以對應(yīng)的指令前會有加號。這樣你也會明白為什么后面第六部分有的指令有加號,有的沒有了。
在上面展示的跳投指令中,把x鍵設(shè)置為功能“執(zhí)行jumpthrow”,松開x鍵就會停止執(zhí)行。第一條指令會完成跳投的動作,但是由于跳躍還需要停下來,所以需要加上第二條指令,使得松開x跳躍不會繼續(xù)下去。
如果你剛剛思考了一下,你會發(fā)現(xiàn)這個指令其實(shí)并不需要使用alias指令。bind x"+jump;-attack;-jump"就能實(shí)現(xiàn)。插一句話,有的場合需要右鍵和雙鍵跳投,前面的-attack前后應(yīng)該再加一條-attack2。說明這個例子還不能極致地體現(xiàn)alias指令的意義。所以我增加了第二個例子。
【經(jīng)典例子2——大跳指令】
完整的大跳指令為:
alias +cjump"+jump; +duck";
alias -cjump"-jump; -duck";
bind space"+cjump"
同樣是三條指令,類似于跳投,不再逐字解讀。與bind space"+duck;+jump;-duck;-jump"相比,前者如果你不松開空格,下蹲不會停止,正好與跳蹲接上,只需要長按空格就可以完成一次大跳+跳蹲,到位置再松開才會站起來;而后者按完就會立刻站起來,你必須接一個蹲鍵才能完成這個動作。
在跳投指令中,你需要使用左鍵來執(zhí)行attack,跳投鍵立即終止它來完成一次完美的跳投。而大跳最好不要立即終止,需要蹲這個動作的持續(xù),所以alias指令的加入讓它變得更完美。值得一提的是,連跳是默認(rèn)關(guān)閉的,所以+jump并不會讓你一直跳躍,如果開啟了連跳,長按大跳鍵會使你跳蹲的動作結(jié)束后繼續(xù)跳下去。

六、常見功能對應(yīng)的指令
下面的指令只是一些基礎(chǔ)功能,有更多的需求請自行查找或研究
推薦學(xué)習(xí)buy、give和use三個指令和toggle的用法
【動作類】
前后左右移動分別是+forward、+back、+moveleft、+moveright
下蹲:+duck
靜步:+speed
跳躍:+jump
切槍:lastinv
換彈:+reload
拾取/拆包:+use
丟棄:drop
開火:+attack
第二開火/開鏡:+attack2
上一武器:invprev
下一武器:invnext
切換左右手:toggle cl_righthand 1 0
清楚血跡:r_cleardecals
飛行:noclip
【信息類】
全局聊天:messagemode
隊(duì)內(nèi)聊天:messagemode2
切換ui顯示:show_loadout_toggle
語音:+voicerecord
標(biāo)記地點(diǎn):player_ping
命令類無線電消息:radio1
標(biāo)準(zhǔn)類無線電消息:radio2
報(bào)告類無線電消息:radio3
記分牌:+showscores
選擇陣營:chooseteam
打開控制臺:toggleconsole
退出房間:exit
斷開連接:disconnect
退出游戲:quit
【使用類】
購買菜單:buymenu
噴漆菜單:+spray_menu
自動購買:autobuy
重復(fù)上次購買:rebuy
切換主武器:slot1
切換副武器:slot2
切換近戰(zhàn)武器:slot3
切換投擲武器:slot4
切換道具:slot5
切換高爆手雷:slot6
切換閃光彈:slot7
切換煙霧彈:slot8
切換誘餌彈:slot9
切換燃燒瓶:slot10
切換電擊槍:slot11
切換治療劑/X光:slot12
切換平板:slot13

七、組合鍵的實(shí)現(xiàn)
使用bind指令只能實(shí)現(xiàn)綁定功能到一個按鍵,而例如steam界面默認(rèn)快捷鍵Shift+Tab是一個組合鍵,那么怎么才能實(shí)現(xiàn)組合鍵呢?這時(shí)候又需要alias出手了。相信有的小伙伴已經(jīng)想到了,通過定義一個按鍵,使得它被按下的時(shí)候另一個鍵才有效果。邏輯已經(jīng)給出來了,通過下面的例子相信你就知道怎么使用了。
alias +ctrlbuy"bind a'buy ak47;buy m4a1';bind ,'say !drop'";
alias -ctrlbuy"bind a +moveleft;unbind ,";
bind ctrl +ctrlbuy
首先你的引發(fā)鍵Ctrl本身不能有其他功能,然后給了兩種情況,第一種里我們的A鍵本身有移動的功能,使用Ctrl+A購買了長槍后只要松開Ctrl,A的功能需要回來;第二種里,鍵本身沒有作用,發(fā)完刀就可以解綁這個鍵了。
據(jù)我了解,設(shè)置了組合鍵的玩家極少,但是這并不是沒有作用。比如按住,時(shí),小鍵盤的功能是購買相關(guān),按住.時(shí),小鍵盤的功能是跑圖和bot相關(guān),按住/時(shí)小鍵盤的功能是demo相關(guān)。職業(yè)選手公開的cfg是比賽專用,固然最多只需要把小鍵盤綁購買相關(guān)的功能,但是不排除有職業(yè)選手的私人cfg有我上述所說的類似的綁定方法。
八、最后補(bǔ)充
本文主要將的是如何給自己做一個鍵位設(shè)置的cfg文件,但是比如我們?nèi)ゾW(wǎng)吧玩,我們的設(shè)置不光是鍵位,還有準(zhǔn)星、持槍視角、視頻設(shè)置等。不過上述內(nèi)容均有對應(yīng)的指令可以實(shí)現(xiàn),我們只需要補(bǔ)充在我們的cfg中即可。全文大概3000多字從頭到尾都是本人分兩次手打,其中難免出現(xiàn)錯別字、拼寫錯誤、邏輯錯誤等問題,如有發(fā)現(xiàn),懇請?jiān)谠u論區(qū)中指出,感謝。