Ein neues Maptool-Framework für DSA5

  • Ich hebe dann mal die Fackel auf.


    In den letzten Wochen habe ich (from Scratch um jedes Urheberechtsproblem zu umgehen) ein neues DSA5-Framework für Maptool entwickelt.


    Um Euch nicht lange auf die Folter zu spannen, habe ich es als "Early-Access" ausgelegt und ins Scriptorium gestellt.


    Nachdem bisher kein schlechtes Feedback kam, traue ich mich jetzt, es auch hier anzukündigen.


    Ich entwickle es ständig weiter und nach jeder Testrunde kommen wieder neue Features dazu, trotzdem fehlt natürlich noch viel.


    Was bisher geht:

    • Charakterbogen mit allen Relevanten Werten
      • Attribute
      • Vor- und Nachteile
      • Sonderfertigkeiten
      • Talente
      • Zauber
      • Liturgien
      • Waffen
      • Rüstungen
    • Talent, Eigenschafts und Kampfproben
    • Schadenswürfe
    • Automatisches Berechnen vieler Werte
    • Grundlegende Sound-Funktionen (frühe Alpha-Version ^^)
    • Tools zum "Teleportieren" von Tokens
    • Eine Kartenverwaltung mit Kategorien
    • Portale um Karten zu verknüpfen
    • Minsheets (Die noch Ausbaufähig sind)
    • Zustände und Statuswerte (Die sich automatisch auf Proben auswirken)

    Was zeitnah kommt

    • Inventarverwaltung
    • Sammelproben
    • Fertigkeitspunkte-Boni
    • Automatische Festlegung der Belastung durch (Aus-) Rüstung

    Das Framework ist selbstverständlich kostenlos, zu versuchen aus der aktuellen Lage Profit zu ziehen halte ich für ziemlich unanständig :)


    ICh freue mich über Euer Feedback und Kommentare.

    Äußert auch gerne Wünsche für neue Funktionen.


    Ich hoffe ich kann damit etwas zu Euren Online-Runden beitragen.


    Hier noch der Link ins Scriptorium:


    https://www.ulisses-ebooks.de/…ptool-Framework-fur-DSA-5

  • Muwak

    Added the Label DSA 5
  • Muwak

    Changed the title of the thread from “Ein neues Maptool-Framewirk für DSA5” to “Ein neues Maptool-Framework für DSA5”.
  • Danke für die Glückwünsche. Ich habe es sehr bedauert, als ich gelesen habe, dass Du nicht weiter machst. Ansonsten wären wir wohl von unserem (Damals noch viel rudimentäreren) Framework irgendwann auf Deins gewechselt.


    Aber ich kann mir gut vorstellen in welche Hürden Du da gelaufen bist.



    Ich hoffe natürlich auch, dass meine Variante zur Eurer Zufriedenheit gerät. Hab gerade wieder gute 6 Stunden investiert um Sammelproben zu realisieren. Bisher ist mal nix explodiert.

    Würde mich übrigens speziell über Dein Feedback, gerade auch zu technischen Aspekten freuen, immerhin hat wohl keiner mehr Erfahrung mit DSA5-Frameworks als du.

  • Dann will ich gern meinen Senf dazugeben. Das sollen nur erste Anmerkungen oder Anregungen sein. Sie erheben keinen Anspruch auf Vollständigkeit und sollen dich auch nicht kritisieren. :)

    1. Layout/Benutzeroberfläche: Man fühlt sich zu Beginn leicht von den vielen offenen Fenstern erschlagen, die man dann noch neu anordnen muss. Ich habe das damals über Makros geregelt, sodass sich erst nach dem Aufruf des Makros das jeweilige Fenster geöffnet hat. Wäre das vielleicht eine Alternative?
    2. Layout/Benutzeroberfläche: Bei den Zaubern befindet sich unter den Merkmalen ein - Symbol. Ich nehme an, dass das eigentlich neben dem +-Zeichen stehen sollte?
    3. Layout/Benutzeroberfläche: Du solltest bei der Eingabe von neuen Zaubern, Waffen etc. eventuell die Zeichenanzahl begrenzen. Ich habe einfach mal einen längeren Namen bei einem Zauber eingegeben und das zerreißt dann das Design ein wenig.
    4. Layout/Benutzeroberfläche: Ich kann neue Einträge bei den Zaubern nicht wieder entfernen. Das mag aber auch an meinem Test-Zauber mit sehr vielen Zeichen gelegen haben...
    5. Proben: Beim BANNBALADIN konnte ich keine Probenerschwernisse/-erleichterungen eingeben. Wenn ich auf FW klicke, würfelt er sofort die Probe, ohne dass ich was modifizieren kann. Soll das momentan noch so sein?

    Der erste Eindruck ist auf jeden Fall richtig, richtig gut! Dass man nun auch Soundsets einbauen und verwenden kann, finde ich klasse und macht mich neugierig. Das schaue ich mir mal für meine private DSA5-Gruppe an!:)


    Sag mal, in früheren Versionen von MapTool musste ich noch massiv darauf achten, dass die Makros nicht zu lang werden, Java-Stappelüberlauf und so...ist das heute nicht mehr problematisch?

  • Hab die Tage eine neue Version rausgebracht. Ich poste hier mal das Changelog:


    Behobene Fehler

    • Talentproben wurden bereits bei nur einer gewürfelten 1/20 als kritisch/Patzer gewertet
    • Wenn man Modifizierte Würfe abgebrochen hat, erschienen im Chat Fehlermeldungen.
    • Spieler konnten einige Felder im Charakterbogen nicht ändern.

    Neue Features

    • Eigenschaftsproben können nun modifiziert werden.
    • Ein Einheitlicher Button für die Probenerschwernis wurde eingeführt
    • Attacke-, Parade- und Fernkampfwerte können modifiziert werden.
    • Sammelproben sind jetzt möglich.
    • Man kann jetzt eine Attacke mit Ziel ausführen, dabei können nur Ziele Ausgewählt werde, die sichtbar und in Reichweite sind. Die Attacke wird dann entsprechend der Waffenreichweite im Nahkampf bzw. der Entfernung im Fernkampf modifiziert.
    • Auf dem Minisheet erscheinen jetzt die Lebens-, Astral und Karmapunkte.
    • Für den Meister gibt es jetzt im Minisheet Buttons um LeP, AsP und KaP zu verändern.
    • Zustände können vom Meister mit einem Klick auf den Zustand/Status im Minisheet entfernt werden.
    • Waffen und Schilde können jetzt als Angelegt markiert werden, Schilde können zudem als „passiv“ markiert werden und erhöhen die Parade mit der Waffe.
    • Der Action/Movement-Frame ist jetzt Teil der Minisheets, dieser wurde mächtig aufgehübscht und mit grafischen Buttons für Initiative, Aktionen und Bewegung versehen.
    • Es ist jetzt möglich direkt auf Kampftechniken zu würfeln
    • Der Vorteil Begabung wird vom Programm berücksichtigt.
    • Der Nachteil Unfähigkeit wird vom Programm berücksichtigt.
    • Auf dem Minisheet kann man jetzt angelegte Waffen sehen, sowie Attacken durchführen.
    • Viele Sonderfertigkeiten bieten Bonus-Fertigkeitspunkte. Diese können jetzt bei einer Probe angegeben werden

    Änderungen

    • Auch Kampftechniken werden jetzt durch einen Klick auf den Namen und nicht auf den Wert geändert um eine einheitliche und intuitive Bedienung zu gewährleisten.
    • Probenmodifikatoren werden nun als Auswahlliste dargestellt.
    • Der Charakterbogen wir geschlossen, wenn sich das zugehörige Token nicht auf der aktuellen Karte befindet.
    • Proben die vom Spielleiter gewürfelt werden, sind für Spieler nicht mehr sichtbar.
    • Im Minisheet werden nur noch ausgewählte Charaktere und Kreaturen, aber keine Libraries oder Portale mehr angezeigt.
    • Unterstützung für Maptool 1.6x hinzugefügt.
    • Vorteile, Nachteile und Sonderfertigkeiten sind jetzt so angelegt, dass sie Informationen aufnehmen können die zur automatischen Einrechnung benötigt werden.
    • Der Charakterbogen hat jetzt mehrere Seiten.
    • Ein Inventarbereich wurde hinzugefügt (Er wird später mit Inhalt gefüllt).


    https://www.ulisses-ebooks.de/…ptool-Framework-fur-DSA-5

  • Dann will ich gern meinen Senf dazugeben. Das sollen nur erste Anmerkungen oder Anregungen sein. Sie erheben keinen Anspruch auf Vollständigkeit und sollen dich auch nicht kritisieren. :)

    1. Layout/Benutzeroberfläche: Man fühlt sich zu Beginn leicht von den vielen offenen Fenstern erschlagen, die man dann noch neu anordnen muss. Ich habe das damals über Makros geregelt, sodass sich erst nach dem Aufruf des Makros das jeweilige Fenster geöffnet hat. Wäre das vielleicht eine Alternative?
    2. Layout/Benutzeroberfläche: Bei den Zaubern befindet sich unter den Merkmalen ein - Symbol. Ich nehme an, dass das eigentlich neben dem +-Zeichen stehen sollte?
    3. Layout/Benutzeroberfläche: Du solltest bei der Eingabe von neuen Zaubern, Waffen etc. eventuell die Zeichenanzahl begrenzen. Ich habe einfach mal einen längeren Namen bei einem Zauber eingegeben und das zerreißt dann das Design ein wenig.
    4. Layout/Benutzeroberfläche: Ich kann neue Einträge bei den Zaubern nicht wieder entfernen. Das mag aber auch an meinem Test-Zauber mit sehr vielen Zeichen gelegen haben...
    5. Proben: Beim BANNBALADIN konnte ich keine Probenerschwernisse/-erleichterungen eingeben. Wenn ich auf FW klicke, würfelt er sofort die Probe, ohne dass ich was modifizieren kann. Soll das momentan noch so sein?

    Der erste Eindruck ist auf jeden Fall richtig, richtig gut! Dass man nun auch Soundsets einbauen und verwenden kann, finde ich klasse und macht mich neugierig. Das schaue ich mir mal für meine private DSA5-Gruppe an!:)


    Sag mal, in früheren Versionen von MapTool musste ich noch massiv darauf achten, dass die Makros nicht zu lang werden, Java-Stappelüberlauf und so...ist das heute nicht mehr problematisch?

    Erstmal ein großes Sorry!


    Ich habe deinen Beitrag letztes mal im Eifer des Gefechts echt überlesen. VIELEN Dank für Dein Feedback.


    Erstmal möchte ich natürlich auf deine Kritikpunkte antworten:


    1. Ich habe bei den Fenstern schon ein wenig mächtig aufgeräumt. Nach und nach werde ich das weiter eindampfen. Die Fenster für Karten und Tokensteuerung wollte ich ursprünglich mal unabhängig halten, damit ich sie auch in meinem (Viel später) geplanten Trail of Cthulhu-Framework nutzen kann, aber ich meke schon, dass das wenig sinnvoll ist.

    Die Fenster für Kartenübersicht und die Aktuelle Karte habe ich schon zusammengelegt und das Bewegungsfenster ist mit vielen anderen Funktionen in den Minibögen aufgegangen.


    Der Sound bleibt wohl erstmal noch getrennt, da bin ich mir noch nicht über das Finale Design im Klaren, aber ich denke darüber nach, vielleicht aus einigen Bereichen Dialoge zu machen, die sich nur bei Bedarf öffnen.


    2. Die Spalte hat (noch) keine Funktion. Das sollte ich dringend mal fertig machen, eingeben kann man es mittlerweile, aber es erscheint noch nicht in der Liste.


    3. Längenbegrenzungen hab ich mir jetzt mal auf den Deckel geschrieben. Hatte damit noch keine Probleme, aber man sollte natürlich Murphys Law beachten :) .


    4. DAs "-" bei Merkmal entfernt den Eintrag was, wie ich zugeben muss, wenig initutiv ist. Wird nachgebessert :)


    5. Mittlerweile ist da ein Button dazugekommen. Bei Zaubern halten sich die Optionen da noch in Grenzen, bei Talenten gehen mittlerweile Erleichterungen, Bonus-FP, Entrückung und (mit dem nächsten Update) auch Anwendungsgebiete, die bei Spezialisierungen auch einen Bonus verteilen.


    Danke natürlich auch fürs Lob. Es wird wohl noch dauern, bis ich auch nur das GRW vollständig implementiert habe, aber es macht Fortschritte.


    Bisher war das bei mir Problemlos, ich habe die Speichereinstellungen so gut wie nicht angefasst um auch für schwächere Recher Kompatibilität herzustellen.

    Ich arbeite allerdings recht viel mit caching (Könnte aber noch mehr werden) und lagere viel in Funktionen aus, schon allein um das leidige Problem mit den maximal 2 Code-Ebenen zu umgehen. Möglich, dass das sich günstig auf die Garbage-Collection von Java auswirkt und den Speicher schont.


    Ich würd mich übrigens sehr über weiteres Feedback freuen und hab mir fest vorgenommen öfters auf Orkenspalter zu schauen. Das Meiste läuft bei mir immernoch über Facebook.

  • Erstmal ein großes Sorry!


    Ich habe deinen Beitrag letztes mal im Eifer des Gefechts echt überlesen. VIELEN Dank für Dein Feedback.

    Puh, da bin ich erleichtert. :) Ich hatte schon gedacht, ich hätte dich mit meinem Beitrag verschreckt. Das war jedenfalls nicht meine Absicht und ich bin froh, dass du es nur überlesen hast, also alles gut.



    Das klingt sehr gut!


    Quote

    2. Die Spalte hat (noch) keine Funktion. Das sollte ich dringend mal fertig machen, eingeben kann man es mittlerweile, aber es erscheint noch nicht in der Liste.


    Prima! Es reicht ja auch, wenn du es auf dem Schirm hast. So ein Framework für DSA5 zu programmieren, ist ja auch ziemlich aufwändig.


    Quote

    3. Längenbegrenzungen hab ich mir jetzt mal auf den Deckel geschrieben. Hatte damit noch keine Probleme, aber man sollte natürlich Murphys Law beachten :) .


    Ich bin auch nur darauf bekommen, weil Farlon in seinem Framework für DSA4.1, welches ich als Grundlage nahm, diese Sachen eingebaut hatte. Ich glaube jetzt zwar nicht unbedingt, dass die Zielgruppe unbedingt nach solchen "Fehlern" sucht, aber bei manchen Spielern, weniger beim Meister, könnte ich mir durchaus vorstellen, dass ihnen der Schelm im Nacken sitzt und sie ausprobieren wollen, was man so alles eingeben kann. 8o


    Quote

    4. DAs "-" bei Merkmal entfernt den Eintrag was, wie ich zugeben muss, wenig initutiv ist. Wird nachgebessert :)

    :thumbup:


    Wow, die Anwendungsgebiete hatte ich schon nicht mehr drin! Ich bin echt gespannt, wie das Framework am "Ende" (gibt es bei so etwas überhaupt jemals ein Ende?! ^^ ) aussehen wird.


    Lob und Anerkennung hast du auf jeden Fall jetzt schon verdient. Wie gesagt, ich habe Monate damals investiert und kann sehr, sehr gut nachempfinden, wie viel Arbeit hinter so einem Projekt steht. Ich habe mir übrigens erlaubt, den Link zu diesem Thema in meine Signatur zu setzen. Ich bin hier recht häufig unterwegs und eventuell bekommt deine gute Arbeit so noch ein wenig mehr Aufmerksamkeit. Das wäre dem Projekt zu wünschen.


    Speicherüberlauf:


    Es kann gut sein, dass auch die neueren MapTool-Versionen einem da mehr Spiel einräumen. Wir spielen derzeit noch mit einer Version 1.4.X.X. Ich halte es da mit "Never change a running system". ;)


    Facebook:


    Ist leider nicht so meins. Es wäre wirklich schön, wenn du auch hier ab und an vorbeischauen würdest. :)


    Dir weiterhin viel Erfolg bei dem Projekt! Ich freue mich schon auf weitere Versionen!

  • Ich bin eigentlich gar kein Facebook-Freund, es gibt kaum etwas unproduktivers als Facebook-Gruppen, aber es schafft halt Reichweite.


    Und zumindest für meine Kartenpakete ist Facebook der Haupt-Vertriebskanal.


    Ich werde sicher viel mehr auf Orkenspalter auftauchen, ich denke hier kommt eh mehr dabei rum als über Facebook.


    Danke dafür, dass Du hilfst das Ganze publik zu machen, und über das Lob freue ich mich natürlich auch.


    Ich hab lange bei 1.4.8 gehangen, aber es kamen so viele neue Funktionen dazu, dass ich irgendwann nicht mehr drauf verzichten wollte und bin froh, dass ich den Sprung gemacht habe.

    Hab gerade gesehen, dass schon die Beta für 1.7 raus ist. Da geht schon eine Menge :)

  • Fände ich sehr gut, wenn du hier öfter vorbeischaust. Ich helfe gern, wo ich kann. Wenn ich schon meinen Regelsatz nicht veröffentlichen konnte, will ich gern dabei helfen, deinen bekannt zu machen. :)


    Ich hätte noch eine Anregung. Ich weiß nicht, wie es dir geht, aber mir ging immer auf den Keks, dass man die ganzen Wertekästen für Meisterpersonen eintippen musste. Ich hatte mir, kurz bevor das Aus kam, überlegt, wie man das eventuell automatisieren könnte (vgl.RegEx). Besteht die Möglichkeit, dass du so etwas in einer späteren Version einbaust, sodass man z.B. die Wertekästen aus einem PDF in ein Textfeld in MapTool kopieren und die Werte dann in ein Token übertragen werden könnten?

  • Ich hätte noch eine Anregung. Ich weiß nicht, wie es dir geht, aber mir ging immer auf den Keks, dass man die ganzen Wertekästen für Meisterpersonen eintippen musste. Ich hatte mir, kurz bevor das Aus kam, überlegt, wie man das eventuell automatisieren könnte (vgl.RegEx). Besteht die Möglichkeit, dass du so etwas in einer späteren Version einbaust, sodass man z.B. die Wertekästen aus einem PDF in ein Textfeld in MapTool kopieren und die Werte dann in ein Token übertragen werden könnten?

    Ich habe sowas schon für unsere Website entwickelt (Die hat ein ziemlich mächtiges Spielleitertool/backend im Stile von Realmworks), das ich als Spickzettel und Datenbank verwende.

    Ich musste aber feststellen dass die offiziellen Wertekästen gerne mal vom eigenen "Standard" abweichen.

    Ich hasse Reguläre Ausdrücke, an denen frickel ich immer ewig rum, aber die da natülrich sehr nützlich, allerdings musst Du quasi jedes Merkmal eines Charakters einzeln abprüfen, teilweise in verschiedenen Versionen. Auf der Website funzt es mit ca. der Hälfte aller Meisterfiguren.

    Also Kurze Anwort: Ja


    Die Lange Antwort:
    Das kommt wohl nich so bald und artet sicher in Arbeit aus :) Wenns dann mal klappt ist es natürlich megapraktisch. Mit den neuen Maptool-Features (Javascript und HTML5) kann man natürlich auch ne wesentlich konfortableres Überprüfung durch den User einbauen als das mit zustandslosen Forms und INPUT-Dialogen geht.


    Ich überlege auch ob ich mein Spielrunden-CMS mit dem Framework kopple (Maptool kann ja auch HTTP-Requests), dann könnten die Spieler z.B. das Spielrundentagebuch während der Session führen und Einträge hinzufügen,die direkt auf der Website erscheinen.




  • Das wäre auf jeden Fall spitze und würde bestimmt auch zur Verbreitung des "Rahmensatz" führen. Man kennt das ja, je einfacher die Bedienung ist, desto mehr Leute schauen es sich an. :-)


    Ich komme auch nicht so klar mit RegEx. In der damaligen MapTool-Version war das aber die einzige Möglichkeit (jedenfalls nach meinem Kenntnisstand), um Wertekästen in Token umzuwandeln.

    Die Lange Antwort:

    Das kommt wohl nich so bald und artet sicher in Arbeit aus :) Wenns dann mal klappt ist es natürlich megapraktisch. Mit den neuen Maptool-Features (Javascript und HTML5) kann man natürlich auch ne wesentlich konfortableres Überprüfung durch den User einbauen als das mit zustandslosen Forms und INPUT-Dialogen geht.


    Ich überlege auch ob ich mein Spielrunden-CMS mit dem Framework kopple (Maptool kann ja auch HTTP-Requests), dann könnten die Spieler z.B. das Spielrundentagebuch während der Session führen und Einträge hinzufügen,die direkt auf der Website erscheinen.

    Wie gesagt, dass wäre wirklich super, wenn du etwas in der Art umsetzen könntest. Das wäre alles nicht nötig, wenn Ulisses uns mehr Rechte gewähren würde. Da würde es dann reichen, wenn sich mehrere Leute zusammensetzen und die bekannten Meisterpersonen aus Regelbüchern, Abenteuern usw. in Token umwandeln würden. Dann könnte man so einen Tokensatz den Leuten einfach zur Verfügung stellen. Da das aber nicht gewünscht ist, wäre es sehr komfortabel, wenn man den Meistern eine eingängige und leichte Möglichkeit bietet, die Werte schnell eingeben zu können. Wir haben dafür ein Tokentool programmiert, wo der Meister alle Werte eingeben kann. Du kannst dir aber sicher vorstellen, dass das trotzdem für den Meister eine Menge Arbeit ist, wenn man das für jede Meisterperson durchführen muss.


    Wenn es nun auch andere Möglichkeiten gibt, so ein "Tokentool" zu realisieren, ja die Eingabe zu automatisieren, wäre das ein Meilenstein.


    Farlon und ich haben Notizmöglichkeiten direkt in den Charakterbogen eingebaut, sodass Spieler dort Eintragungen vornehmen können. Deine Idee klingt aber auch richtig gut, zumal die Spieler in meiner Version nur auf die eigenen Notizen Zugriff haben, wenn ich es gerade richtig in Erinnerung habe...:/

  • So, ich habe mir mal eine Menge Gedanken zum Thema Import gemacht und auch schon einen kleinen Prototypen gebastelt. Leider Sind die Stat-Blöcke in DSA-Abenteuern nicht immer einheitlich, ich muss als ein paar Kompromisse machen.


    Ich bekomme es leider mit Regulären ausdrücken nicht hin, alle sauber zu trennen.

    Ein Beispiel (bitte beachtet, dass die Zeilenumbrüche hier bewusst und wirklichkeitsnah gewählt sind):

    Quote

    Größe: 1,68

    bis 2m

    Gewicht: 20 Stein

    • Ich kann jetzt entweder bestimmen, dass ich nach alles "Größe:" haben will bis zum 1. Zeilenumbruch. Dabei geht mir aber das "bis 2m verloren".
    • Oder ich kann Zeilenumbrüche mit einschließen, dann wäre das erste eindeutige Zeichen der Doppelpunkt von "Gewicht", ich bekäme also "1,68
      bis 2m Gewicht"
      als Ergebnis.
    • Oder ich nehme einfach an, dass die Felder immer die selbe Reihenfolge haben (Was bei Dingen, die nicht für Maschinenlesbarkeit konzipiert sind) riskant wäre) und lege fest, dass ich alles zwischen "Größe:" und "Gewicht:" haben will. Dann hätte ich das exakte Ergebnis, aber wenn in einem Abenteuer nach der Größe erst die Profession steht, kommt viel Mist dabei raus.

    Ich hätte jetzt drei Bitten an die Community:

    1. Weiß jemand eine bessere Lösung, wie man (unter Verwendung der JAVA-Regex-Funktionen innerhalb von Maptool) die korrekten Feldinhalte SICHER (!!!) ermitteln kann?
    2. Welche Werte sollen aus den Stat-Blöcken überhaupt importiert werden (bitte schriebt hier nicht einfach "alle" oder "so viele wie möglich", das hilft mir nicht weiter, ich versuche damit eine konkrete Liste von Feldern zu erstellen, die ich dann aus den Blöcken möglichst fehlerfrei rauspopeln will
    3. Sagt mir gerne auch Eure Meinung, wie ihr den Import von Stat-Blöcken gerne umgesetzt haben würdet.
  • zu 1.) Nein, spontan leider nicht.


    zu 2.) Hm, auch schwierig, weil man ja je nach Meisterperson und Verhalten der Helden andere Werte braucht. Mein spontaner Vorschlag: Alles, was mit Kampf zu tun hat, die Eigenschaftswerte, Talente, Größenkategorie (dürfte vielleicht etwas einfacher abzufragen sein, als die genaue Größe ...), ggf. Zauber und Liturgien. Tut mir Leid, dass ist immer noch eine Menge, aber es ist halt auch schwierig das pauschal festzulegen...


    zu 3.) Das ist auch keine leichte Frage. Wenn ich einen Werteblock aus einem PDF kopiere, kommt das Folgende dabei raus:


    (Namen etc. habe durch "XXXX" dargestellt. Den Text lösche ich wieder, er soll nur für Muwak zur Anschauung dienen.) Falls man nun diesen Text einfach in ein Formular in MapTool kopiert und die Werte dann in ein Token umgewandelt werden könnten? Wäre das sinnvoll oder schon zu kompliziert für die Anwender? :/


    Hast du mal geschaut, wie das andere Frameworks für andere System umsetzen? Eventuell könnte man sich da ja was abschauen?

  • Wow, sehr ambitioniert.


    Es wäre natürlich toll, wenn das ginge. Persönlich würde ich dabei mehrstufig vorgehen, und als erstes nur die sicheren Werte suchen und abgreifen.

    (ein array füllen mit bezeichnung und wert, und danach jeden eintrag separat auf plausibilität prüfen. nur einträge, bei denen sowohl die bezeichnung korrekt ist und auch der wert einer erwartung entspricht übertragen, den rest verwerfen. also ein kleiner parser, der bei unerwarteten daten nicht auf die nase fällt sondern einfach verwirft).


    Unbedingt mit sollte:

    - Name (alles vor MU, aber limitiert auf X zeichen falls copy/paste fehler)

    - Die Eigenschaften mit Werten

    - LeP, AsP, KaP

    - INI, GS

    - AW, VT, Aktionen

    - SK, ZK

    - RS, BE


    Schon alleine dabei gibt es in jedem Feld Ausnahmen abzufangen... ein Horror :)


    2. Ausbaustufe:

    Talente, sofern Werte vorhanden sind, inkl. Basiswert wenn keine Werte vorhanden sind. Diese ggf. abhängig vom Typus und Erfahrungsgrad machen (Userinput?)


    3. Ausbaustufe:

    Sonderfertigkeiten und Vorteile/Nachteile, sofern bekannt. Ausgabe von allem, was der Parser verwirft, damit man dies als Nutzer auf dem Schirm hat und nichts verloren geht.


    4. Ausbaustufe:
    Informationen, die man durch Proben erhalten kann (QS1=A, QS2=B usw).


    Wenn Du ein ekliges Beispiel haben möchtest, im AB "Fauler Frühling" gibt es einen Dämon, der besteht fast nur aus Text und Sonderregeln...

  • Hiho.


    weißt du wieviele unterschiedliche Layouts es für den Statskasten gibt? Ich komme bisher auf zwei, einen für NPCs und einen für Monster/Tiere.

    Wenn es nur die zwei sind, dann kann man ja den Unterschied kodieren.


    Ansonsten wäre meine Idee mit einem Array der Keywords zu beginnen, die Zeilenumbrüche aus dem Text zu entfernen. Die Position der Keywords im Text ermitteln, sofern vorhanden und dann anhand der Position die Keywords sortieren. Dann kannst du dich von Keyword zu Keyword hangeln und den Inhalt zwischen beiden nehmen und ausgeben. War das halbwegs verständlich?

  • Wow, sehr ambitioniert.


    Es wäre natürlich toll, wenn das ginge. Persönlich würde ich dabei mehrstufig vorgehen, und als erstes nur die sicheren Werte suchen und abgreifen.

    (ein array füllen mit bezeichnung und wert, und danach jeden eintrag separat auf plausibilität prüfen. nur einträge, bei denen sowohl die bezeichnung korrekt ist und auch der wert einer erwartung entspricht übertragen, den rest verwerfen. also ein kleiner parser, der bei unerwarteten daten nicht auf die nase fällt sondern einfach verwirft).

    Damit nicht alles nur in unseren PNs bliebt, auch hier nochmal danke für den Input. Ausbaustufe 1 ist ziemlich leicht erreichbar hab alle Werte aus der Ebene bereits in einem Prototypen angetestet und es klappt sogar mit den "Alten" Stat-Blocks aus den ersten Heldenwerk-Abenteuern und sachen die ich über Onenote-OCR aus Grafiken gepopelt habe.


    Auch das Auslesen von Talenten, Sonderfertigkeiten etc. geht schon ganz gut, lediglich die leidigen Anmerkungen sorgen manchmal für Datenverlust, da werde ich, wie per PN besprochen, mit einer Whitelist arbeiten und versuchen soviel wie möglich abzufangen, den Rest muss der User dann voerst selbst korrigieren.


    In die Nächste Version schafft es das Feature aber eher nicht. Es ist noch recht unfertig und ich muss die Whitelist für Fertigkeiten, Sonderfertigkeiten etc. noch zusammenstellen. Und das Framework soll ja vor Montag noch ein Update bekommen.


    Ansonsten wäre meine Idee mit einem Array der Keywords zu beginnen, die Zeilenumbrüche aus dem Text zu entfernen. Die Position der Keywords im Text ermitteln, sofern vorhanden und dann anhand der Position die Keywords sortieren. Dann kannst du dich von Keyword zu Keyword hangeln und den Inhalt zwischen beiden nehmen und ausgeben. War das halbwegs verständlich?

    Erstmal vielen Dank für den Input, aber leider klappt das so nicht:

    Zum einen ist die Reihenfolge die "Keywords" ist nicht immer gleich und es kommen auch nicht immer alle vor.

    Ds hatte ich im Eingangsbeitrag vielleicht nicht ganz so verständlich beschrieben.


    Schade eigentlich, dann könnte ich mir die Regex sparen, die sind in Java leider etwas anders aufgebaut als in meinen üblichen Sprachen und ganz im ernst: alle Entwickler hassen und lieben reguläre Ausdrücke gleichermaßen :) .


    Zeilenumbrücke zu entfernen ist leider leider auch keine so gute Idee weil bestimmte Elemente nur eindeutig erkennbar sind weil sie in einer neuen Zeile stehen. Waffen zum Beispiel: Da muss man nach eine ganzen Zeile suchen, die den Wert "AT:" (teilweise auch FK) enhält und die dann einzeln auseinandernehmen.


    Alles in allem aber ein sehr spannendes Thema, danke nochmal Erastäus von Salvunk für die idee. Sie wird mich viel Kaffee und Schlaf kosten, aber es hat heute auch echt Spaß gemacht daran zu arbeiten.


    Nebenbei hab ich btw. die Freien Aktionen und den Angriff mit 2 Waffen implementiert und wenn ich nicht zu früh wegpenne gibts noch ein Update :)

  • [...]

    Alles in allem aber ein sehr spannendes Thema, danke nochmal Erastäus von Salvunk für die idee. Sie wird mich viel Kaffee und Schlaf kosten, aber es hat heute auch echt Spaß gemacht daran zu arbeiten.


    Nebenbei hab ich btw. die Freien Aktionen und den Angriff mit 2 Waffen implementiert und wenn ich nicht zu früh wegpenne gibts noch ein Update :)

    Sehr gern! Den Dank kann ich aber so zurückgeben. Ich hatte nicht erwartet, dass du dich der Sache annimmst und falls doch, dich auf keinen Fall so schnell mitreißen lässt. :thumbsup: Das ist wirklich toll und ich freue mich schon auf die Umsetzung, auch wenn dies verständlicherweise noch dauern wird.


    Ich freue mich übrigens ebenso, dass mit Trestolt und mckee14 sich weitere Foristen einbringen! Ich hatte schon ein wenig befürchtet, hier in diesem Unterforum finden sich nicht so viele Leute ein. ;)

  • Testermo & mckee14 ich bin euch für Euer Feedback auch sehr dankbar :)


    Ich denke das, was wir uns hier ausdenken hier basteln, kann der ganzen Community schon sehr nützlich sein.


    Bringt gerne weiteres Feedback und wünsche bei. Ich werde versuchen soviel wie möglich umzusetzen.


    Und Input von außen ist für mich auch immer ein guter Motivator :)

  • Ich baue ja mehr so für Roll20 und habe meinen Ansatz eines Parser dort testweise eingebaut. Und ich muss sagen, es funktioniert für die Standardattribute schon ganz gut.