ふたりの独歩

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

一人対戦使用コマンド(増版編)

およそ4ヶ月前、一人対戦ことはじめという記事で、当時のl4d2wikiよりも詳しい練習コマンドを書きました。
それから時間も経ち、新しい発見や改善が相次いでconfigが当時と大幅に変わったので、サマーセールを機会に新しく記事を書く事にしました。前回の記事と併せて読んで頂けるとわかりやすいかと存じます(ただし、前回書いたことも新しく書き直します。重複する部分はご容赦下さい)。

1.一人対戦の前に
autoexec.cfgやuserconfig.cfg等のconfigファイルの意味、及びコンソールを有効化する方法については、各自で調べてください。特に前者は今後steamのゲームをプレイする際にも有益です。

2.一人対戦開始
一人対戦自体は、プレイしたいマップ名(とゲームモード)をコンソールに打ち込むことで開始されます。例えば、ダークカーニバルチャプター1のversusモードをプレイしたい場合は、コンソールに

「map c2m1 highway "versus"」と書き込むとversus gameがロードされます。(キャンペーンの場合はCampaign、スカベンジの場合はScavengeで可能です。リアリズムとかもできると思います。)

しかし、この状態ではmapロードして1分程度でサーバーがシャットダウンしてしまうので、configファイル(以後、bot.cfg)に以下を書き込みます。これでシャットダウンすることはありませんし、いろいろ便利になります。

sv_cheats "1"
vs_max_team_switches "100"
sb_all_bot_game "1"

※10月のDLC後sb_all_bot_team "1"はsb_all_bot_game "1"に変更されました。

3.bind(バインド)とtoggle(トグル)とalias(エイリアス)+α
ここでは少しコマンドの説明をします。
bindコマンドは、キーボードの任意のキーを、何らかの機能に割り当てることができるコマンドです。ひとつ例を挙げると、

bind "KP_UPARROW" noclip //テンキー8で無敵空飛壁すり抜けON,OFF
noclipというコマンドは、壁をすり抜け、mapを縦横無尽に駆けることのできる楽しいコマンドです。一人対戦の移動はnoclipで行うことが多いです(目的地まで歩くのが面倒なので)。基本的なコマンドなので、是非bindしておきましょう。

次に、toggleコマンドとは、0と1(OnとOff)を繰り返すようなコマンドです。CapsLockキーのような動作をします。例を挙げます

bind "KP_HOME" "toggle god" //テンキー7で生存者無敵off on

先程のように、bind "KP_HOME" "god"ではいけない理由は、godコマンドにあります。
noclipというコマンドは、すでにnoclip状態でnoclipを打ち込むと、noclipが解除されるという特徴を最初から持っています。いわばはじめからオンオフ機能を持っているわけです。
それに対してgodコマンドは、god "1"で有効、god "0"で無効という意味を持つコマンドなので、単純にbind "KP_HOME" "god"では意味を成しません。強いて言うならばbind "KP_HOME "god 1"またはbind "KP_HOME" "god 0"にすべきです。このように、コマンドの後に0(無効)や1(有効)を指定する必要のあるコマンドは、単にbindするだけだと2つのキーを占有することになります。そこで登場したのがtoggleコマンドです。このtoggleコマンドにより、1ボタンでgod 1とgod 0を繰り返すことができます。
同様のコマンドは、0 1でオンオフを判断するコマンドに有効です。
bind "n" "toggle sb_stop 0 1" //botの挙動許可・禁止
bind "i" "toggle sb_move 0 1" //botの移動許可・不可(攻撃可能)
bind "j" "toggle sb_dont_shoot 0 1" //botの射撃許可・禁止
bind "k" "toggle nb_player_crouch 1 0"//botをしゃがませる。(0:off)

aliasコマンドとは、ええと...説明できないのでこれを読んでください。
alias "a" "x"の場合は、aをxに置き換えるという意味を持ちます。

これはtoggleコマンドでも有効に働かないコマンドに対して効果を発揮します。例えば、0と1では表せないコマンドに対して、aliasは有効です。

bind "RALT" "d1"
alias d1 "bind RALT d2;director_start"
alias d2 "bind RALT d1;director_stop"


ここからは少し難しくなるので、頑張って読んでください。
「;」という記号を使えば、ひとつのキーに対して、ふたつ以上の機能を割り当てることができます。
bind F10 "echo test;exec autoexec.cfg"と書き込んだうえでF10を押すと、コンソールにtestと表示されるのと、autoexecの実行が、同時に行われます。それを踏まえて、aliasの話に戻りましょう。

directorの開始、停止を表すdirector_start/stopコマンドは、0と1で表せるコマンドではないのでtoggleコマンドを使うわけにはいきません。その場合に、bindコマンドでとりあえず仮の文字(d1)を創造し、aliasによってd1をbind "RALT" "d2"と置き換えます。その際に、;を使うことでd1にdirector_startを割り当て、bind "RALT" "d2"とdirector_startを同時に達成しています。よってRALTを一度押すと、bindによりそれはd1と認識され、aliasによってRALTはd2にbindし直されると同時に、director_startが実行されるのです。次にRALTを押すと、aliasによってRALTはd1にbindし直されると同時に、director_stopが実行されることになります。その次押したらどうなるか、わかりますか?!(RALTはd1となっているので、aliasによってd2にバインドし直され、director_startが実行されます。)
このaliasは、toggleの代用としても利用できます。

bind "n" "toggle sb_stop 0 1" //botの挙動許可・禁止
をaliasを使って書くと、

bind "n" "t1"
alias t1 "bind n t2;sb_stop 0"
alias t2 "bind n t1;sb_stop 1"となります。

最後に、incrementvarというコマンドを紹介しておきましょう。このコマンドは、数値を指定した値分増やしていくことのできるコマンドです。下に挙げる例のように、コマンドの前にincrementvarを書き、コマンドの後ろに数値を書きます(数値は前から順に始値、終値、増減分)
bind "KP_MULTIPLY" "incrementvar sv_showhitboxes 0 7 1" //テンキー*でhitbox表示。

4.基本的なコマンド
では、実際に一人対戦をする際に必要なコマンドを紹介します(青文字は以前の記事になかったものですので、説明をつけます。また、赤文字のコマンドでも、bindキーが異なっている場合があります。)。まずは、特殊感染者をリスポンさせるコマンドです。

bind "UPARROW" "z_spawn Tank" //↑でTank
bind "LEFTARROW" "z_spawn Charger" //←でCharger
bind "DOWNARROW" "z_spawn Hunter" //↓でHunter
bind "RIGHTARROW" "z_spawn Smoker" //→でSmoker
bind "INS" "z_spawn Jockey //InsertでJockey
bind "DEL" "z_spawn boomer" //Deleteでboomer
bind "HOME" "z_spawn Spitter" //HomeでSpitter
bind "END" "z_spawn Witch" //EndでWitch
bind "PGUP" "z_add" //PGUPで通常感染者(一般ゾンビ)

次に、チャージ時間の短縮です。
z_tank_throw_interval "0" //tank 岩投げのチャージ時間
z_spit_interval "0" // Spitter の酸性液のチャージ時間。デフォルトは 20
z_charge_interval "0" // Charger の突進のチャージ時間。デフォルトは 12
z_vomit_interval "0" // Boomer の胆汁吐きのチャージ時間。デフォルトは 30
z_frustration_lifetime "50000" //tankの自制心が切れる時間
tongue_allow_voluntary_release 1 //右クリックで舌解除

今度は軌道を見るコマンドです。
melee_show_swing 1 //近接殴りrays表示
z_show_swings 0// 右クリック、近接Rays表示(0:off)
z_vomit_debug "1" //ブーマーのゲロ軌道
z_tank_rock_debug "1" //Tankの岩軌道
bind "KP_MULTIPLY" "incrementvar sv_showhitboxes 0 7 1"//テンキー*でhitbox表示。(自分、生存者および感染者のbotのhitboxまで表示されます。7体まで順に表示できます)

こちらはaliasになっていますが、tankの殴り軌道を表示します。
bind "RSHIFT" "z1"
alias z1 "bind RSHIFT z2;z_show_swings 1"
alias z2 "bind RSHIFT z1;z_show_swings 0"
(z_show_swings 0をすでに書き込んでいますが。表示させたくなったときのために用意しています。)

さらに体力管理やbot管理、弾管理のためのコマンドです。
nb_blind "1" //特殊感染者bot行動不能(正確には行動しますが、ほとんど問題ありません。)
sv_infinite_ammo 1 //弾無限(モロトフも投げ放題です。)
bind "KP_LEFTARROW" "sb_give health" //テンキー4でbot体力全快
bind "KP_RIGHTARROW" "give health" //テンキー6で自分の体力全快
bind "KP_HOME" "toggle god" //テンキー7で生存者無敵off on
bind "KP_PGUP" "sb_add;respawn" //テンキー9でリスポン(死亡した生存者が、新しくセーフルームで湧きます。)
bind "KP_SLASH" "give defibrillator" //テンキー/でAED
bind "F4" "kill" //F4で自殺
bind "RCTRL" "hurtme 200; give health; hurtme 128; hurtme 1" //ピル分HP1(生存者の足の速度を検証するときに使います。使用頻度低。)


bind "KP_5" warp_all_survivors_here // テンキー5で照準の位置にbot生存者を移動(以前はnb_move_to_cursorというコマンドでしたが、私の環境でもwarpが使えるようになったので、こちらにしました。)
bind "KP_UPARROW" noclip //テンキー8で無敵空飛壁すり抜けON,OFF
bind "n" "toggle sb_stop 0 1" //botの挙動許可・禁止
bind "i" "toggle sb_move 0 1" //botの移動許可・不可(攻撃可能)
bind "j" "toggle sb_dont_shoot 0 1" //botの射撃許可・禁止
bind "k" "toggle nb_player_crouch 1 0"//botをしゃがませる。(0:off)
bind "PGDN" "sb_takecontrol" //PGDNでbot乗っ取る。(生存者を順に乗っ取ることが出来ます。warp後、細かい位置につかせたいときに使用します。)

その他のコマンドは
//車系
bind "KP_END" "prop_physics_create props_vehicles/police_car_rural.mdl" //テンキー1でポリスカー
bind "KP_DOWNARROW" "prop_physics_create props/cs_assault/forklift.mdl" //テンキー2でフォークリフト
bind "KP_PGDN" "prop_physics_create props_vehicles/cara_95sedan.mdl" //テンキー3で95式セダン
bind "KP_DEL" "prop_physics_create props_junk/dumpster_2.mdl" //テンキー.でダンプスター(金属製のゴミ箱 白)
(ただし、私の環境ではポリスカーはでません。アドオンいれてないとかなんとか。)
//危険なコマンド
bind "KP_ENTER" "ent_remove" //テンキーEnterで照準先消去。
調子にのって使いすぎると自分が消えますomg

5.様々な用途に合わせたコマンド

mirukuさんからの引用ですが、map研究用のコマンド
// 設置アイテム増量(map研究用 コメント部はデフォ値)
director_adrenaline_density "100" //6.48
director_ammo_density "100" //6.48
director_defibrillator_density "100" //6.48
director_gas_can_density "100" //6.48
director_melee_weapon_density "100" //6.48
director_molotov_density "100" //6.48
director_oxygen_tank_density "100" //6.48
director_pain_pill_density "100" //6.48
director_pipe_bomb_density "100" //6.48
director_pistol_density "100" //4
director_propane_tank_density "100" //6.48
director_super_weapon_density "100" //6.48
director_upgradepack_density "100" //6.48
director_vomitjar_density "100" //6.48
director_item_cluster_range "500" //50
director_weapon_cluster_range "500" //100
(mirukuさんから持ってきたので詳しくはよくわかりません。)

P Labのkimotoさん情報ですが
director_must_create_all_scavenge_items 1にすると出現可能な場所全てにアイテムが出るらしいです。

または
direcotr_debug 1 //directorの表示
director_debug_scavenge_items 1 //アイテムの表示 (0:off)
が便利です(director_debugはアイテムの位置を把握する以外にも便利なコマンドです。)

それと、私はまだ使い道がわからないのですが
mat_wireframe 0 //(ワイヤーフレーム表示 0:off)
はいずれ何かの役に立ちそうなコマンドです。

残弾管理(HP管理)を感覚的に身につけるには
bind "KP_PLUS" picker //テンキー+で敵残りHP表示
が便利です。雑魚処理に弾を使いすぎている人が多いので、これで一度確認してみてください。

車などのオブジェクト名を知りたいときは
bind "KP_MINUS" surfaceprop //テンキー-でクロスヘア内にあわせた材質のマテリアル名を表示
を使用するとよいでしょう。prop_physics_create マテリアル名で出せます。

グリッチ検証には
nav_edit 1
が使えます。

navは他にも有益なコマンドがありそうなので、探してみるのもいいかもしれません。(nav threatとか?)いいの見つけたら教えてください。
追記はめんどうだという人のためにコンフィグ設定貼りつけ。それと一言。

//起動後の設定
sv_cheats "1"
vs_max_team_switches "100"
sb_all_bot_team "1"
director_stop
melee_show_swing 1 //近接殴りrays表示
tongue_allow_voluntary_release 1 //右クリックで舌解除
z_show_swings 0// 右クリック、近接Rays表示
z_vomit_debug "1" //ゲロ軌道
z_frustration_lifetime "50000" //tankの自制心が切れる時間
nb_blind "1" //特殊感染者bot行動不能
z_tank_rock_debug "1" //Tankの岩軌道
z_tank_throw_interval "0" //tank 岩投げのチャージ時間
z_spit_interval "0" // Spitter の酸性液のチャージ時間。デフォルトは 20
z_charge_interval "0" // Charger の突進のチャージ時間。デフォルトは 12
z_vomit_interval "0" // Boomer の胆汁吐きのチャージ時間。デフォルトは 30
z_spawn Hunter
sv_infinite_ammo 1 //弾無限


//bind
//挙動系
bind "KP_5" warp_all_survivors_here // テンキー5で照準の位置にbot生存者を移動
bind "KP_UPARROW" noclip //テンキー8で無敵空飛壁すり抜けON,OFF
bind "n" "toggle sb_stop 0 1" //botの挙動許可・禁止
bind "i" "toggle sb_move 0 1" //botの移動許可・不可(攻撃可能)
bind "j" "toggle sb_dont_shoot 0 1" //botの射撃許可・禁止
bind "k" "toggle nb_player_crouch 1 0"//botをしゃがませる。(0:off)
//体力系
bind "KP_LEFTARROW" "sb_give health" //テンキー4でbot体力全快
bind "KP_RIGHTARROW" "give health" //テンキー6で自分の体力全快
bind "KP_HOME" "toggle god" //テンキー7で生存者無敵off on
bind "KP_PGUP" "sb_add;respawn" //テンキー9でリスポン
//hurtmeコマンド
bind "RCTRL" "hurtme 200; give health; hurtme 128; hurtme 1" //ピル分HP1(生存者用)



//感染者
bind "UPARROW" "z_spawn Tank" //↑でTank
bind "LEFTARROW" "z_spawn Charger" //←でCharger
bind "DOWNARROW" "z_spawn Hunter" //↓でHunter
bind "RIGHTARROW" "z_spawn Smoker" //→でSmoker
bind "INS" "z_spawn Jockey //InsertでJockey
bind "DEL" "z_spawn boomer" //Deleteでboomer
bind "HOME" "z_spawn Spitter" //HomeでSpitter
bind "END" "z_spawn Witch" //EndでWitch
bind "PGUP" "z_add" //PGUPで通常感染者
//車系
bind "KP_END" "prop_physics_create props_vehicles/police_car_rural.mdl" //テンキー1でポリスカー
bind "KP_DOWNARROW" "prop_physics_create props/cs_assault/forklift.mdl" //テンキー2でフォークリフト
bind "KP_PGDN" "prop_physics_create props_vehicles/cara_95sedan.mdl" //テンキー3で95式セダン
bind "KP_DEL" "prop_physics_create props_junk/dumpster_2.mdl" //テンキー.でダンプスター(金属製のゴミ箱 白)


//他コマンド
bind "KP_SLASH" "give defibrillator" //テンキー/でAED
bind "l" "give molotov" //火炎瓶
bind "F4" "kill" //F4で自殺
bind "KP_MULTIPLY" "incrementvar sv_showhitboxes 0 7 1" //テンキー*でhitbox表示。
bind "KP_ENTER" "ent_remove" //テンキーEnterで照準先消去。
bind "PGDN" "sb_takecontrol" //PGDNでbot乗っ取る。
bind "KP_PLUS" picker //テンキー+で敵残りHP表示
bind "KP_MINUS" surfaceprop //テンキー-でクロスヘア内にあわせた材質のマテリアル名を表示
//実行
bind "KP_INS" "exec userconfig2.cfg" //テンキー0でuserconfig2.cfg実行

// 設置アイテム増量(map研究用 コメント部はデフォ値)
director_adrenaline_density "100" //6.48
director_ammo_density "100" //6.48
director_defibrillator_density "100" //6.48
director_gas_can_density "100" //6.48
director_melee_weapon_density "100" //6.48
director_molotov_density "100" //6.48
director_oxygen_tank_density "100" //6.48
director_pain_pill_density "100" //6.48
director_pipe_bomb_density "100" //6.48
director_pistol_density "100" //4
director_propane_tank_density "100" //6.48
director_super_weapon_density "100" //6.48
director_upgradepack_density "100" //6.48
director_vomitjar_density "100" //6.48
director_item_cluster_range "500" //50
director_weapon_cluster_range "500" //100


//alias
bind "RALT" "d1"
alias d1 "bind RALT d2;director_start"
alias d2 "bind RALT d1;director_stop"

bind "RSHIFT" "z1"
alias z1 "bind RSHIFT z2;z_show_swings 1"
alias z2 "bind RSHIFT z1;z_show_swings 0"


//実験
mat_wireframe 0 //(ワイヤーフレーム表示 0:off)
director_debug 0 //特殊感染者の湧きタイマー表示(1:ON)
director_debug_scavenge_items 0 //アイテムの表示
nav_edit 0;nav_select_threat




最後になりましたが、コンフィグ作りに多大なる貢献をしてくれたPatriarch Labの皆様に感謝致します。

-2 Comments

sai says...""
研究の成果ですね!
こういうの苦手なんでいつも受け身です。申し訳ない(;ω;`)
2010.07.05 12:14 | URL | #- [edit]
tofu says..."No title"
得意不得意あると思うので気になさらず。コンフィグ系はkimotoさんが達人ですw
2010.07.06 11:51 | URL | #- [edit]

Leave a reply






管理者にだけ表示を許可する

Trackbacks

trackbackURL:http://desk3.blog74.fc2.com/tb.php/668-fe5d0e4a
該当の記事は見つかりませんでした。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。