コンフィグ

Last-modified: 2012-08-01 (水) 02:48:18

編集する際の注意 

参照(スペースを前につける)をすると自動改行されなくなります。ほかの文からコピペすると非常に横に長い状態になってしまう場合があるので注意してください。

コンフィグ

Source Engineを利用したゲームではcfgフォルダにあるファイルを編集することによりゲームの操作を変更したり、メニューを変更したりできます。

cfgフォルダは

C:\Program Files\Steam\SteamApps\ユーザー名\left 4 dead\l4d\cfg
(またはC:\Program Files\Steam\SteamApps\common\left 4 dead\left4dead\cfg)

にあります。


  • そもそもコンフィグとは何ぞや?
    HL系のゲームなどをプレイしたことがある人にはお馴染みだとは思いますが
    環境設定や、好きなキーへ武器をbindするなど、ゲームをするうえで便利な設定をするファイルです。

コンソールコマンド

コンソールコマンドとは開発者コンソールのことで、ゲームのデータや操作などをコマンドで実行させることができる方法です。直接コマンドを打ち込むことにより、ゲームの操作をしたり、パラメーターを変更させたり、DEMOを撮影したり出来ます。

コンソールのコマンドはたくさんあります。以下のCSVファイルは一覧ですが
製品版CvarList http://natto.studio-web.net/data/cvarlist.csv
コンソールコマンドに代表的なコマンドのサンプルが置いてあります。

コンソールコマンドを開くためにはスタートメニュー>設定>キーボード/マウスをクリックして
そこの中の開発者コンソールを有効にしてください。デフォルトキーは全角キーですので漢字入力が
同時に入ってしまい非常に使いにくいので

unbind "`"
bind "F12" "toggleconsole"

とコンフィグファイルに書き込めばF12を押すと開きます。全角キーはunbindで無効になりましたので日本語入力のみの機能になります。

configを自分で編集

  • 設定ファイルは、「config.cfg」と「autoexec.cfg」と「userconfig.cfg」。(自分でファイル名を決める事もできます)
    autoexec.cfgとuserconfig.cfgは最初は無いので自分でメモ帳などをつかって作成する。
    ファイルの場所は、以下の通り
    Program files¥valve¥steam¥steamapps¥steamアカウント※¥left 4 dead¥left4dead¥cfg
    デモの場合(Program files¥steam¥steamapps¥common¥left 4 dead demo¥left4dead¥cfg~)
    ※登録したアカウント名
    これらのファイルを作る際、拡張子に注意してください。
    エクスプローラのメニューから、「ツール-フォルダオプション-表示-登録されている拡張子は表示しない」のチェックをはずす。
    これで拡張子が表示されるようになります。
    またcfgファイルは、8kB以下にする必要があります。これを超えるとバグります。


    各設定ファイルの違いは以下の通り
    config.cfgプログラムの管理下にあるファイルで、設定によってはL4Dを終了させるたびに上書きされて消えてしまうものがある。
    autoexec.cfg毎回L4D起動時にconfig.cfgに自動で書き込まれる。(すべてが書き込まれるわけではない)
    userconfig.cfgconfig.cfgに書き込まれないが、設定が反映される。


    userconfig.cfgを使う場合は、autoexec.cfgの最後に以下を書き込む。
    exec userconfig.cfg
    なお、"//"の右側はコメントになるので、設定として反映されません。
    環境設定は以下のように、コマンドと値がセットになっています。
    ちなみに"userconfig.cfg"等に書かなかった場合は、デフォルトの値が使われます。
    "コマンド" "値" //コメント
    ここのページ(コンフィグ)書かれている各設定やbind等は、一部を除き「autoexec.cfg」もしくは「userconfig.cfg」へ
    記述する事を前提としています。

環境設定など

基本設定

  • コンソールを使う

    con_enable "1" // コンソールを有効にする

ビデオ設定

exkey

通信速度の設定

  • rate:通信帯域の設定(単位:byte/sec)
    十分大きい必要があるが、これだけ編集してもほぼ意味はない。
    また、サーバ側がsv_lan "1"に設定されているとサーバ依存。

    rate "25000"//(推奨:6000以上、MAX:25000)

  • cl_cmdrate:コマンド送信頻度(単位:/sec)

    cl_cmdrate "60"//(推奨:30~60、default:30、MAX:100)

  • cl_updaterate:データ要求頻度(単位:/sec)

    cl_updaterate "60"//(推奨:20~60、default:20、MAX:60)

低速回線でも支障なくプレイできるようにデフォルトの値は低めに設定されています。
あなたの回線が十分に早いなら、値を大きくすることでより快適にプレイできます。
ただし、通信処理の負荷が大きくなる為、通信量の多い混戦時等でのFPS低下に繋がります。
:単純にMAX値またはそれ以上に設定すると逆効果であることが判明しております。net_graphを参照しながら各自環境に合わせて調整して下さい。
テストは『静寂時』『混戦時』など複数の条件で確認するべきです。

pingの良い鯖のみに接続したい場合

sv_search_max_ping "150"//要調整

ロビーリーダーの時、ここで設定した以上のPINGのサーバーには繋がなくなる。(デフォルトは250)
50~200がいい。日本のサーバに繋げたいときは50~75くらいが丁度いい。
進行中のゲームに接続するときも効いている?

その他

bind

  • キーに操作を関連付けるのを"bind"といいます。書き方は

bind "関連付けるキー" "操作" //コメント

となります。
複数の操作を1つのキーにbindすることもできます。
その場合は";(セミコロン)"で操作を分けて書き

bind "関連付けるキー" "操作1;操作2"

となります。


またバインドのときよく使うaliasの意味ですが
UNIXなどを使用した人ならわかると思いますが、「別名をつける」の意味で
使い方としては

alias "別名" "正式名"

となります。
aliasを利用すると、複数の動作をひとつの別名でまとめられたりとナカナカ便利です。
aliasでつけた別名はbindの際に使用できます。

bindに使えるキー

日本語キーボードを英語キーボード配列に無理やり合わせているため、キーボードの表示と設定が一致しない場合があるので注意。

通常キーテンキーマウス
1~0KP_INS0MOUSE1左クリック
a~zKP_DEL.MOUSE2右クリック
F1~F12ファンクションキーKP_END1MOUSE3ホイールクリック
ENTERエンターKP_DOWNARROW2MOUSE4マウス戻るボタン
ESCAPEEscキーKP_PGDN3MOUSE5マウス進むボタン
SPACEスペースキーKP_LEFTARROW4MWHEELUPホイールアップ
UPARROW↑キーKP_55MWHEELDOWNホイールダウン
DOWNARROW↓キーKP_RIGHTARROW6
LEFTARROW←キーKP_HOME7その他
RIGHTARROW→キーKP_UPARROW8,
ALT左側AltキーKP_PGUP9.
SHIFT左側シフトキーKP_SLASH//
INSインサートキーKP_MULTIPLY*;
HOMEHomeキーKP_MINUS-=
DELDelキーKP_PLUS+[
PGDNPage DownキーKP_ENTEREnter]
PGUPPage UPキー`(全角半角キー。bindには使わない方が良い)
ENDEndキー
PAUSEpauseキー
TABTabキー
RSHIFT右側シフトキー
NumLockNumLockキー
RALT右側Altキー
CTRL左側Ctrlキー
RCTRL右側Ctrlキー
CAPSLOCK英数キー
SCROLLLOCKScroll Lockキー

通信状況等の表示

通信状況等の確認にはネットグラフを使います。
ネットグラフ関係の設定は以下です。

net_graph "1"                // グラフの表示(0:表示しない)
net_graphpos "1"             // グラフの位置(1:右端、2:画面中央、3:左端)
net_graphsolid "1"           // グラフの透過表示
net_graphheight "150"        // グラフの縦位置を指定

left4deadでは画面下にいろいろ情報が表示されるので表示位置をすこし上にしてあります。
解像度で位置が異なるためnet_graphheightの値を調整してください。
ネットグラフ on/offの切り替え(net_graphは1~3まであります)

alias graph_toggle "graph_on1"
alias graph_on1 "alias graph_toggle graph_on2; net_graph 1"
alias graph_on2 "alias graph_toggle graph_on3; net_graph 2"
alias graph_on3 "alias graph_toggle graph_off; net_graph 3"
alias graph_off "alias graph_toggle graph_on1; net_graph 0"
bind "関連付けるキー"  "graph_toggle"

バインドしたキーでネットグラフを1~3まで表示したり消したりします。

FPSの表示

フレームレート(frame per second)のみを表示ときはcl_showfpsを使います。

cl_showfps "1"

サーバブラウザ表示

bind "F12" "openserverbrowser"

left 4 deadではデフォではサーバ選択画面は出ません。
軽い鯖を選ぶ場合は必要不可欠。
これでF12キーでブラウザを起動できる。

※上記の他にランチオプション(下にある起動設定参照)に"-serverbrowser"と追加するだけでメニュー画面にサーバーブラウザの項目が現れる。

デモ録画スクリプト

alias recdemo "rec01"

alias rec01 "record demo01; developer 1; echo ********** Start Recording demo01 **********; ;wait 500; developer 0;alias recdemo rec02"

alias rec02 "stop; developer 1; echo ********** Stop Recroding demo01 **********; ;wait 500; developer 0;alias recdemo rec03"

alias rec03 "record demo02; developer 1; echo ********** Start Recording demo02 **********; ;wait 500; developer 0;alias recdemo rec04"

alias rec04 "stop; developer 1; echo ********** Stop Recroding demo02 **********; ;wait 500; developer 0;alias recdemo rec05"

alias rec05 "record demo03; developer 1; echo ********** Start Recording demo03 **********; ;wait 500; developer 0;alias recdemo rec06"

alias rec06 "stop; developer 1; echo ********** Stop Recroding demo03 **********; ;wait 500; developer 0;alias recdemo rec07"

alias rec07 "record demo04; developer 1; echo ********** Start Recording demo04 **********; ;wait 500; developer 0;alias recdemo rec08"

alias rec08 "stop; developer 1; echo ********** Stop Recroding demo04 **********; ;wait 500; developer 0;alias recdemo rec09"

alias rec09 "record demo05; developer 1; echo ********** Start Recording demo05 **********; ;wait 500; developer 0;alias recdemo rec10"

alias rec10 "stop; developer 1; echo ********** Stop Recroding demo05 **********; ;wait 500; developer 0;alias recdemo rec11"

alias rec11 "record demo06; developer 1; echo ********** Start Recording demo06 **********; ;wait 500; developer 0;alias recdemo rec12"

alias rec12 "stop; developer 1; echo ********** Stop Recroding demo06 **********; ;wait 500; developer 0;alias recdemo rec13"

alias rec13 "record demo07; developer 1; echo ********** Start Recording demo07 **********; ;wait 500; developer 0;alias recdemo rec14"

alias rec14 "stop; developer 1; echo ********** Stop Recroding demo07 **********; ;wait 500; developer 0;alias recdemo rec15"

alias rec15 "record demo08; developer 1; echo ********** Start Recording demo08 **********; ;wait 500; developer 0;alias recdemo rec16"

alias rec16 "stop; developer 1; echo ********** Stop Recroding demo08 **********; ;wait 500; developer 0;alias recdemo rec17"

alias rec17 "record demo09; developer 1; echo ********** Start Recording demo09 **********; ;wait 500; developer 0;alias recdemo rec18"

alias rec18 "stop; developer 1; echo ********** Stop Recroding demo09 **********; ;wait 500; developer 0;alias recdemo rec19"

alias rec19 "record demo10; developer 1; echo ********** Start Recording demo10 **********; ;wait 500; developer 0;alias recdemo rec20"

alias rec20 "stop; developer 1; echo ********** Stop Recroding demo10 (NEXT demo01) **********; ;wait 500; developer 0;alias recdemo rec01"

bind "F9" "recdemo"

デモ録画スタートストップを1キーでするためのスクリプト。
この場合はF9キーを一度押すと録画スタート、もう一度F9を押すとストップします。
demo01、demo02、demo03とファイルを作っていきdemo10まで行ったら次はdem01を上書きします。
最後の"recdemo"を"recdemo;voice_loopback 1"に書き換えると自分のVCも録音される。

回復アイテムを1つのキーにまとめる

キーを1度押すとPill、2度続けて押すとKitを持ちます。任意のキーにtoggle_healをbindしてください。デフォルトでQキーに割り当てています。
下の6行は、それぞれslot1/slot2/slot3/lastinv/invnext/invprevを割り当てているキーにbindし直してください。このようにして武器変更時にローテーションをリセットしないと、1度目でKitを持ってしまったりするバグが出ます。

// heal item rotator : 1 click to pain pill, 2 clicks to first aid
alias "toggle_heal_pill" "slot4; slot5; alias toggle_heal toggle_heal_aid"
alias "toggle_heal_aid" "slot5; slot4; alias toggle_heal toggle_heal_pill"
alias "toggle_heal" "toggle_heal_pill"
bind "q" "toggle_heal"
alias "reset_toggle_heal" "alias toggle_heal toggle_heal_pill"
// weapon selection binds w/ reset rotation
bind "X" "slot1; reset_toggle_heal"
bind "X" "slot2; reset_toggle_heal"
bind "X" "slot3; reset_toggle_heal"
bind "X" "lastinv; reset_toggle_heal"
bind "X" "invprev; reset_toggle_heal"
bind "X" "invnext; reset_toggle_heal"

本当は「alias "slot1" "slot1; alias toggle_heal toggle_heal_pill"」とかできれば汎用的でいいんですけどね…。あっさり無限ループでハングするので手間が掛かるのです

起動設定

そもそもこれコンフィグの項目でいいのか?

  • Steam上のゲーム名が表示されているところで右クリックするとプロパティが現れるのでそれをクリック
    一般タブ > 起動設定 をクリックしてそこのテキストボックスに各項目を記入。
    環境によってはマシンが不安定になったり、起動できなくなったりするので
    その場合は設定を削除すること。
    複数入力する場合はスペースで区切る。
    例「-console -freq 60」
    -novid起動時のオープニングムービーを飛ばせる
    +map noneメインメニュー画面で背景の動画を描写するのをやめる。
    この設定はどうやら無効な様なので
    Steam\steamapps\common\left 4 dead\left4dead\resource\L4D360UIScheme.res

    BackgroundMovie "media/l4d_background.bik"
    と記述してある行があるので、この行をコメントアウトすればOK牧場
    -devデバッグモードで起動する
    -consoleコンソールを開いた状態で起動するようにする
    -windowウィンドウモードで起動
    -width解像度の幅を指定する。「-width 800」のように使う。800、1024、1280などが定番。高さは設定値に合わせて自動的に決まる。-wでも可。
    -height解像度の高さを指定する。4:3以外の物を指定するときに使う。-hでも可。
    -xウィンドウ位置(横)を指定する。「-x 0」のように使う。
    -yウィンドウ位置(縦)を指定する。
    -freq強制的に指定したリフレッシュレートで起動。「-freq 60」のように使う。60なら60Hz。普通は設定しなくてよい。
    液晶モニタにはそもそもリフレッシュレートと言う物が無いので設定する意味はない…が、
    自動検出した値がサポート外になったりして画面が映らないとか言う時には使える。
    あまり変な値を入れるとモニタが壊れたりするかも知れないので慎重に。
    -dxlevelDirectXの指定。fpsを稼ぎたい場合 -dxlevel 81 と入れるとDirectX8で起動する。DirectXを下げるとグラフィックは非常にショボくなります。
    81、90と各バージョンあります。

    一度DirectXレベルを変更して起動すれば、以降は起動設定を外しても変更は保存されます。
    付けたままだと起動するたびに解像度・明るさ設定などが初期化されるので注意。
    使用しているドライバのバージョンによっては変更できない場合もあり。
    -autoconfig初回起動時に自動で行われるハードウェアの性能テストを強制的にもう一度行わせる。内部設定が全てリセットされる。突然動かなくなった時などに使う。
    上の項目同様付けたままだと起動するたびにリセットされるので注意。
    -nosound一切の音声出力を止める。音源部分に問題がある場合だけ使い、サウンドカードのドライバを最新にする、
    DirectX診断ツールでサウンドのハードウェアアクセラレーションをいじる、等と組み合わせて使おう。
    -lv残酷表現、過剰表現を抑えた設定となる。
    -32bit64bitのOSを使用している時に、強制的に32bitモードで起動させる
    -noborderウィンドウモード時にタイトルバーや枠を表示しない
    -serverbrowserメニュー画面にサーバーブラウザを追加させる

キーボード設定 拡張スクリプト

exkey

Left 4 Deadのキーボード設定にゲーム中 ラジオチャットをメニューを出さずに

設定したkeyを押すだけで一発でしゃべらせれる(Bind出来る)項目を追加します

■導入方法 (体験版の場合)

left4deadフォルダ内のファイルをL4Dのインストールフォルダにそれぞれ上書き

(\Steam\steamapps\common\left 4 dead demo\left4dead\)

ゲームを起動して設定→キーボード設定の一覧にラジオチャットの項目が追加されてればOK

後は使用したいラジオチャットにkeyを割り当ててゲーム中動作確認

※製品版はファイル構成が変わると思うけど、

 体験版と同じファイル構成の場所へ上書きすれば応用が利くはず

ダウンロード:fileキーボード設定拡張ファイル

Radial Menuの項目をカスタマイズする

Q.Radial Menuとはなんぞや?
A.ゲーム中デフォルトキーの ZとX で出る指示ボイスコマンドメニューです。 


Steam\steamapps\common\left 4 dead\left4dead\scripts
ここの中にあるRadialMenu.txtを書き換えることで色々な声が出せるようになります。
不具合が出るかもしれませんので変更するファイルは必ずバックアップを取ってから変更して下さい


変更例:


Zキーを押した際に出るメニューの真ん中の項目を変えてみます。
まず、RadialMenu.txtをノートパッド等で開きます。

	"Orders,Survivor,Alive"
	{
		"Center"  < ここがメニューの表示位置を示しています。
		{
			"command"	     "vocalize smartlook" 
↑ここが実行された場合に使用される音声を示しています。↑
			"text"		 "#L4D_rosetta_look"
↑ここがZキーを押した際に表示される文章を示しています。↑
		}



command に使える音声は下記のリストから選べます。


vocalize CallForRescue
vocalize EatPills
vocalize elevator_conversation (ルイスは使用不可)
vocalize EmphaticArriveRun
vocalize PlayerAlertGiveItem
vocalize PlayerAreaClear
vocalize PlayerAskReady
vocalize PlayerChoke
vocalize PlayerCoverMe
vocalize PlayerDeath
vocalize PlayerFollowMe
vocalize PlayerFriendlyFire
vocalize PlayerHealing
vocalize PlayerHealingOther
vocalize PlayerHelp
vocalize PlayerHurrah
vocalize PlayerHurryUp
vocalize PlayerImWithYou
vocalize PlayerIncapacitated
vocalize PlayerIncoming
vocalize PlayerKillThatLight
vocalize PlayerLaugh
vocalize PlayerLeadOn
vocalize PlayerLedgeHangEnd
vocalize PlayerLedgeHangMiddle
vocalize PlayerLedgeHangStart
vocalize PlayerLedgeSave
vocalize PlayerLedgeSaveCritical
vocalize PlayerLookOut
vocalize PlayerMoveOn
vocalize PlayerNegative
vocalize PlayerNiceJob
vocalize PlayerNiceShot
vocalize PlayerNo
vocalize PlayerReviveFriend
vocalize PlayerSorry
vocalize PlayerSpotAmmo
vocalize PlayerSpotFirstAid
vocalize PlayerSpotGrenade
vocalize PlayerSpotMolotov
vocalize PlayerSpotPills
vocalize PlayerStayTogether
vocalize PlayerTaunt
vocalize PlayerThanks
vocalize PlayerVomitInFace
vocalize PlayerWaitHere
vocalize PlayerWarnBoomer
vocalize PlayerWarnCareful
vocalize PlayerWarnHunter
vocalize PlayerWarnSmoker
vocalize PlayerWarnTank
vocalize PlayerWarnWitch
vocalize PlayerWatchOutBehind
vocalize PlayerYes
vocalize PlayerYouAreWelcome
vocalize ResponseSoftDispleasureSwear
vocalize ReviveMeInterrupted
vocalize ScenarioJoin
vocalize smartlook
vocalize YouWelcome


試しにcommandの項目を "vocalize PlayerWarnTank" に変更し、
textの項目欄に"TANK"と入れて保存します。


ゲームを起動しZキーを押すと真ん中の項目がTANKに変わってると思います。
実際に真ん中を指定してキーを放すと「ターンク!」と叫び、
同様に他の項目を書き換えることで様々な音声を発する事が出来ます。


このカスタムを応用すれば好きなタイミングで様々なセリフを叫ばせることができるようになりますが、
乱用するとチームへの妨害や嫌がらせと認識されキック投票を受ける可能性もあるのでほどほどに。
代表的なのはその場にいないボスの名前を連呼する、「死に際の叫び声」を連発するなど。