TSMには、数式を入力できるフィールドがいくつもある。
各フィールドに対応する指令が出される際には、フィールドから算出された値が指令の判断基準となる。
Crafting Operation(生産オペレーション)の解説では、「Min profit amount」の数式フィールドを私たちは編集した。
「登録したアイテムがこの値以上の利益をもたらす場合に限り、それを生産する」と定めるフィールドだ。
デフォルトで入力されていた 100g のままであれば「100ゴールド以上の利益をもたらす場合に限り生産する」という指令内容になる。
私たちはこれを 15%Crafting に修正して「作成コストの15%以上の利益をもたらす場合に限り生産する」という指令内容に変更した。
数式フィールドの入力時には、その Crafting のような「ソース」と呼ばれるTSM専用の単位が用いられる。
ソースはすべて、参照させた特定のアイテムに関係する値を返す。
前述した Crafting は「作成コスト」の値を表すソースの一つだ。
例えばCosmic Healing Potionの Crafting は「Cosmic Healing Potionの作成コスト」の値になる。
後述する DBMarket は「オークションにおける14日間の平均価格」を表すソースだ。
Cosmic Healing Potionの DBMarket は「オークションにおけるCosmic Healing Potionの14日間の平均価格」の値になる。
ソースは自由に組み合わせることもできる。
DBMarket – Crafting と入力して、この数式をPotionに対して算出させれば、「そのPotionの14日間の平均価格から、そのPotionの作成コストを差し引いた価格」の値になる。
そのような独自の数式を各種オペレーションのフィールドへ入力することによって、それらの指令内容の基準値をフル・カスタマイズできる訳だ。
プレイヤー個々の金策のスタイルや事情に応じて、自分に特化した体制を構築できるのもTSMの大きな魅力だ。
TSMの扱いに慣れてくると、最適な運用のあり方を目指して各種の指令の基準値を追求したくなることもあるだろう。
指令を司るフィールドへ入力する数式をカスタマイズする際には、ソースに対する理解が欠かせない。
そのソースの一覧と簡単な解説を列挙していく。
オークション関連のソース
※オークションに出品できるアイテムだけを対象として扱う。それ以外のアイテムに対しては無効な値を返す。
オークションにおける14日間の平均価格。
オークションにおける60日間の平均価格。
オークションにおける現在の最安値の出品価格。
全サーバーの DBMarket の平均値。
全サーバーの DBHistorical の平均値。
全サーバーのオークションにおける売却達成時の価格の平均値。
全サーバーのオークションにおける売却率の平均値。
全サーバーのオークションにおける1日あたりの売却個数の平均値。
自分がこれまでにオークションから購入した価格の平均値。
自分がこれまでにオークションで売却した価格の平均値。
自分がこれまでにオークションから購入した価格の平均値。
在庫として残っている量だけが算出の対象になる。
自分がこれまでにオークションから購入した価格の中での最高値。
自分がこれまでにオークションで売却した価格の中での最高値。
自分がこれまでにオークションから購入した価格の中での最安値。
自分がこれまでにオークションで売却した価格の中での最安値。
自分がオークションに出品して達成した売却率。
自分がオークションに出品して売れ残った回数。
対象を限定するソース
※対象外のアイテムに対しては無効な値を返す。
何らかの生産レシピの素材となるアイテムだけが対象。
素材としての1つあたりの価値。
初期設定の「Default material cost method」のフィールドに入力された数式によって価値が算出される。
何らかの生産レシピによって作成された生産品となるアイテムだけが対象。
生産品としての1つあたりの作成コスト。
その生産に必要な全素材の MatPrice の合計値となる。
Dienchant、Milling、Prospectingで砕けるアイテムだけが対象。
砕いた後に入手できる素材アイテムの MatPrice の合計値。
Vendor NPCが販売しているアイテムだけが対象。
Vendor NPCから購入する際の1つあたりの費用。
Vendor NPCに売却できるアイテムだけが対象。
Vendor NPCに売却する際の1つあたりの売値。
その他のソース
※返す値が価格であるとは限らない。
レアリティ。
Poorは0、Commonは1、Uncommonは2、Rareは3、Epicは4、Legendaryは5を返す。
アイテム・レベル。
装備または使用する際に必要とされるキャラクター・レベル。
AuctioningOpMax
AuctioningOpNormal
そのアイテムに適用されているAuctioning Operation(出品オペレーション)の設定が反映される。
上から順に「Minimum price」「Maximum price」「Normal price」のフィールドに入力された数式によって算出される。
特定のオペレーションが割り当てられていない場合は「#Default」のオペレーションの各設定が反映される。
SniperOpMax
そのアイテムに適用されているShopping Operation(購入オペレーション)、Sniper Operationの設定が反映される。
それぞれの「Maximum price」のフィールドに入力された数式によって算出される。
特定のオペレーションが割り当てられていない場合は「#Default」のオペレーションの設定が反映される。
2つの要素の間に挿入する。
加算(足し算)、減算(引き算)、乗算(掛け算)、除算(割り算)を行う。
DBMarket – DBMinBuyout =「DBMarketからDBMinBuyoutを引いた価格」
要素の直前に加える。任意の数値を%の直前に加える。
「100%」を「1.00」とした掛け算を行う。
15%DBMarket =「DBMarketの15%分の価格」=「DBMarket * 0.15」
max()
avg()
カッコ内に複数の要素を挿入し、それぞれをカンマで区切る。
カッコ内での最小値、最大値、平均値をそれぞれ返す。
max(DBMarket, DBMarket+DBMarket, 300%DBMarket) =「300%DBMarket」
カッコ内に複数の要素を挿入し、それぞれをカンマで区切る。
カッコ内の左から順に、値を返せる要素ならば値を返して処理を終え、そうでない場合には次の要素に移る。
Vendor NPCが販売していないアイテムの first(VendorBuy, DBMarket) =「DBMarket」
カッコ内に3つの要素を挿入し、それぞれをカンマで区切る。
カッコ内の「a」が0より大きい値である場合は「b」を、0以下である場合には「c」を返す。
「a」が有効な値を返さない場合は全体が無効になる。
4回以上売れ残った出品アイテムの check(NumExpires-3, Vendorsell, DBMarket) =「Vendorsell」
1~3回売れ残った出品アイテムの check(NumExpires-3, Vendorsell, DBMarket) =「DBMarket」
1回も売れ残っていない出品アイテムの check(NumExpires-3, Vendorsell, DBMarket) = 無効
ifgte(a, b, x, y)
iflt(a, b, x, y)
iflte(a, b, x, y)
ifeq(a, b, x, y)
カッコ内に4つの要素を挿入し、それぞれをカンマで区切る。
「a」と「b」に関する条件が成立している場合は「x」を、そうでない場合には「y」を返す。
ifgtは「a > b」が、ifgteは「a >= b」が、ifltは「a < b」が、iflte「a <= b」が、ifeq「a = b」が、それぞれの条件となる。
ifgt(DBMarket, 50%DBMarket, 100g, 50g) =「100g」
iflt(DBMarket, 50%DBMarket, 100g, 50g) =「50g」
roundup(x, y)
rounddown(x, y)
カッコ内に、端数処理をしたい要素を「x」に、端数処理の基準となる金額の桁を「y」にそれぞれ挿入する。
roundは「y」の桁で四捨五入を、roundupは「y」の桁で切り上げを、rounddownは「y」の桁で切り下げをそれぞれ行う。
DBMarketが12g34s56cのアイテムの round(DBMarket, 10s) =「12g30s00c」
数式には「100g」などと金額を直接入力することもできる。
DBMarket + 12g34s56c =「DBMarketに12ゴールド・34シルバー・56カッパーを足した価格」
数式にはアイテムを要素として直接入力することもできる。
(item:187802) などとアイテムのIDナンバーを指定して数式フィールドにアイテムを認識させる。
名前が「DB」から始まる数式のソースは、TSMのオークション・データベースを参照して値を算出している。
このデータベースについては、TSMのデスクトップ・アプリがリアルタイムにデータを収集し、WoW内のTSMのAddonへその情報を送っている。
ただし、その更新は30分ごとであるために、完全にリアルタイムな反映というわけではない。
活発に取引されるアイテムの DBMinBuyout などは、わずか数分経過しただけで実際の最安値との誤差が大きくなる場合もある。
チャット・コマンドで「/tsm price アイテムのリンク 数式」と入力すると、そのアイテムに対する数式の計算結果が表示される。
アイテムのリンクは、対象のアイテムをShift+クリックして入力する。
例えば「/tsm price [Cosmic Healing Potion] 300%DBMarket」と入力すれば、現時点におけるCosmic Healing PotionのDBMarketの3倍が算出される。
作成した数式のテストとして活用できるツールだ。
TSMには、アイテムを検索するフィールドがいくつかある。
その代表的な例は、オークション・パネルで購入する際のアイテム検索だ。
TSM版のアイテム検索においては、スラッシュ「/」で区切ってパラメータ・オプションを追加することで、検索結果としてリストアップされる対象を絞ることができる。
例えば「Flask/51」とオプション込みでアイテム検索をすると、検索結果は「Flaskの名前が付くアイテム」に加えて「必要レベルが51以上」に限定される。
これらのパラメータを駆使することで、デフォルトの各種UIパネルにおけるアイテム検索時よりも、幅広い検索オプションを利用できるようになる。
グループへアイテムを登録する場面などでも、楽にアイテムを探し当てられるので、ぜひ活用しよう。
※パラメータ・オプションはすべて、検索するアイテム名の直後に付加する。
※パラメータ・オプションを複数組み合わせることもできる。
※検索するアイテム名を入力せずともパラメータ・オプションだけでも検索できる。その場合はオプションの条件に該当するすべてのアイテムがリストアップされる。
検索した名前そのものと一致するアイテムだけを抽出する。
例えば「Healing Potion/exact」と検索した場合は完全一致となるHealing Potionだけが抽出され、Minor Healing Potionなどの部分一致の検索結果はリストアップされなくなる。
「/」の直後に数字を加える。
装備または使用するのに必要なキャラクター・レベルがその数字以上であるアイテムを抽出する。
2つ重ねると必要レベルの範囲を指定できる。「Cloak/10/20」とすれば必要レベルが10~20の範囲のCloakが抽出される。
「/i」の直後に数字を加える。
アイテム・レベルがその数字以上であるアイテムを抽出する。
2つ重ねるとアイテム・レベルの範囲を指定できる。「Potion/i40/i50」とすればアイテム・レベルが40~50の範囲のPotionが抽出される。
レアリティに下限を設けて抽出する。
「/epic」ならEpic以上のレアリティのアイテムだけを抽出する。
2つ重ねるとレアリティの範囲を指定できる。「Potion/Rare/Rare」とすればレアリティがRareのPotionだけが抽出される。
武器の装備品を抽出する。
「/Weapon/One-Handed Axes」のように、以下の各サブ・オプションを追加して武器の種類を限定することもできる。
/Two-Handed /Two-Handed Axes /Two-Handed Maces /Two-Handed Swords /Polearms /Staves
/Ranged /Bows /Crossbows /Guns /Thrown
/Miscellaneous /Fishing Poles
防具の装備品を抽出する。
「/Armor/Plate/Head」のように、以下の各サブ・オプションを組み合わせて防具の種類を限定することもできる。
/Miscellaneous /Neck /Cloak /Finger /Trinket /Held In Off-hand /Shields /Shirt /Cosmetic
Bagを抽出する。
「/Container/Mining Bag」のように、以下の各サブ・オプションを追加してBagの種類を限定することもできる。
Gemを抽出する。
「/Container/Critical Strike」のように、以下の各サブ・オプションを追加してGemの種類を限定することもできる。
武器強化用のアイテムを抽出する。
「/Item Enhancement/Two-Handed Weapon」のように、以下の各サブ・オプションを追加してアイテムの種類を限定することもできる。
消耗品を抽出する。
「/Consumable/Vantus Runes」のように、以下の各サブ・オプションを追加して消耗品の種類を限定することもできる。
Glyphを抽出する。
「/Glyph/Death Knight」のように、以下の各サブ・オプションを追加してクラスを限定することもできる。
生産スキルに使用される素材を抽出する。
「/Tradeskill/Metal & Stone」のように、以下の各サブ・オプションを追加して素材の種類を限定することもできる。
生産レシピを抽出する。
「/Recipe/Inscription」のように、以下の各サブ・オプションを追加して生産スキルのカテゴリーを限定することもできる。
競技用ペットを抽出する。
「/Battle Pets/Humanoid」のように、以下の各サブ・オプションを追加してペットの種族を限定することもできる。
その他のアイテムを抽出する。
「/Miscellaneous/Mount Equipment」のように、以下の各サブ・オプションを追加してアイテムの種類を限定することもできる。
オークション・パネル専用のパラメータ・オプション。
自分のアカウントのコレクションに登録されていないアイテムを抽出する。
コレクションに登録可能なTransmog、Mount、Pet、Toyが対象。
オークション・パネル専用のパラメータ・オプション。
現在ログインしているキャラクターにとってアップグレードとなる装備品を抽出する。
オークション・パネル専用のパラメータ・オプション。
現在ログインしているキャラクターが使用可能なアイテムを抽出する。
Inscriptionで使うInkやPigmentなどの、ごく一部のアイテムだけに利用できるパラメータ・オプション。
検索したアイテムの素材や派生元も含めて検索する。
次回は、TSMの初期設定の各項目を解説する。
TSMガイド一覧