Zum Hauptinhalt springen

MMOItems

MMOItems-Items in Quests vergeben, zählen und verfolgen, mit seitenweisen dynamischen Item-Tooltips.

Kostenpflichtigv2.4RPG & Progression

Überblick​

MMOItems verbindet das Plugin MMOItems mit TypeWriter. Du wählst ein Item über seinen MMOItems-Typ (zum Beispiel SWORD) und seine ID, und TypeWriter kann es geben, nehmen, zählen oder reagieren, wenn ein Spieler es herstellt, benutzt, anlegt oder einen Edelstein darin einsetzt.

Die Erweiterung bringt außerdem ein Advanced Tooltip System mit. Es schreibt die Lore von MMOItems-Items im Handumdrehen um, als Packets, die an den Spieler gesendet werden, sodass ein Item mehrere Seiten, eine Live-Markierung „Anforderungen erfüllt“ und einen Stat-Vergleich mit einem anderen Item anzeigen kann. Das gespeicherte Item wird nie verändert.

Alles wird im Web-Panel konfiguriert: Item-Typen und IDs werden aus deiner MMOItems-Konfiguration vorgeschlagen.

Funktionen​

  • Items geben und entfernen — verteile oder nimm MMOItems-Items, für einen Spieler oder eine ganze Gruppe, aus einer Liste oder aus einem Fact.
  • Item-Zählung — ein Fact zählt passende Items im Inventar (Rüstung, Zweithand und Cursor eingeschlossen) und/oder in der Haupthand.
  • Benutzen-Event und -Objective — reagiere auf das Rechtsklicken oder Verbrauchen eines MMOItems-Items.
  • Herstellen-Event und -Objective — reagiere auf Items, die in einer MMOItems-Herstellungsstation gefertigt wurden, mit optionalem Stationsfilter.
  • Edelstein-Event und -Objective — reagiere auf einen Edelstein, der auf ein Item angewendet wurde, gefiltert nach Ziel-Item und Edelstein.
  • Anlegen-Objective — zähle MMOItems-Teile, die in einem Rüstungs-Slot angelegt werden.
  • Fähigkeiten-Objective — zähle Einsätze einer MMOItems-Fähigkeit.
  • Item-Besitz-Objective — wird abgeschlossen, wenn der Spieler genug der ausgewählten Items hält, mit Modifiern beim Abschluss.
  • Item-Variable — verwende ein MMOItems-Item überall dort, wo ein Item erwartet wird.
  • Erweiterte Tooltips — mehrseitige Lore, Anforderungsmarkierungen, Stat-Vergleich und Kategorie-Icons.

Installation​

  1. Installiere MMOItems und seine Bibliothek MythicLib. Installiere auch MMOCore, wenn die Anforderungsmarkierungen des Tooltip-Systems Klasse, Level und Berufe prüfen sollen.
  2. Installiere die offizielle TypeWriter-Erweiterung Quest (die Objectives benötigen sie).
  3. Beziehe die Erweiterung aus den Stores (siehe die Buttons im Übersichtsfeld oben) und lege die JAR in plugins/Typewriter/extensions/ ab.
  4. Starte den Server neu. TypeWriter 0.9 stützt sich auf PacketEvents, das das Tooltip-System zum Umschreiben der Item-Lore verwendet.

Erste Schritte​

So belohnst du Spieler mit einem Schwert, wenn sie an einer Alchemiestation einen Trank herstellen:

  1. Öffne im TypeWriter-Web-Panel eine Sequence-Seite und füge eine Give MMOItem-Action hinzu.
  2. Lass items leer. Setze item mit einem type (zum Beispiel SWORD) und einer id (zum Beispiel STEEL_BLADE) sowie amount auf 1.
  3. Öffne eine Static-Seite und füge ein Craft Objective hinzu. Fülle quest, display, amount und einen persistenten Fact in fact zum Speichern des Fortschritts.
  4. Füge in items das hergestellte MMOItems-Item hinzu (leer bedeutet jedes Item) und bei Bedarf stationIds mit der MMOItems-Stations-ID.
  5. Setze onComplete auf die Give-MMOItem-Action und veröffentliche.

Um nur einmal zu reagieren, ohne Fortschritt zu verfolgen, verwende stattdessen das Craft Event und verknüpfe die Give-Action in seinen triggers.

Kreativmodus

Events und Tooltips ignorieren Spieler im Kreativmodus. Teste mit einem Spieler im Überlebens- oder Abenteuermodus.

So funktioniert es​

Die Item-Zuordnung vergleicht MMOItems-Typ und -ID ohne Beachtung der Groß- und Kleinschreibung. Ein leerer Typ und eine leere ID passen auf jedes MMOItems-Item. Items, die keine MMOItems-Items sind, passen nie.

Objectives auf Basis des Felds fact (Herstellen, Benutzen, Anlegen, Edelstein, Fähigkeiteneinsatz, Werkbank öffnen) schreiben ihren Fortschritt in einen persistenten (cachefähigen) Fact und lösen onComplete einmalig aus, wenn amount erreicht ist.

Erweiterte Tooltips​

Füge auf einer Manifest-Seite einen Advanced Tooltip System-Entry hinzu und veröffentliche. Er gilt für jedes MMOItems-Item im Inventar, in der Hotbar und in Containern, für alle Spieler außerhalb des Kreativmodus.

Nur Überleben und Abenteuer

Seitenwechsel und erweiterter Lore gelten nur im Überlebens- und Abenteuermodus. Im Kreativmodus wird der ursprüngliche MMOItems-Lore unverändert angezeigt, Tags eingeschlossen, weil der Kreativ-Client Items so zurückschickt, wie er sie anzeigt, und ein umgeschriebener Lore das echte Item dauerhaft verändern würde.

Ist das System deaktiviert, overrideDefaultLore aus oder kein Eintrag veröffentlicht, werden die Tags entfernt und der gesamte Lore bleibt auf einer Seite.

Bearbeite die Lore deiner MMOItems-Items (im MMOItems-Item-Editor oder in dessen Konfiguration) und füge diese Tags hinzu:

TagWirkung
<page_break>Beginnt eine neue Seite. Leere Seiten werden verworfen.
<category_image>Wird durch das in categoryImages für den Item-Typ gesetzte Icon ersetzt.
<pagination_indicator>Wird durch paginationIndicator ersetzt.
<comparison_indicator>Wird durch comparisonIndicator ersetzt.
<requirement_met> und <requirement_not_met>Nur eines der beiden wird angezeigt, mit requirementMetSymbol oder requirementNotMetSymbol.
<comparison_value> und <comparison_sign>Die Stat-Differenz zum Vergleichs-Basis-Item und ein +, wenn sie positiv ist.

Seiten und Vergleich werden über Tasten gesteuert, festgelegt mit paginationKeybind (Standard SWAP_OFFHAND, die Taste F) und comparisonKeybind (Standard SNEAK). Zulässige Werte sind SWAP_OFFHAND, DROP, SNEAK, SHIFT_LEFT, SHIFT_RIGHT, LEFT_CLICK, RIGHT_CLICK und MIDDLE_CLICK.

  • Das Drücken der Blättertaste bei einem MMOItems-Item bricht immer die Vanilla-Aktion (Tauschen, Fallenlassen, Klick) ab, um Unfälle zu vermeiden, auch bei Items mit nur einer Seite. Die Seiten springen wieder zu Seite 1 zurück, mit einem kurzen Cooldown zwischen den Tastendrücken.
  • Das Drücken der Vergleichstaste bei einem Item setzt es als Vergleichsbasis. Erneutes Drücken beim selben Item löscht sie. Es werden nur Items desselben MMOItems-Typs verglichen, und die Basis wird gelöscht, wenn das Inventar geschlossen wird.
  • Anforderungen werden anhand von MMOCore-Daten geprüft: Level, Klasse, Berufslevel und Berechtigung. Schlägt eine Anforderung fehl, wird jedes <requirement_not_met> angezeigt.

Anzeigeformat von Zielen​

Die Zeile eines Ziels im Quest-Tracker ist nicht fest im Code verankert. Sie wird aus TypeWriter-Snippets gelesen, die in plugins/Typewriter/snippets.yml bearbeitet werden. Platzhalter: <display> (das Feld display des Ziels), <current> und <required>; PlaceholderAPI-Platzhalter werden ebenfalls aufgelöst.

SnippetVerwendet vonStandardwert
advancedQuest.displayZiele Craft, Use, Equip, Gem Stone, Ability Cast und Open Crafting Table, solange sie laufen<display> (<current>/<required>), in Grautönen
advancedQuest.completedDieselben Ziele, sobald amount erreicht ist✔, dann das durchgestrichene <display> und der Fortschritt
mmoitems.countObjective.displayMmoitems Count Objective, solange es läuft<display> (<current>/<required>), in Grautönen
mmoitems.countObjective.completedDasselbe Ziel, sobald amount erreicht istGrünes durchgestrichenes <display>, dann der Fortschritt

Die beiden Schlüssel advancedQuest.* werden mit den anderen BTC-Ziel-Erweiterungen geteilt: Eine Änderung gestaltet alle neu.

Entries​

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

Aktionen3
Ereignisse3
Ziele7
Fakten1
Variablen1
Manifeste1

Fehlerbehebung​

Die Liste der Item-Typen oder IDs ist im Panel leer. Die Listen stammen aus der MMOItems-Konfiguration des laufenden Servers. Stelle sicher, dass MMOItems geladen ist und mindestens eine Vorlage dieses Typs hat, und öffne die Seite im Panel dann erneut.

Give MMOItem bewirkt nichts. Die Action führt mmoitems give <type> <id> <player> <amount> von der Konsole aus. Ein unbekannter type überspringt das Item stillschweigend, prüfe also die Schreibweise des Typs. Ist fact gesetzt, werden nur Items gegeben, die von diesem Fact geliefert werden (und zu item / items passen, wenn diese gefüllt sind), mit dem amount der Action.

Remove MMOItem nimmt nichts. Standardmäßig wird nur das Inventar durchsucht (checkInventory ist an, checkHand ist aus). Die Inventarsuche umfasst Rüstung, Zweithand und Cursor. Aktiviere checkHand, um zuerst aus der Haupthand zu nehmen.

Ein Herstellen-Objective kommt nie voran. Standardmäßig werden nur Sofort-Rezepte und die Herstellungswarteschlange gezählt. detectUpgradeRecipe existiert, aber Upgrade-Ergebnisse werden vom aktuellen Code nie gezählt. Prüfe außerdem die Stations-ID (stationIds, zusammengeführt mit der veralteten stationId) und ob ein persistenter Fact in fact verknüpft ist.

Events und Objectives werden im Kreativmodus nicht ausgelöst. Die Events Benutzen, Herstellen und Edelstein kehren für Kreativspieler früh zurück, und das Tooltip-System ist für sie deaktiviert. Teste im Überlebensmodus.

Tooltip-Tags erscheinen als Text, oder Seiten wechseln nicht. Prüfe zuerst, ob der Spieler im Kreativmodus ist, wo der Lore unverändert bleibt. Seiten wechseln nur, wenn ein Eintrag Advanced Tooltip System mit isEnabled und overrideDefaultLore an veröffentlicht ist; sonst werden die Tags entfernt und der Lore bleibt auf einer Seite. Falls die Standardtaste F mit einem anderen Plugin kollidiert, wähle in paginationKeybind eine andere Taste.

Anforderungsmarkierungen werden immer als erfüllt angezeigt. Die Prüfung liest MMOCore-Spielerdaten. Ohne MMOCore (oder bei einem Spieler ohne Profil) fällt die Prüfung auf „erfüllt“ zurück.

Verwandte Erweiterungen​

  • MMOCore — Klassen, Berufe und Skills derselben Phoenix-Development-RPG-Suite.
  • MMO Inventory — MMOInventory-Integration, nutzbar als Item liefernder Fact für die Give- und Remove-Actions.