Pen & Paper - Spielsysteme > GURPS
[GURPS: Aventurien] Character Sheet
Waldgeist:
--- Zitat von: Morvar am 8.11.2011 | 08:04 ---In welche Richtung wollt ihr jetzt am ehesten gehen?
--- Ende Zitat ---
Ich glaube, dass das noch nicht 100%ig entschieden ist. Als erstes machen wir wohl was Externes, das die GCA-Daten versteht.
Morvar:
Ist das was ihr vorhabt vom Aufwand her realisierbar, ohne das ihr da auf halber Strecke merkt was ihr euch aufgelastet habt? Ich hoffe!!! Und sagt wenn ich irgendwelche Tipparbeiten machen kann...;-)
Waldgeist:
Es ist bestimmt nicht ohne, aber einige Vorarbeiten sind nötig, damit der GCA mit OldSams Tool verwendet werden kann. Wollen wir also hoffen, dass wir durchhalten. ;)
OldSam:
--- Zitat von: Morvar am 8.11.2011 | 08:04 ---Nutzung mit GCA von SJG (klar von mir bevorzugt, da man selber DAtafiles einbinden kann)
oder nutzung mit diesen Java tool (nennt sich auch GCA?)
--- Ende Zitat ---
Die Wege schließen sich nicht aus, denn ein großer Teil überschneidet sich sowieso, nämlich das systematische Auslesen der GCA-Charaktere und das Übersetzen der Begriffe...
Wenn Waldgeist diese Grundlagenarbeit fertig hat (was natürlich nicht ohne ist), d.h. die ganzen Charakterdaten sind extrahiert und stehen in verschiedenen Variablen zur Verfügung und es gibt die Option, dass die Export-Daten durch Übersetzungsäquivalente ersetzt werden können, wäre der entscheidende Hauptteil nämlich bereits erledigt.
Alles was dann noch spezifisch für den Custom Sheet Designer aussteht wäre die ausgelesenen Daten in meine Variablenstruktur passend reinzukopieren und dann funktioniert es schon, das könnte ich aber auch selbst machen und idealerweise würde man sich so absprechen, dass die Strukturen möglichst ähnlich sind, dann ist es relativ einfach.
Für ein parallel entstehendes eigenes Tool hätte Waldgeist dann noch den Schritt mit den entsprechenden Datei-Ersetzungen (ausgelesene Übersetzungs-Daten ersetzen Original-Bezeichner). Für reine GCA-Anwender ist das auch sicherlich vorteilhaft diese Unterstützung zu geben denke ich.
OldSam:
@Waldgeist:
Mal ne technische Info für Dich wie meine Datenstrukturen aussehen, wenn der GCA nicht wider Erwarten in ganz andere Richtungen als der GCS geht - dann müssten wir überlegen, wie man das alternativ am dümmsten überführt - wäre es ja clever wenn Du die Speicherung ähnlich realisierst... Ausser es gefällt Dir grundsätzlich nicht in dieser Form, aber Du kannst ja mal Deinen Kommentar dazu geben ;)
Primäre und sekundäre Attribute, sowie Basic Speed/Move habe in einem assoziativen Array gespeichert, bei mir heisst das ATTRIBUTE_DATA. Das ist ganz simpel aufgebaut, so dass man die Attributskürzel (etwa ST oder DX) als Zugriffsbezeichner (Hash) im Array benutzen kann und dahinter stehen dann jeweils direkt die Charakterwerte. Die Einlesefunktionen sehen dann z.B. so aus:
--- Code: ---ATTRIBUTE_DATA.put("ST", "" + gcsChar.getStrength());
ATTRIBUTE_DATA.put("DX", "" + gcsChar.getDexterity());
--- Ende Code ---
Allgemeine Infos wie Name, Aussehen, Kampagne, TL u.ä. stehen wiederum in einem assoziativen Array, diesmal namens PROFILE_DATA (die restlichen allgemeinen Sachen stehen nochmal in einem eigenen assoz. Array). Sieht jedenfalls genau so aus:
--- Code: ---PROFILE_DATA.put("Name", gcsChar.getDescription().getName());
PROFILE_DATA.put("Eyes", gcsChar.getDescription().getEyeColor());
--- Ende Code ---
Was Fertigkeiten, Zaubersprüche, Advantages, Disadvantages angeht so sind das immer ganze Listen, also keine Einzelelemente - man weiss ja auch vorher bei einem unbekannten Char nicht welche Fertigkeiten er (nicht) haben wird usw.
Ich habe das in Form von durchlaufend indizierten zwei-dimensionalen Arrays, also praktisch Tabellen, umgesetzt. SKILL_DATA, SPELL_DATA, ADVANTAGE_DATA (plus wenn die 'Trennung' aktiviert ist ggf. DISADVANTAGE_DATE u. LANGUAGE_DATA), sowie EQUIPMENT_DATA wobei es dort noch zwei Extra-Arrays für die Werte von Melee u. Ranged Weapons gibt.
Bei den Listen sieht das dann so aus, dass immer der 0. Wert der 1. Spalte (0)(x) dazu verwendet wird die Metadaten zu halten, hier also quasi die Tabellenüberschriften bzw. die Variablen-Namen (Skill_Name usw.) wie unten zu sehen ist. Die Idee dabei ist, dass wir im Hauptprogramm nachher gar nichts von der Semantik wissen müssen, sondern (ähnlich wie bei XML oder so) die Beschreibung der Datenstruktur gleich mit auslesen, um so verschiedene Sachen unterstützen zu können.
Mit dem Wert (1)(0) beginnen dann immer die eigentlichen Daten, also konkrete Skills, Advantages etc., die ein Char aufweist und diese sind eben in der Form gespeichert, wie es vorher beschrieben wurde. Die Strukturen sehen dann so aus:
--- Code: ---SKILL_DATA[0][0] = "Skill_Name";
SKILL_DATA[0][1] = "Skill_TechLevel";
SKILL_DATA[0][2] = "Skill_Specialization";
SKILL_DATA[0][3] = "Skill_Level";
SKILL_DATA[0][4] = "Skill_Attribute";
SKILL_DATA[0][5] = "Skill_RelativeLevel";
SKILL_DATA[0][6] = "Skill_Difficulty";
SKILL_DATA[0][7] = "Skill_Points";
SKILL_DATA[0][8] = "Skill_Reference";
z.B.
SKILL_DATA[1][0] = "Driving";
SKILL_DATA[1][1] = "TL8";
SKILL_DATA[1][2] = "Automobile"; ...etc.
ADVANTAGE_DATA[0][0] = "Advantage_Name";
ADVANTAGE_DATA[0][1] = "Advantage_Level";
ADVANTAGE_DATA[0][2] = "Advantage_Points";
ADVANTAGE_DATA[0][3] = "Advantage_Reference";
ADVANTAGE_DATA[0][4] = "Advantage_ModNotes";
ADVANTAGE_DATA[0][5] = "Advantage_Notes";
z.B.
ADVANTAGE_DATA[1][0] = "Charisma";
ADVANTAGE_DATA[1][1] = "1";
ADVANTAGE_DATA[1][2] = "5"; ...etc.
--- Ende Code ---
Soo, ich hoffe das war ein hilfreicher Überblick wie die Speicherung aufgebaut ist... ;)
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln