Negitaku.org Blog

eスポーツ, FPS, ゲーミングデバイス情報を紹介するサイト『negitaku.org』管理者のブログです

『Team Fortress 2』でクラスごとにcfgを読み分けるスクリプト

Team Fortress 2

TF2 Wiki』というサイトに、『Team Fortress 2』用の便利なスクリプトが紹介されています。

クラスごとにcfgを読み分けるメリットとは?

クラスごとにcfgを読み分けるとどのようなメリットがあるでしょうか? 自分の場合は、Sniperの場合のみSensitivityを下げる、とか Medicの場合にMWHEELUPにslot3を割り当てるなど、 クラス専用に設定を変えることが出来るので重宝しています。

キーが重複しないのはとても便利です。 たとえば、普通はスペースでジャンプになりますが、 Soldierの場合だけ、スペースにはロケジャンのスクリプトを割り当てるというようなこともできるようになります。 それでは、cfgを読み分ける方法について説明していきましょう。

クラスごとのcfgを作ろう

以下に、TF2 Wikiよりcfgを読み分ける方法を解説します。

1. 『autoexec.cfg』『userconfig.cfg』を作る

まずは、『Steamsteamappsアカウントteam fortress 2tfcfg』に、 『autoexec.cfg』『userconfig.cfg』を作ります。 テキストエディタやメモ帳で作成してください。

『autoexec.cfg』には、以下の記述を書き込みます。

『autoexec.cfg』の記述

exec userconfig.cfg

これにより、『autoexec.cfg』によって毎回『userconfig.cfg』の中身が実行されるようになります。

※追記しました

2. config.cfgをバックアップする

何はともあれ、config.cfgをバックアップしましょう。 どこか、自分がわかりやすい場所にコピーしておいてください。 うまく動かなかった場合に読み込んで直すことができます。

3. userconfig.cfgに、クラスごとのcfgを読み込むスクリプトをコピペ

TF2Wiki.netに紹介されている以下のスクリプトを『userconfig.cfg』にコピペします。 ※読み込んだcfgの名前が画面に表示されるようにちょっと変更しました。

//Class Config switcher.
alias cc1 "exec scout.cfg;developer 1; echo ** Scout Config Loaded ** ;wait 500; developer 0;"
alias cc2 "exec soldier.cfg;developer 1; echo ** Soldier Config Loaded ** ;wait 500; developer 0;"
alias cc3 "exec pyro.cfg;developer 1; echo ** Pyro Config Loaded ** ;wait 500; developer 0;"
alias cc4 "exec demoman.cfg;developer 1; echo :emoman Config Loaded ** ;wait 500; developer 0;"
alias cc5 "exec heavy.cfg;developer 1; echo ** Heavy Config Loaded ** ;wait 500; developer 0;"
alias cc6 "exec engineer.cfg;developer 1; echo ** Engineer Config Loaded ** ;wait 500; developer 0;"
alias cc7 "exec medic.cfg;developer 1; echo ** Medic Config Loaded ** ;wait 500; developer 0;"
alias cc8 "exec sniper.cfg;developer 1; echo ** Sniper Config Loaded ** ;wait 500; developer 0;"
alias cc9 "exec spy.cfg;developer 1; echo ** Spy Config Loaded ** ;wait 500; developer 0;"
alias cc0 "exec cleanup.cfg;developer 1; echo ** EXEC CLEANED ** ;wait 500; developer 0;"
bind KP_END "cc1"
bind KP_DowNARROW "cc2"
bind KP_PGDN "cc3"
bind KP_LEFTARROW "cc4"
bind KP_5 "cc5"
bind KP_RIGHTARROW "cc6"
bind KP_HOME "cc7"
bind KP_UPARROW "cc8"
bind KP_PGUP "cc9"
bind KP_INS "cc0"

4. クラスごとのcfgを作る

Team Fortress 2』には9つのクラスがあります。 その、それぞれのクラス名でcfgを作成します。 保存場所は、先ほども紹介したTF2のcfgフォルダ内です。 9個もcfgを作るのは面倒だと思うので、作業前に保存しておいた、 カラッポのcfgファイルを圧縮してアップしてみました。 面倒くさい人は、ダウンロードしてご利用ください。

cfgフォルダ

さらに、cleanup.cfgも作成します。 これは、標準の状態に戻すためのcfgです。 自分の場合は、config.cfgをコピーしてリネームしたものにしておきました。

5. それぞれの設定を書き込む

各クラス名のcfgに、それぞれのクラスに使いたい記述を書き込んでください。

6. 設定を読み込む

ゲームにジョインして、クラスを選択したらそれぞれのクラスのcfgを読み込みます。 上の記述をそのまま貼り付けた場合、対応するcfgは以下の通り。

  • テンキー1 : scout.cfg
  • テンキー2 : soldier.cfg
  • テンキー3 : pyro.cfg
  • テンキー4 : demoman.cfg
  • テンキー5 : heavy.cfg
  • テンキー6 : engineer.cfg
  • テンキー7 : medic.cfg
  • テンキー8 : sniper.cfg
  • テンキー9 : spy.cfg
  • テンキー0 : cleanup (標準)

クラスを選択したと同時にcfgを読み込むスクリプトもあるので、そのほうがいいという人はそちらをお試しください。

読み込み時にcfg名がechoされるようになっているのですが、コンソールを見ないとわからないのが難点ですね。 HLエンジンの時は、自分の画面上に文字が出たのですが。 Sourceエンジンだと違うCvarなのかな。 ↓ 調べてみたらSourceエンジンでは、コンソールに出力するものでした。 ↓ さらに調べてみたら、『developer 1』の場合は画面に文字がでることがわかりました。 以下のようなカンジにすればOK。

developer 1;echo Gyaaaaaaa ;wait 100; developer 0;