メインコンテンツまでスキップ

MMO Inventory

カスタム MMOInventory スロットに装備した MMOItems を、TypeWriter のファクトとして確認します。

無料v0.7連携
必要TypeWriter0.9Quest (TypeWriter extension)MMOInventoryMMOItemsMythicLib

概要​

MMO Inventory は、MMOInventory を TypeWriter に接続します。MMOInventory は、バニラのインベントリの外にあるカスタム装備スロット(アクセサリー、マント、アーティファクトなど)を追加します。TypeWriter だけではそれらを見ることができません。この拡張機能がその溝を埋めます。

提供されるのは、読み取り可能な 1 つのファクトです。このファクトは、「このプレイヤーは、MMOInventory のカスタムインベントリのいずれかに、指定した MMOItems を現在持っているか」という 1 つの質問に答えます。そのファクトを、ダイアログ、クエスト、オーディエンス、その他 criteria を受け付けるあらゆるエントリで条件として使えます。たとえば、特定のアーティファクトを装備しているプレイヤーにだけ、ダイアログの選択肢を解放できます。

認識されるのは MMOItems のみです。アイテムは、名前や素材ではなく、MMOItems のタイプと ID で照合されます。

機能​

  • カスタムスロットの認識 — バニラのインベントリではなく、MMOInventory の名前付きカスタムインベントリに保存されたアイテムを読み取ります。
  • タイプと ID による照合 — MMOItems を TYPE:ID のペアで識別します。例: ACCESSORY:RING_OF_FIRE。
  • アイテム数 — 各アイテムに最低数を要求できます。TYPE:ID:amount と書きます。
  • 複数アイテムの同時指定 — 好きなだけアイテムをカンマ区切りで列挙できます。
  • いずれか、またはすべて — requireAllItems で、1 つ一致すれば十分か、列挙したすべてのアイテムが必要かを決めます。
  • 条件として使用可能 — ファクトは 1 または 0 を返し、そのまま任意の criteria で使えます。

インストール​

  1. MMOInventory、MMOItems、およびその必須ライブラリである MythicLib をサーバーにインストールします。
  2. TypeWriter の公式 Quest 拡張機能がインストールされていることを確認します。MMO Inventory はこれに依存します。
  3. MMO Inventory の JAR を plugins/Typewriter/extensions/ に置きます。
  4. サーバーを再起動します。
  5. MMOInventory の設定でカスタムインベントリを定義します。そこでインベントリに付けた名前を、パネルで使用します。

はじめに​

accessories インベントリで特定の指輪を装備しているプレイヤーにだけ、ダイアログの選択肢を解放する手順です。

  1. TypeWriter の Web パネルで static ページを開き、Check Item Fact エントリを追加します。
  2. inventoryName に、MMOInventory のカスタムインベントリの名前を設定します。例: accessories。
  3. itemsToCheck を ACCESSORY:RING_OF_FIRE に設定します。複数のアイテムを指定する場合は、カンマで区切ります: ACCESSORY:RING_OF_FIRE, ACCESSORY:AMULET:2。
  4. 1 つ一致すれば十分な場合は requireAllItems をオフのままにし、列挙したすべてのアイテムを必要とする場合はオンにします。
  5. ダイアログの選択肢(または criteria を持つ任意のエントリ)に、このファクトを値 1 で使う criteria を追加します。
  6. Publish をクリックし、そのインベントリにアイテムを装備しているプレイヤーでテストします。
itemsToCheck の形式

各トークンは TYPE:ID(数量 1)または TYPE:ID:amount です。タイプと ID は大文字と小文字を区別しません。この形式に一致しないトークンは通知なく無視され、有効なトークンが 1 つも残らない場合、ファクトは 0 を返します。

仕組み​

拡張機能は、実行時に MMOInventory プラグインを読み取ります。MMOItems のデータを持つアイテムだけが数えられ、同じアイテムのスタックは、要求された数量と比較される前に合算されます。

エントリ​

1 件のエントリー(拡張機能のソースから生成)。

ファクト1

トラブルシューティング​

ファクトが常に 0 になる。 拡張機能は、何かが欠けているとすぐに 0 を返します。inventoryName または itemsToCheck が空、MMOInventory プラグインが読み込まれていない、インベントリが空、などです。この順に確認してください。

ログに「Inventory 'x' not found」と出る。 inventoryName の名前が、MMOInventory で定義されたカスタムインベントリと一致していません。MMOInventory の設定にある名前を、そのままコピーしてください。

コンソールに「Error accessing MMOInventory」と表示される。 拡張機能は、実行時に API を通じて MMOInventory と通信します。このエラーは、インストールされている MMOInventory のバージョンが、期待されるメソッドを公開していないことを意味します。MMOInventory を更新し、それでも解消しない場合は、スタックトレース全体を添えて報告してください。

バニラのアイテムや MMOItems 以外のアイテムが数えられない。 MMOItems のタイプと ID を持つアイテムだけが対象です。アイテムを MMOItems で作成するか、他の種類のアイテムを確認するには別の拡張機能を使ってください。

アイテムが 1 つだけでもチェックを通過する。 requireAllItems がオフなので、1 つ一致すれば十分です。リストのすべてのアイテムを必要とするには、オンにしてください。

数量が無視される。 形式を確認してください。数量はトークンの 3 番目の部分(TYPE:ID:3)で、整数でなければなりません。TYPE:ID:three のようなトークンは破棄されます。