Dann mal ein kurzer Exkurs in Bezug auf die Erstellung von NPC-Skripten.
Aktuell werden NPC-Skripte in Form von Denizen-Skripte erstellt. Zwar gibt es dafür Vorlagen und Beispiele, allerdings steckt dahinter dann doch noch etwas Arbeit. Zum Editieren des Skriptes kommt dann noch der Upload und das Anwenden auf den passenden NPC.
Skripte sind dabei grob folgendermaßen aufgeteilt:
- Sachen, die bei Zuweisung des Skriptes erfolgen (Skin, NPC-Namen, etc.)
- Sachen, die bei Annäherung gesagt werden, wie "Hallo <Player>, klick mich doch mal an."
- Sachen, die beim Anklicken gemacht werden, wie teleportieren, Nachrichten etc.
- Sachen, die bei Antworten des Spielers ausgeführt werden
Auch wenn die Möglichkeiten aktuell begrenzt sind, so ist aktuell der Aufwand für einzelne NPCs durchaus vorhanden bzw. könnte vermindert werden.
Nun zu einer möglichen Webschnittstelle.
Für die Umsetzung einer Webschnittstelle sehe ich im Grunde genommen 2 Möglichkeiten:
- Es werden Denizen-Skripte erstellt, welche danach benutzt werden können:
Das wäre wohl die simpelste Lösung. Nachteil dabei ist allerdings, dass man in den Möglichkeiten für einen NPC relativ begrenzt bleibt. So wären Quests nicht möglich, Serverübergreifende Teleports oder ähnliches nur über Umwege erreichbar. Auch soetwas wie "Teleport zu einem Stadtwarp" wäre nicht ohne Probleme lösbar.
Dafür wäre diese Lösung aber sehr einfach realisierbar und der Aufwand in ein extra Java-Plugin entfällt. - Es wird ein komplett neues Konstrukt geschaffen, welches die Gespräche, die Aktionen etc. in eine Datenbank ablegt.
Das ist der größere Aufwand. Die Eingabe aus der Webschnittstelle müsste in eine Datenbank gespeichert werden, welche dann von einem Plugin auf den Server ausgelesen wird. Dabei ist der große Vorteil, dass man durch das Plugins auf alle Schnittstellen von Terraconia zugreifen kann, wie Teleports, serverübergreifende Informationen etc.
Dabei ist allerdings der Aufwand nicht zu vernachlässigen. Neben der Webschnittstelle, welche ich nicht programmieren könnte, müsste man für den Server ein eigenes Plugin schreiben, welches mit den NPCs "spricht" und die Daten aus der Datenbank entsprechend konvertiert.
Aktuell sehe ich dafür bei mir allerdings keine Zeit, das umzusetzen.