alchemistarkの日記

やったことのメモ

TF2 srcds BOTのクラスを固定するとBOTが自殺する問題について

2017年10月のジャングルアップデート以降、BOTの仕様が変わったようです。
チームのクラスバランスを考慮してクラスを変更するようになった?ようです。
他にもAIの向上などが行われている様子。

それだけだと良い話なのですが、ウチみたいに特殊ルールのゲームモードが動作している場合、ちょっと問題が。
BOTがクラスを変更する際、たとえリスポンの中であろうがその場で自殺しやがります。
例えばBOTのクラスをソルジャーに固定したとすると

ソルジャーでスポーン

チーム内にソルしか居ない

クラス変更

自殺

クラスが固定されているのでソルジャーでスポーン

ソルしか略

カーズもびっくりなぐらいで死に続けるのでゲームになりません…
これがtf_bot_force_classで固定したクラスだけでなく、プラグインから強制的にクラスを変えたとしても発生するので困った困った
しかもプラグインからはBOTの自殺を検出不可能。ブロックしようとしてしばらく格闘してましたが、無理でした。


さて、前置きが長くなりましたが
バグレポートからも送ったし既存のCVARが実質使用不可になっているわけなので何らかのアクションはあるだろうと
ここ最近のsrcdsの更新連発の度にcvarlistを保存して比較続けること1ヶ月、cvarの追加を発見しました。

tf_bot_reevaluate_class_in_spawnroom : 1 : , "sv", "cheat" : If set, bots will opportunisticly switch class while in spawnrooms if their current class is no longer their first choice.

ゲイブ有能。
チートフラグが必要なので、sm_cvarで変更。
0にしたら自殺しなくなりました。
完璧。

3735Fでsrcdsを動かす

絶対ダメだろうと思ったけど、3735F搭載windowsタブレット(中華)でsrcds動かしてみた。




本当に時々だけど、あの引っかかって数歩後ろに引き戻されるラグが発生する。
あと人が密集してるトコに行くと確実にラグる。
それとヘッドショットはまず当たらない ラッキーヘッショは凄い出たけど。
止まってるBOTヘビーの頭に当たったのに50ダメが表示されたりしてた。どこにあるの頭。

実際に使ったWindowsタブレットはColorfly i818W 3G Intel Z3735F
2年ぐらい前にいちまんごせんで買ったやつ。
電源切らないと充電できない病にかかってるので使い道に困ってる。

akafudatengoku.com

まぁどちらにしろUSB LANアダプター繋いでサーバーにしてる時点で充電できないんですけどね。

安い3735FのスティックPCか何か買ってサーバーにしようかなってちょっと考えてたんだけど
もう少しだけパワーがあればなぁ…Z8300じゃほとんど変わらないって言うし…

満員まで人が入っても変わらなければまだ考慮の余地は…無いか…既にラグってるし…

SouceModプラグイン

TF2用のプラグインばかり作ってます。

SimpleMenuプラグイン


simplemenu


CustomVotesに不満があったので作成。
cfgファイルに記入したコマンドを実行するだけのプラグイン
cfgから別のcfgを呼び出すことができるので、コマンドを階層的に管理できます。


DuelMiniGameプラグイン


20161106 duelminigame


決闘ミニゲームプラグイン
アシストもカウントします。


軍拡競争プラグイン


20161106 ArmsRace 1

TF2で軍拡競争するプラグイン
クラス順は検討の余地あり

TF2でのちょっとしたネタ

TF2にずっぽり過ぎて何もできておりません。IIDXコン作らなきゃ。



フレンドから「キルカメで映るタウントが全部同じなんだけど」というクレームが入ったのですが
タウント選んでる余裕なんかないので、タウントをローテーションするようにしてみました。


とは言っても変わった事してるわけじゃないんですけどね

alias taunt_rotation "taunt_1"
alias taunt_1 "alias taunt_rotation taunt_2; taunt 1"
alias taunt_2 "alias taunt_rotation taunt_3; taunt 2"
alias taunt_3 "alias taunt_rotation taunt_4; taunt 3"
alias taunt_4 "alias taunt_rotation taunt_1; taunt 4"

bind " " "taunt_rotation"

うん、アレです。サンプルでよく出てくるネットグラフ表示のやつです。


タウントのスロット1~4をローテーションするので各自自由にタウントを装備ください。
もちろん増やそうと思えば増やせます

TeamFortress 2 私的メモ

調べればすぐ出るけど、メモ

武器切り替えが間に合わず死ぬことがよくあったので、クイック切り替えを使い出したけど
クイック切り替えはあくまで"直前使用の武器を持つ"であって、メインサブ切り替えではなくて不便

なのでクイック切り替えをメインでなければメインを持ち、メインを持ってればサブを持つように
そして近接は使ってないSHIFTに
これで手を動かさずにメインサブ近接は持ち替えできるぞ

尚ホイールでの武器切り替えは通常通り行える(即座に武器持ちは嫌い)ので、
ホイール選択時に違う武器持ったりすることなくキーでは即座に武器を切り替えれるという仕様

//武器切り替えの高速化
alias w_slot1 "hud_fastswitch 1;slot1;hud_fastswitch 0"
alias w_slot2 "hud_fastswitch 1;slot2;hud_fastswitch 0"
bind "1" "w_slot1"
bind "2" "w_slot2"
bind "SHIFT" "hud_fastswitch 1;slot3;hud_fastswitch 0"

//メインサブ切り替えトグル化
alias weapon_change "w_slot2;w_slot1"
bind "q" "weapon_change"

これで味方をムチで殴りながら前線に走り、走ったままロケラン構えて即ショットガンで追い討ちできる
素晴らしい


L4D2ではクイック切り替えで投げ物や回復を持つことはないので、このcfgは不要。
ええ喜び勇んでL4D2のcfg書き換えようとして気付きましたよ。

SHIFTキー(歩く)に投げ物とピルのどっちバインドするか悩ましいわー*1

*1:歩かなくてもしゃがめばいいじゃない

メモ書き

個人用におうちPCで各種サーバー(主にゲーム)が走ってるんだけど
あれこれ面倒なのでDDNSサービスを利用してURL確保してるんですが
がっつり使ってた時はDiCE走らせてたんだけど、サーバーを常駐させなくなってからDDNSの更新通知が面倒に。
でもいざ使おうとなるとDDNSが止まってるということが時々発生。*1
かと言って使用頻度低い物の為にDiCEをタスクバーに乗っけっぱなしってのも抵抗が。以前はサーバー用にPC用意してたんですが、今は普段使いPCでそのままやってるので。
それで起動時にスタートアップ起動で通知飛ばそうと思って適当に調べながらvbsスクリプト作ったんでメモ書き兼ねて置いときます。

ええ自分用です。

MyDNSのHTTP認証を利用。

Dim oXMLHTTP

Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")

If oXMLHTTP Is Nothing Then
MsgBox "(MyDNSの更新)XMLHTTP オブジェクトを作成できませんでした。", vbCritical
End If

oXMLHTTP.Open "GET", "http://www.mydns.jp/login.html", False, "MyDNSのID", "MyDNSのパス"
oXMLHTTP.send

If (oXMLHTTP.Status < 200 Or oXMLHTTP.Status >= 300) Then
msgbox "MyDNSの更新でHTTPコードがエラーを返してるっぽい"
end if

Set oXMLHTTP = Nothing

拡張子vbsで保存してスタートアップに投げておくとPC起動時に自動的にDDNSの更新をするよ
そんだけ

*1:それがVNCで繋ごうとした時だったりすると本当に辛い。