hi all,
你常常會遇到這種情況嗎?
玩到一半不小心TK到隊友,停下來打字說聲"sorry"卻被爆頭?!

沒有MIC又看到C4在地上,想要告訴隊友C4在這邊卻一瞬間變成觀察者的畫面?!

這些其實都可以透過自製的config,用一個按鍵來回報各種戰況,
不用停下來打字,也可以讓你玩的更順暢
那會很難嗎? 不會的
回想當初我剛開始玩CSS時,也是笨笨的按照A+ | MiNiTotor^o^說的
每次啟動CSS 時都要輸入三行:
alias +dd "+jump;+duck"
alias -dd "-jump;-duck"
bind space +dd
直到有一天Cat413到我家時,
我才知道其實可以把這三行寫在一個叫autoexec.cfg,
CSS啟動後就會自動執行了



好啦~廢話不多說,先來個熱身運動吧
※ 熱身之前請注意,請把你原來的config.cfg備份起來,以防萬一

※ 預設位置C:\Program Files\Valve\Steam\SteamApps\{你的帳號}\counter-strike source\cstrike\cfg\config.cfg
※ 以下講解的例子,有可能會用到同樣的鍵盤按鍵,請自行修改
那就先解釋三個名詞
1.Console(設計者命令列)
啟用方法:[選項] → [鍵盤] → [進階] → [啟用設計者命令列],然後按~(tab鍵上方,Esc下方那個波折號)
上面說的那三行就是要在這個地方輸入
在console也可以看到很多CSS訊息(log)
也可以手動設定一些設定值
如滑鼠靈敏度(sensitivity)
搭配Tab補完鍵也可以不用打很多字
※ Tab補完鍵: 例如你要打sensitivity,不用全部都打,先打se,再按tab,它就會幫你把後面的字補完
2.Bind(綁定,我習慣就是講"設定")
使用方法:bind "按鍵" "指令or動作"
打開你自己的config(用純文字簿程式),其實就會看到很多bind
這些就是將某些動作或指令設定在相對應的鍵盤按鍵上
如果有兩個以上的動作,請用;區隔
通常會在一行指令的後面加上//做註解說明,
這樣才不會以忘突然忘記這個指令是做什麼用的 XD
另外,CS:S的指令列表這裡有
3.alias(別名,簡單說就是可以自訂一組命令,然後給它一個名稱)
使用方法:alias <自定名稱> "動作or指令"
上面那三行就是最基本的例子了
alias在編寫自己的config是很常用到的
當你定義好自己的自定動作後
還是要把它用bind設定在對應的鍵盤按鍵上喔!
好啦,熱身完了,開始講正經一點的
前面有提到,不小心TK到隊友,停下來打字說聲"sorry"其實很麻煩的
這時我們就可以用剛剛提到的bind
在console輸入 bind "KP_Enter" "say Sorry for TK .."
這樣往後不小心TK隊友的話,馬上按右邊數字鍵的Enter
在螢幕上會show出 Sorry for TK ..
或者是,你看到TS弄丟的C4,也可以馬上告知隊友
eg, bind "v" "say_team C4 here!! need backup!!!!"
(我是習慣bind在v啦, 很好按到又不會影響行動)
再來一個不錯的小應用:Flash跟bala

每次按4選flash或bala時,要按個兩次,外加滑鼠左鍵確定一次
是不是很麻煩咧
這時就可以用bind來解決:
bind "MWHEELUP" "use weapon_flashbang"
bind "MWHEELDOWN" "use weapon_hegrenade"
這樣用滑鼠滾輪往前 → 使用flash
滑鼠滾輪往後 → 使用bala
同樣的,你可以把timeleft(查詢還有多久換map)也用bind的
eg, bind "n" "timeleft" 或者有人是跟tab(顯示分數)弄在一起的
eg, bind "TAB" "+showscores;timeleft"
好用吧!!!!

如果以上的講解都可以了解的話,那就再來個炫一點的小東西 ... 五彩的準心


是用alias和bind的綜合應用
準心的顏色有五種,可以讓他一直變換顏色
看起來真的蠻炫的!! (對..就只有炫而已,不會讓你變準)
alias csr_clr "csr_color"//定義'改變顏色的動作'
alias csr_color "cl_crosshaircolor 1;alias csr_clr csr_color1" //先定義第一種color,然後接續定義下一個color
alias csr_color1 "cl_crosshaircolor 2;alias csr_clr csr_color2" //接續上面那行,接續定義下一個color
alias csr_color2 "cl_crosshaircolor 3;alias csr_clr csr_color3" //同上
alias csr_color3 "cl_crosshaircolor 4;alias csr_clr csr_color4" //同上
alias csr_color4 "cl_crosshaircolor 0;alias csr_clr csr_color" //同上,最後定義回第一種,變成一個迴圈
bind "MOUSE1" "+attack;csr_clr" //每按一次射擊,改變一次顏色
bind "MOUSE2" "+attack2;csr_clr"
bind "a" "+moveleft;csr_clr" //往左走一步,改變一次顏色
bind "d" "+moveright;csr_clr" //往右走一步,改變一次顏色
bind "w" "+forward;csr_clr" //往前走一步,改變一次顏色
bind "s" "+back;csr_clr" //往後走一步,改變一次顏色
不過每次都要打這麼長一串還是很麻煩吧....

對!你得到它了!!! (Ya~ U got it !!)
聰明的你應該想到可以用剛開始所提到的autoexec.cfg吧
綜合以上所說的,我們可以寫一個簡單的autoexec.cfg了
(開始與結束的分隔線不可以寫進去喔!!)
==================以下為autoexec.cfg內容的分隔線 ================
alias +dd "+jump;+duck"
alias -dd "-jump;-duck"
bind "SPACE" +dd
//以上是蹲跳一鍵完成
bind "KP_Enter" "say Sorry for TK .."
bind "v" "say_team C4 here!! need backup!!!!"
//以上為與隊友溝通用
bind "MWHEELUP" "use weapon_flashbang"
bind "MWHEELDOWN" "use weapon_hegrenade"
//flash&bala XD
alias csr_clr "csr_color"
alias csr_color "cl_crosshaircolor 1;alias csr_clr csr_color1"
alias csr_color1 "cl_crosshaircolor 2;alias csr_clr csr_color2"
alias csr_color2 "cl_crosshaircolor 3;alias csr_clr csr_color3"
alias csr_color3 "cl_crosshaircolor 4;alias csr_clr csr_color4"
alias csr_color4 "cl_crosshaircolor 0;alias csr_clr csr_color"
bind "MOUSE1" "+attack;csr_clr"
bind "MOUSE2" "+attack2;csr_clr"
bind "a" "+moveleft;csr_clr"
bind "d" "+moveright;csr_clr"
bind "w" "+forward;csr_clr"
bind "s" "+back;csr_clr"
//五彩準心
=====================autoexec.cfg結束的分隔線===================
然後把autoexec.cfg放到跟config.cfg同一個目錄下
以後每次啟動CSS,這些config就會自動被輸入了
那麼,就這樣嗎? 當然不是囉
我們可以多寫幾個*.cfg,方便自己使用
例如,自己跟Bot練習的時候,有一些參數就很好用
但是要每次打好幾個,又不想寫在autoexec.cfg裡的話
就可以另外寫一個practice.cfg
====================以下為practice.cfg內容的分隔線 ==================
sv_cheats "1" //開起cheat, 因為有些選項啟動一定要用cheat
bot_dont_shoot "1" //設定Bot不要開槍 for newbie XD
mp_c4timer "90" //C4引爆時間90秒
mp_autoteambalance "0" //兩隊人數可以不平衡
bind "KP_End" "bot_kill"
bind "KP_INS" "bot_add_t" //按右邊數字鍵的0增加一個TS
bind "KP_DEL" "bot_add_ct" //按右邊數字鍵的.增加一個CT
=======================practice.cfg結束的分隔線=====================
一樣,放到跟config.cfg同一個目錄下
進入遊戲後,開啟console輸入 exec practice.cfg(別忘了用tab補完鍵喔)
這樣就可以開始跟BOT打啦,來個1 vs 20吧
再舉一個例子,admin也可以自己寫一份admin.cfg用
====================以下為admin.cfg內容的分隔線 ==================
(2006.02.03修正:
因為CSS的cfg檔是用UTF-8來存檔,而我們一般如果用純文字簿來新增一個cfg時,
是以Big-5碼存,所以在CSS裡面就會變亂碼
解決方式:可以先複製一個已經存在的cfg,如config.cfg,然後把內容清掉,
再加上你自己要的內容,在"另存新檔"時用"UTF-8編碼"存起來即可)
bind "KP_INS" "admin_say 歡迎來到Mobile01 CSS Server,"
bind "KP_DEL" "admin_say 本SV有開啟FF,請小心不要傷到隊友了"
bind "KP_Enter" "admin_say 請勿說髒話及鞭屍,違者Ban處分!!"
bind "KP_End" "admin_say TS請執行你的任務!!
bind "KP_PGDN" "admin_say Please DO NOT TK, or you'll be BANNED!!"
......(後面的請自己加 XD)
=======================admin.cfg結束的分隔線====================
一樣,在console輸入exec admin.cfg就可以用了
因此,參照CS:S的指令列表的內容
你可以開始動手寫一個自己的config囉
------------------- 站起來,去倒杯茶,休息一下的分隔線 -------------------
再來是講幾個FPS及網路相關的參數,
其中,0是關閉,1為啟用
參考資料為轉貼的[CSS Config 的最佳化設定]及How do I script in CS:Source?
不好用的或有可能有問題的,還有參數間有互相影響的,
我都沒列出來,有興趣的可以再自己研究
※ FPS相關
r_drawrain "0" //關閉下雨,de_aztec有用
r_rainsimulate "0" //關閉下雨,de_aztec有用
r_3dsky "0" //關閉3D天空,FPS提升效果明顯
budget_show_history "0" //一種文字說明,在某些地點有這功能
fog_enable "0" //關閉"霧"的效果
rope_smooth "0" //關閉繩索的平滑效果
r_mmx "1" //開啟CPU MMX指令集
r_sse "1" //開啟CPU SSE指令集
r_sse2 "1" //開啟CPU SSE2指令集, AMD要K8才有支援
r_3dnow "1" //開啟CPU 3DNow!指令集 for AMD CPU
cl_ejectbrass "0" //關閉射擊時子彈從槍管飛出的效果
mat_mipmaptextures "1" //使用mip貼圖(開啟提高fps)
mat_reducefillrate "1" // 降低場景反光質量,開啟後只有木地板和aztec水道小部分石塊反光
mat_antialias "0" //關閉顯示卡"消除混疊"功能(AA,Anti-Alias)
※ 網路相關
rate 25000 //一般我看都是這個,可能要自己多試試,可設0 - 99999
cl_rate 20000 //玩家電腦最大的上傳資料量(Bytes/sec), 可設0 - 99999
cl_updaterate "100" //預設好像是60, 從Server端下載資料的每秒封包數, 可設0 - 999, A+ | MiNiTotor^o^設定100
cl_cmdrate "100" //預設我也忘了..Orz, 由玩家電腦上傳給Sever的指令封包數, 可設0 - 999, A+ | MiNiTotor^o^設定100
cl_updatrate跟cl_cmdrate是可以隨時設定的
可以根據你當下的網路情況來設定,直到你滿意為止
我看到有一部分人是都設101
※ 其它參數
con_enable "1" //啟用console
hud_fastswitch "1" //啟用快速換武器
cl_showfps "1" //1 顯示FPS, 0 關閉
cl_righthand "0" //1 - 右手持槍, 0 - 左手持槍
jpeg_quality "100" //F5抓圖的品質,預設90
sensitivity "3.0" //滑鼠靈敏度,預設3
net_graph "3" //顯示網路連線資訊, 0關閉, 有1 - 3三種表示方式
net_graphpos "2" //顯示網路連線資訊在螢幕的那個位置, 有0 - 2三個位置
name "Your Name" //你的名字 XD
------------------看到這你是不是已經有點頭昏眼花的分隔線------------------
好啦, 就這樣了嗎?
開玩笑,你玩格鬥Game時看到對手眼冒金星時會放過他嗎?!


當然是要再來個Combo技啊!!!!!!



那首先就來個輕拳... 喔! 不是啦
還有一個小指令叫 echo,也就是啟動後會把你寫在echo的回應訊息顯示在console log上
例如說,在autoexec.cfg的這個地方加上 echo 這一行
bind "MWHEELUP" "use weapon_flashbang"
bind "MWHEELDOWN" "use weapon_hegrenade"
echo "-------easy-use flash&bala cfg Done!!!!---------"
這樣你執行完autoexe.cfg後,就可以在console log上看到:
-------easy-use flash&bala cfg Done!!!!---------
echo也可以拿來debug, 可以在你寫的*.cfg裡覺得有問題的地方都加上echo一行
然後藉由echo顯示的console log來找出你*.cfg有bug的地方
再來是兩個CS:S的新指令
◎ BindToggle:
適用於參數的值有0/1, On/Off的,例如cl_showfps
以往是要這樣處理的
bind "KP_INS" "cl_showfps 1"
bind "KP_DEL" "cl_showfps 0"
或者是
alias fps "fps_on"
alias fps_on "cl_showfps 1; alias fps fps_off"
alias fps_off "cl_showfps 0; alias fps fps_on"
bind "KP_INS" "fps"
現在可以用BindToggle一行解決:
BindToggle "KP_INS" "cl_showfps"
◎ Incrementvar:(可增值的變數)
格式:incrementvar [自訂變數名稱] [變數最小值] [變數最大值] [變數一次增加的數值] (一共五個,每個中間有空格喔)
這個棒呆了 !!!
如果你有使用的參數是不只0/1一個值的,可以用這個來定義
就不用寫太多的alias或bind
eg, net_graph 就有三種表示方式,以往都要在console自訂net_graph 0-3
現在只要 bind "KP_PGUP" "incrementvar net_graph 0 3 1" 就好了
這樣你每按一次右邊數字鍵的9(PgUp),
net_graph就會從0(變數最小值)開始增量1(變數一次增加的數值)
最大到net_graph 3(變數最大值)
了解了嗎?
oh!! Mr.Incredible!!!
alias csr_clr "csr_color"
alias csr_color "cl_crosshaircolor 1;alias csr_clr csr_color1"
alias csr_color1 "cl_crosshaircolor 2;alias csr_clr csr_color2"
alias csr_color2 "cl_crosshaircolor 3;alias csr_clr csr_color3"
alias csr_color3 "cl_crosshaircolor 4;alias csr_clr csr_color4"
alias csr_color4 "cl_crosshaircolor 0;alias csr_clr csr_color"
這一串就可以改寫成
alias csr_clr "incrementvar cl_crosshaircolor 0 4 1"
It's Amazing, is'nt it!!!!!!
不過,大絕招都會缺點的

用了incrementvar後,會在console log留下一堆數值變換的log
所以你的log會變的很長,要找一些特定的log會有點麻煩 Orz
--------------因為我房間沒冷氣,寫到這已經快熱昏了,不得已結束的分隔線---------
先寫到這好了,我快熱昏了 ...
我也是CS的新手(差不多玩半年左右),CSS也是三月辭掉工作後才開始接觸的
寫這篇文章一方面是希望M01新手們可以自己也寫一份屬於自己的config,
因為我自己也是新手,我都可以了,你也一定可以
再者,是對PigC,A+ | MiNiTotor^o^及M01辛苦維護SV的人表達敬意
沒有M01 SV的話,也就沒辦法認識現在這麼多戰(站)友
真是太感謝各位了!!!!
歡迎大家把自己的config貼出來一起討論喔 =﹞
● 本文參考資料:
1.轉貼的[CSS Config 的最佳化設定]
2.How do I script in CS:Source?
3.CS:Source Commands Listing