Weitere Dokumentation
Bevor ich das als 100%ige Erweiterung für das nächste Update hinzufüge, lieber nur mal ein paar Infos darüber.
Wir arbeiten gerade an einem Overhaul für das System mit den Lehrerkosten.
Ich hab das bisher immer wieder angesprochen und mein Kumpel hat sich dafür sogar Hilfe im Bethsoft Forum geholt.
Allerdings ohne Erfolg.
Ihm wurde geraten MenuQue zu verwenden, um bessere Dialoge mit erweiterten Funktionen zu haben.
Doch wollten wir beide auf weitere Plugins (außer OBSE) als Voraussetzung für NE verzichten.
Lösung:
Als selbsternannter König der Messageboxen

habe ich mir überlegt, dass die Zusage zu einem Training nun eine Messagebox auslöst, in der alles genau angezeigt wird (Vorhandene Lernpunkte, vorhandenes Gold, benötigtes Gold) und dass die Kosten sich dynamisch nach dem Fertigkeitslevel und dem Spielerlevel berechnen. Die Box hat simple "Ja" und "Nein" antworten, ob man trainieren möchte, dafür wird per Skript der Wert der Kosten für jede Einheit neu berechnet:
Kosten für 1 Einheit = Fertigkeitslevel + Spielerlevel
Kosten für 5 Einheiten = (Fertigkeitslevel + Spielerlevel) * 5
Dadurch müssen niedrige Charaktere sehr wenig Gold für eine Trainingseinheit bezahlen, aber hohe immer mehr, je höher die Fertigkeit und das Level des Chars steigt.
Krasser Unterschied zum bisherigen System: Jede Fertigkeit hat ihren eigenen Preis, anstatt dass alle den selben haben und ausschließlich vom Spielerlevel abhängig sind.
Die Messagebox im Sprachdialog funktioniert schon mal, allerdings musste eine neue Antwortmöglichkeit hinzugefügt werden, um alle Variablen des Skripts auf 0 zu setzen und es sauber abzuschließen.
Das sollte allerdings kein Problem sein.
Wobei ich anmerken muss, dass ich nach wie vor an dem Skript arbeite.
Die ersten Tests waren vielversprechend, aber nur, weil ich es nicht selber ins Spiel implementieren musste. ^^
Keine Ahnung wie man das mit den Dialog Topics anstellt, aber bisher wurde da ganze Arbeit geleistet.
Doch noch ist alles im Anfangsstadium.
Die Skripte (weil es sich um insgesamt fast 2000 Zeilen Code handelt gibt es 2), sind noch falsch. Die Variablen müssen noch auf jede der einzelnen Fertigkeiten zugeschnitten werden.
Doch bisher sieht es gut aus

Die Skripte werden ausschließlich dann aktiviert, wenn man im Training ist, ansonsten laufen sie nicht. Demnach sollte es zu keinen Performanceproblemen durch diese Codemassen kommen.