Zum Hauptinhalt springen

Companion

Persönliche Begleiter, die jedem Spieler als NPCs oder ModelEngine-Modelle folgen, mit Folgen/Warten und Klick-Auslösern.

Kostenlosv0.10Entitäten & Modelle
BenötigtTypeWriter0.9Entity extensionQuest extensionBasic extensionRoadNetwork extensionModelEngineoptional

Überblick​

Companion gibt Spielern einen persönlichen Begleiter: ein Haustier, einen Guide, eine Drohne oder ein Maskottchen, das ihnen überallhin folgt. Der Begleiter ist ein NPC (oder ein ModelEngine-Modell), den nur sein Besitzer sieht. So kann jeder Spieler seinen eigenen haben, ohne dass der echten Welt eine Entity hinzugefügt wird.

Du beschreibst den Begleiter mit einer Entity-Definition, die du bereits in TypeWriter verwendest, und hängst ihn dann an eine Audience. Jeder Spieler, der die Audience betritt, erhält einen Begleiter; verlässt er sie, verschwindet der Begleiter. Ein Spieler kann mehrere Begleiter gleichzeitig haben, einen pro Entity-Definition.

Funktionen​

  • Persönliche Begleiter — jeder Begleiter ist eine Packet-Entity, die nur sein Besitzer sieht.
  • NPC oder ModelEngine — die Definition kann eine NPC-Definition oder eine ModelEngine-Modelldefinition sein.
  • Folgeverhalten — der Begleiter hält sich zwischen minDistance und maxDistance Blöcken vom Spieler auf, steigt über kleine Hindernisse und bleibt am Boden.
  • Automatisches Aufholen — er teleportiert sich nach einem Weltwechsel, einem Teleport oder wenn er weit zurückfällt zum Spieler.
  • Geh- und Idle-Animationen — bei ModelEngine-Modellen wechseln die Idle- und Geh-Animationen mit der Bewegung des Begleiters.
  • Folgen oder warten — eine Action schaltet einen Begleiter zwischen Folgen und Stillstehen um.
  • Klick-Trigger — ein Event wird ausgelöst, wenn der Spieler einen seiner Begleiter mit Rechtsklick anklickt.
  • Mehrere gleichzeitig — ein Spieler kann einen Begleiter pro Entity-Definition besitzen; wird dieselbe Definition erneut beschworen, ersetzt sie den alten Begleiter.
  • Anzahl aktiver Begleiter — ein Fact gibt an, wie viele Begleiter der Spieler aktuell hat.

Installation​

  1. Installiere die TypeWriter-Erweiterungen Entity, Quest, Basic und RoadNetwork über den Tab Extensions des Web-Panels, falls sie noch nicht installiert sind (siehe die TypeWriter-Dokumentation). Companion wird gegen diese vier offiziellen Erweiterungen gebaut.
  2. Optional: Installiere die ModelEngine-Erweiterung von TypeWriter und das ModelEngine-Plugin, wenn du 3D-Modelle statt NPCs möchtest. Companion funktioniert auch ohne sie.
  3. Lege die Companion-JAR in plugins/Typewriter/extensions/ ab und starte den Server neu.

Erste Schritte​

So gibst du jedem Spieler einen folgenden Begleiter:

  1. Erstelle im TypeWriter-Web-Panel eine NPC-Definition (oder eine ModelEngine-Definition) für den Begleiter: Name, Skin oder Modell.
  2. Öffne eine Manifest-Seite und füge einen Companion Invocation-Entry hinzu.
  3. Setze definition auf die erstellte Entity-Definition. Lass activity leer, um das Standard-Idle-Verhalten zu verwenden, oder wähle eine Entity-Activity, wenn du ein eigenes Verhalten möchtest.
  4. Passe minDistance (wo der Begleiter stehen bleibt, wenn der Spieler still steht) und maxDistance (wie weit er zurückbleibt, wenn der Spieler läuft) an. Die Standardwerte sind 2.0 und 4.0.
  5. Um den Begleiter auf bestimmte Spieler zu beschränken, füge criteria hinzu, zum Beispiel eine Fact-Prüfung für ein gekauftes Haustier. Lass das Feld leer, damit jeder in der Audience einen Begleiter bekommt.
  6. Veröffentliche (Publish). Der Begleiter erscheint hinter dem Spieler.

Damit der Spieler seinen Begleiter anhalten oder wieder losschicken kann, verwende eine Companion Follow Mode-Action. Um auf Klicks zu reagieren, füge ein Companion Interact-Event hinzu und verknüpfe die Entries, die es auslösen soll, etwa einen Dialog oder ein Menü.

tipp

Companion Follow Mode hat eigene Werte für minDistance und maxDistance. Wenn die Action ausgeführt wird, überschreibt sie die Abstände des Begleiters. Behalte dieselben Werte wie in der Invocation bei, sofern du sie nicht ändern möchtest.

So funktioniert es​

Betritt der Spieler die Audience, erscheint der Begleiter hinter ihm, in einem Abstand von maxDistance Blöcken. Danach bewegt er sich jeden Tick: Er hält minDistance ein, wenn der Spieler stillsteht, und maxDistance, wenn der Spieler sich bewegt, und wird schneller, wenn er weit zurückliegt. Er teleportiert sich neben den Spieler, wenn die Welt wechselt, nach einem Teleport, wenn er mehr als das Achtfache von maxDistance entfernt ist oder wenn er weiter als das Vierfache von maxDistance entfernt festhängt.

Der Begleiter wird entfernt, wenn der Spieler die Audience verlässt oder sich abmeldet. Nach einem Weltwechsel wird der Begleiter entfernt und neu beschworen. Begleiter werden nicht gespeichert: Sie werden bei jedem Beitritt des Spielers aus der Audience neu erstellt.

Entries​

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

Aktionen1
Ereignisse1
Fakten1
Zielgruppen1

Fehlerbehebung​

Der Begleiter erscheint nie. Der Entry benötigt eine gültige definition: Ist sie leer oder gelöscht, wird nichts beschworen. Die Definition muss eine NPC- oder ModelEngine-Definition sein (das Feld bietet nur diese an). Prüfe außerdem, ob der Spieler criteria und die Audience erfüllt, zu der die Invocation gehört.

Der Begleiter ist ein einfacher NPC statt meines Modells. Die ModelEngine-Unterstützung ist optional und wird zur Laufzeit erkannt. Stelle sicher, dass die ModelEngine-Erweiterung installiert ist und die Definition eine ModelEngine-Definition ist. Animationen werden anhand der Namen der Idle- und Geh-Animation dieser Definition gesucht.

Der Begleiter bewegt sich nicht. Der Folgemodus wird bei jeder Companion-Follow-Mode-Action umgeschaltet. Wurde die Action einmal ausgeführt, wartet der Begleiter; führe sie erneut aus, damit er weiterfolgt. Ohne definition in der Action werden alle Begleiter des Spielers umgeschaltet.

Ein Klick auf den Begleiter bewirkt nichts. Companion Interact reagiert nur auf einen Rechtsklick mit der Haupthand auf den eigenen Begleiter des Spielers. Prüfe, ob seine triggers verknüpft sind und ob seine criteria erfüllt sind.

Der Begleiter ruckelt oder schwebt an merkwürdigen Stellen. Er läuft auf dem Boden unterhalb seiner Position und steigt nur ein oder zwei Blöcke hoch. In sehr engen oder unebenen Bereichen kann er hängen bleiben; ist er weit genug vom Spieler entfernt, teleportiert er sich automatisch zurück.

Verwandte Erweiterungen​

  • Dialog Menu — öffnet einen Dialogbildschirm, wenn der Spieler den Begleiter anklickt.