MMO Inventory
Ü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 BeispielACCESSORY: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 —
requireAllItemslegt fest, ob ein Treffer genügt oder jedes aufgelistete Item erforderlich ist. - Als Bedingung nutzbar — der Fact liefert
1oder0, bereit für jedes Criteria.
Installation
- Installiere MMOInventory, MMOItems und die dafür erforderliche Bibliothek MythicLib auf dem Server.
- Stelle sicher, dass die offizielle TypeWriter-Erweiterung
Questinstalliert ist: MMO Inventory hängt von ihr ab. - Lege die MMO-Inventory-JAR in
plugins/Typewriter/extensions/ab. - Starte den Server neu.
- 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:
- Öffne im TypeWriter-Web-Panel eine Static-Seite und füge einen Check Item Fact-Entry hinzu.
- Setze
inventoryNameauf den Namen des benutzerdefinierten Inventars in MMOInventory, zum Beispielaccessories. - Setze
itemsToCheckaufACCESSORY:RING_OF_FIRE. Mehrere Items trennst du mit Kommas:ACCESSORY:RING_OF_FIRE, ACCESSORY:AMULET:2. - Lass
requireAllItemsaus, wenn ein Treffer genügt, oder aktiviere es, um jedes aufgelistete Item zu verlangen. - Füge bei der Dialogoption (oder einem beliebigen Entry mit Criteria) ein Criteria hinzu, das diesen Fact mit dem Wert
1verwendet. - Klicke auf Publish und teste mit einem Spieler, der das Item in diesem Inventar angelegt hat.
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
- Mmoinventory Check Item FactCheck if player has specific MMOItem(s) in a MMOInventory
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.