alchemistarkの日記

やったことのメモ

TF2 ItemDB プラグイン

SourceModでアイテム(武器等を含む)情報をDB化して他プラグインから利用できるようにするプラグイン
TF2ItemsInfoというプラグインが以前その役割を行っていたのですが、更新されておらず(しかも現状動作していない)
TF2ItemDBがその役目を引き継いでいます。

TF2ItemDBも開発中で、特にTF2ItemsInfoとの置き換えに必要なtf2idb_tf2ii_compatがソースしか無かったりして色々とアレ。

とりあえず簡単に情報のまとめとインストール方法を。


[TF2] TF2 Item DB (replaces tf2itemsinfo) - AlliedModders

AlliedModdersのフォーラムページ。


GitHub - FlaminSarge/tf2idb: TF2 Item DB ( https://forums.alliedmods.net/showthread.php?t=255885 )

GitHubのページ。


フォーラムページからもプラグインは落とせますが、現在ジャングルアプデ絡みで更新が続いているので
念の為GitHubからソースをコンパイルした方がいいかもです。


どうせtf2idb_tf2ii_compatもコンパイルしなきゃならないので…
tf2idb/tf2idb_tf2ii_compat.sp at master · FlaminSarge/tf2idb · GitHub

とりあえずこれで必要なプラグイン2つが準備できました。


次に、DBを作成します。
なんでプラグインで自動的に作ってくれないの?*1

フォーラムのDLの所からtf2idb.zipをダウンロードし、
任意の場所に解凍、tf2idb.pyをテキストエディタで開いて1行目をTF2のsrcdsのインストールパスを記入*2
Python2をインストールし、実行してください。

と、言いたい所ですが
少なくとも僕はこれで有効なDBが作成されませんでした。
srcdsを起動して、起動時にtf2idbがクラッシュしてたら失敗です。sm listでもロードできてない事が確認できると思います。
もし上手く行ってたら教えて下さい。


追記:GitHubにあるtf2idb.pyが最新です。そちらのpyをDLし実行すると、pyと同じところにDBが作成されます。pyの編集は不要です
ですが現時点ではやはりジャングルアプデ武器は使えない模様。*3


上手く行かなかったら、フォーラムにが居るので有難くいただきます。
AlliedModders - View Single Post - [TF2] TF2 Item DB (replaces tf2itemsinfo)
このDBをaddons/sourcemod/data/sqliteに置いて、再度srcdsを起動してください。
tf2idbが読み込めていたら成功です。お疲れ様でした。


TF2GiveWeaponプラグイン等を使用の方は、ロックンロードの装弾数が直っていたり、火炎放射器の射程が正常になっているのが確認できると思います。
つーかTF2ItemsInfoがDB更新してくれないせいでジャングルアプデ後火炎放射器の射程が0になってて軍拡鯖生存の危機でしたよ。
前の記事のBOT自殺事件も込みで本当に辛かった…

*1:まぁそれやってメモリリーク起こして更新しなくなったTF2IIってプラグインがあるんですけどね

*2:2行目と3行目で必要なパスを得る為に1行目に連結させてるの考慮してね

*3:装備できるし弾も出るのですが、弾薬箱を拾うことができずロッカーに触れるとクライアントが落ちる