Zum Hauptinhalt springen

MMO Inventory

Prüft MMOItems in benutzerdefinierten MMOInventory-Slots als TypeWriter-Fakt.

Kostenlosv0.7Integrationen
BenötigtTypeWriter0.9Quest (TypeWriter extension)MMOInventoryMMOItemsMythicLib

Überblick​

MMO Inventory verbindet MMOInventory mit TypeWriter. MMOInventory fügt benutzerdefinierte Ausrüstungs-Slots hinzu (Accessoires, Umhänge, Artefakte und so weiter), die außerhalb des Vanilla-Inventars liegen. TypeWriter kann sie von sich aus nicht sehen: Diese Erweiterung schließt diese Lücke.

Sie stellt einen einzigen lesbaren Fact bereit. Der Fact beantwortet eine Frage: Hält dieser Spieler gerade die von dir aufgelisteten MMOItems in einem deiner benutzerdefinierten MMOInventory-Inventare? Diesen Fact kannst du dann als Criteria in Dialogen, Quests, Audiences oder jedem anderen Entry verwenden, der Criteria akzeptiert, zum Beispiel um eine Dialogoption nur für Spieler freizuschalten, die ein bestimmtes Artefakt tragen.

Es werden nur MMOItems erkannt. Ein Item wird über seinen MMOItems-Typ und seine ID zugeordnet, nicht über Name oder Material.

Funktionen​

  • Kenntnis benutzerdefinierter Slots — liest die Items, die in einem benannten benutzerdefinierten Inventar von MMOInventory liegen, nicht im Vanilla-Inventar.
  • Zuordnung nach Typ und ID — identifiziert MMOItems über ihr Paar TYPE:ID, zum Beispiel ACCESSORY:RING_OF_FIRE.
  • Item-Mengen — jedes Item kann eine Mindestmenge verlangen, geschrieben als TYPE:ID:amount.
  • Mehrere Items gleichzeitig — liste beliebig viele Items auf, durch Kommas getrennt.
  • Beliebig oder alle — requireAllItems legt fest, ob ein Treffer genügt oder jedes aufgelistete Item erforderlich ist.
  • Als Bedingung nutzbar — der Fact liefert 1 oder 0, bereit für jedes Criteria.

Installation​

  1. Installiere MMOInventory, MMOItems und die dafür erforderliche Bibliothek MythicLib auf dem Server.
  2. Stelle sicher, dass die offizielle TypeWriter-Erweiterung Quest installiert ist: MMO Inventory hängt von ihr ab.
  3. Lege die MMO-Inventory-JAR in plugins/Typewriter/extensions/ ab.
  4. Starte den Server neu.
  5. Definiere deine benutzerdefinierten Inventare in der MMOInventory-Konfiguration. Der Name, den du dort einem Inventar gibst, ist der, den du im Panel verwendest.

Erste Schritte​

So schaltest du eine Dialogoption nur für Spieler frei, die einen bestimmten Ring im Inventar accessories tragen:

  1. Öffne im TypeWriter-Web-Panel eine Static-Seite und füge einen Check Item Fact-Entry hinzu.
  2. Setze inventoryName auf den Namen des benutzerdefinierten Inventars in MMOInventory, zum Beispiel accessories.
  3. Setze itemsToCheck auf ACCESSORY:RING_OF_FIRE. Mehrere Items trennst du mit Kommas: ACCESSORY:RING_OF_FIRE, ACCESSORY:AMULET:2.
  4. Lass requireAllItems aus, wenn ein Treffer genügt, oder aktiviere es, um jedes aufgelistete Item zu verlangen.
  5. Füge bei der Dialogoption (oder einem beliebigen Entry mit Criteria) ein Criteria hinzu, das diesen Fact mit dem Wert 1 verwendet.
  6. Klicke auf Publish und teste mit einem Spieler, der das Item in diesem Inventar angelegt hat.
Format von itemsToCheck

Jedes Token ist TYPE:ID (Menge 1) oder TYPE:ID:amount. Typ und ID unterscheiden nicht zwischen Groß- und Kleinschreibung. Ein Token, das nicht diesem Format entspricht, wird stillschweigend ignoriert; bleibt kein gültiges Token übrig, liefert der Fact 0.

So funktioniert es​

Die Erweiterung liest das Plugin MMOInventory zur Laufzeit. Es werden nur Items gezählt, die MMOItems-Daten tragen, und Stapel desselben Items werden addiert, bevor sie mit der verlangten Menge verglichen werden.

Entries​

1 Einträge, aus dem Quellcode der Erweiterung generiert.

Fakten1

Fehlerbehebung​

Der Fact ist immer 0. Die Erweiterung liefert 0, sobald etwas fehlt: inventoryName oder itemsToCheck leer, das Plugin MMOInventory nicht geladen oder das Inventar leer. Prüfe das in dieser Reihenfolge.

Das Log meldet „Inventory 'x' not found“. Der Name in inventoryName passt zu keinem in MMOInventory definierten benutzerdefinierten Inventar. Kopiere den Namen genau so, wie er in der MMOInventory-Konfiguration steht.

„Error accessing MMOInventory“ erscheint in der Konsole. Die Erweiterung spricht MMOInventory zur Laufzeit über seine API an. Dieser Fehler bedeutet, dass die installierte MMOInventory-Version die erwarteten Methoden nicht bereitstellt. Aktualisiere MMOInventory und melde den vollständigen Stack Trace, falls der Fehler bestehen bleibt.

Ein Vanilla-Item oder Nicht-MMOItems-Item wird nie gezählt. Es werden nur Items berücksichtigt, die einen MMOItems-Typ und eine ID haben. Erstelle das Item mit MMOItems oder nutze eine andere Erweiterung, um andere Item-Arten zu prüfen.

Die Prüfung ist mit nur einem meiner Items erfüllt. requireAllItems ist aus, daher genügt ein einzelner Treffer. Aktiviere es, um jedes Item der Liste zu verlangen.

Eine Menge wird ignoriert. Prüfe das Format: Die Menge muss der dritte Teil des Tokens sein (TYPE:ID:3) und eine ganze Zahl. Ein Token wie TYPE:ID:three wird verworfen.