Der HEX-Thread / Spielstandsprobleme - Druckversion +- Crystals-DSA-Foren (https://www.crystals-dsa-foren.de) +-- Forum: Allgemeines zur Nordlandtrilogie DOS (https://www.crystals-dsa-foren.de/forumdisplay.php?fid=20) +--- Forum: Technische Werkstatt (https://www.crystals-dsa-foren.de/forumdisplay.php?fid=34) +--- Thema: Der HEX-Thread / Spielstandsprobleme (/showthread.php?tid=80) |
RE: Der HEX-Thread - thEClaw - 21.08.2011 (20.08.2011, 19:23)20mithrandir schrieb: Die Liste gibt es zwar, ich bräuchte da allerdings dann noch für jede Item eine Zuordung zu einer Gruppe (z.B. Verbrauchsgegenstand, Kleidung, Waffe, etc.) wie kann man das aus diesem Advanced Item Code ermitteln? Muss ich da mit Bitmasken arbeiten?In den von dir betrachteten Werten findet sich nur eine Aufzählung der Gegenstände - nähere Informationen musst du anderswo suchen. (20.08.2011, 19:23)20mithrandir schrieb: Neuer Screenshot als Attachement. Work in progress (noch immer kein Drag 'n Drop). Ich habe die Icons hier von Crystals übernommen ... wenn das ein Problem ist, mit wem müsste ich mich da in Verbindung setzen?Falls du die Original-Bilder aus dem Spiel brauchst, die findest du durch das Entpacken der zu den Spielen gehörigen Dateien (irgendwo hier im Forum findest du "nltpack", damit geht das). Allerdings wäre für das Extrahieren sämtlicher von dir benötigter Informationen wohl etwas Arbeit nötig. Es handelt sich nicht um handliche xml-Dateien, sondern in der Regel nur um Rohdaten, die du richtig interpretieren musst. (Aber das hat alles schon irgendjemand irgendwann gemacht.) Ich versuche mal, dir eine kleine Starthilfe zu geben. Im Anhang finden sich die aus den Spieldateien entpackten Bilder (entpackt mit nvf2tga von HenneNWH, wenn ich mich richtig erinnere) und die Item-Daten (also die rohen Byteketten, inklusive Erklärung). In den Daten steht auch jeweils der Item-Typ. Dann fange ich mal an, deinen zweiten Post zu lesen . Teil 2: (21.08.2011, 11:38)20mithrandir schrieb: Ich habe es mit de 2001 CD Collection getestet (alle drei Teile), ob andere Spielversionen noch gröbere Probleme bereiten, weiß ich deshalb nicht. Auch habe ich nur mit deutschen Versionen getestet, nicht mit den RoA...Für RoA sollte sich nicht viel ändern, aber die Disketten-Versionen der Spiele weichen im Aufbau der Savegames teilweise leicht ab. Sofern du mit festen Offsets arbeitest, wird es damit Schwierigkeiten geben. (21.08.2011, 11:38)20mithrandir schrieb: Die Basis Attribute, Attacke/Parade, Talente, Zauber und das Inventar sollten bearbeitbar sein. Beim Inventar kann man direkt einen Hex String eingeben (z.B. "9E0001000800FB" für das Daspota Bastardschwert) ... Leerzeichen sind allerdings nicht erlaubt. Oder man zieht das entsprechende Item aus der Liste von rechts herüber (siehe Screenshot als Attachement).Klingt sehr gut. Hast du schon drüber nachgedacht, als Ziel für die Drag&Drop-Operationen ein Fenster zu erschaffen, das dem Ingame-Inventar-Bildschirm nachempfunden ist? Ein Overlay mit positionierten Hotspots sollte doch recht leicht zu erstellen sein. So machst du einerseits die Bedienung etwas übersichtlicher, kannst andererseits nebenbei die maximale Anzahl an Items (und deren exakte Positionen) ganz leicht überwachen und obendrein noch ein wenig programmieren . (21.08.2011, 11:38)20mithrandir schrieb: Die anderen Werte sind als numerische Werte zu erfassen. Bei Talenten und Zaubern habe ich die Werte auf -25 bis +25 eingeschränkt, bei Basiswerten sind nur positive Werte möglich (0 bis +25). In den Data Grids / Tabellen (z.B. Talente) muss man auf den Wert erst reinklicken, damit er editierbar wird.Warum diese Grenzen? Attribute werden in DSA doch nur mit dem W20 geprobt, dürften also nie höher ausfallen als 20 (bin aber kein Powergamer, der es je soweit getrieben hätte). Die Talentwerte auf der anderen Seite kannst du doch ruhig von -127 bis 128 laufen lassen, da gibt es regeltechnisch glaub' ich keine Grenze. (21.08.2011, 11:38)20mithrandir schrieb: Es wird im Moment noch kaum eine Eingabe überprüft, man kann sich also höchswahrscheinlich sehr schnell seine Speicherstände korrumpieren ... Deshalb unbedingt vorher ein Backup machen!!!Besonders wichtig ist wohl, dass du die durch die Spielstände vorgegebenen Wertebereiche einhälst (in der Regel ein Byte), damit keine unerwarteten Ergebnisse auftreten. Bei der maximalen Geldmenge in DSA1 z.B. gibt es irgendeinen Bug oder eine Beschränkung. Da läuft der Wert im Spiel schon über, bevor du die volle Bytezahl ausgeschöpft hast. (21.08.2011, 11:38)20mithrandir schrieb: Trotzdem würde ich mich freuen, wenn das Teil einmal jemand anders ausprobieren könnte...Bin gerade selbst hochmotiviert am Programmieren, für einen ausführlicheren Test habe ich da keinen Nerv. Aber ich werde dein Programm auf jeden Fall mal testen. Wenn nicht heute, dann eben morgen. RE: Der HEX-Thread - 20mithrandir - 21.08.2011 (21.08.2011, 13:22)thEClaw schrieb: Für RoA sollte sich nicht viel ändern, aber die Disketten-Versionen der Spiele weichen im Aufbau der Savegames teilweise leicht ab. Sofern du mit festen Offsets arbeitest, wird es damit Schwierigkeiten geben.Leider arbeite ich mit festen Offsets (zumindest ab dem Charakter Start), nur für DSA 1 habe ich die Charakter Position ausgewertet... (21.08.2011, 13:22)thEClaw schrieb: Hast du schon drüber nachgedacht, als Ziel für die Drag&Drop-Operationen ein Fenster zu erschaffen, das dem Ingame-Inventar-Bildschirm nachempfunden ist? Ein Overlay mit positionierten Hotspots sollte doch recht leicht zu erstellen sein.Ja. Genau so etwas wollte ich machen. Ist aber nicht ganz so einfach, wenn man die Programmiersprache noch nicht gut kennt ; - ) Grundsätzlich reicht es ja, die entsprechende Grafik als Background zu nehmen und transparente 'Image' Komponenten als Platzhalter / Drop Zone zu definieren. Das probiere ich bei Zeiten auf jeden Fall noch aus. (21.08.2011, 13:22)thEClaw schrieb: Warum diese Grenzen? Attribute werden in DSA doch nur mit dem W20 geprobt, dürften also nie höher ausfallen als 20 (bin aber kein Powergamer, der es je soweit getrieben hätte). Die Talentwerte auf der anderen Seite kannst du doch ruhig von -127 bis 128 laufen lassen, da gibt es regeltechnisch glaub' ich keine Grenze.Ich bin regeltechnisch nicht so auf der Höhe. Für echte 'Cheater' würden höhere Werte evtl. durchaus Sinn machen. Evtl. sollte man über zwei unterschiedliche Modi nachdenken. Grundsätzlich brauche ich die Grenzen deshalb, weil in Flex intern immer mit einem 32 Bit Integer gearbeitet wird - da muss ich die Eingabe zumindest auf die 1 oder 2 Byte begrenzen, die ein Wert aufnehmen kann. Bisher sind die Begrenzungen, wie man sehen kann, sehr willkürlich. Danke für die Items/Bilder. Hmmm TGA Format müsste doch eh 1:1 interpretierbar sein. Ich werde jetzt aber evtl. einmal ein Wochenende 'Abstand' nehmen ... bin jetzt etliche Stunden vorm PC gehockt, und da das auch mein Real Job ist, naja... Sagen wir einmal, man muss auch irgendwann mal raus aus dem Haus ; - ) RE: Der HEX-Thread - Hendrik - 22.08.2011 (21.08.2011, 13:22)thEClaw schrieb:(21.08.2011, 11:38)20mithrandir schrieb: Die anderen Werte sind als numerische Werte zu erfassen. Bei Talenten und Zaubern habe ich die Werte auf -25 bis +25 eingeschränkt, bei Basiswerten sind nur positive Werte möglich (0 bis +25). In den Data Grids / Tabellen (z.B. Talente) muss man auf den Wert erst reinklicken, damit er editierbar wird.Warum diese Grenzen? Attribute werden in DSA doch nur mit dem W20 geprobt, dürften also nie höher ausfallen als 20 (bin aber kein Powergamer, der es je soweit getrieben hätte). Die Talentwerte auf der anderen Seite kannst du doch ruhig von -127 bis 128 laufen lassen, da gibt es regeltechnisch glaub' ich keine Grenze. Hallo Mithrandir, sieht vielversprechend aus. Ich werde das Programm bei Gelegenheit mal testen, vielleicht komme ich da heute noch zu. Die Begrenzung der Eigenschaften und Talentwerte in DSA (2./3. Regeledition) richtet sich nach der Art, wie diese gesteigert werden: Beim Stufenanstieg kann man eine Eigenschaft steigern, wenn man den neuen Wert mit einem W20 erreicht (man hat 3 Versuche), das Maximum ist also 20. Bei Eigenschaften wird bis zu einem Wert von 10 mit 2W6, ab 10 (in der NLT fälschlicherweise erst ab 11) mit 3W6 gewürfelt, womit das Maximum für Talentwerte auf +18 steht. Talentwerte unter -18 habe ich glaub ich noch nie gesehen. Trotzdem hält dich ja niemand davon ab, die Grenzen höher anzulegen. Schließlich sind derartige Cheatereien manchmal ganz nützlich, um die Auswirkung von Eigenschaften und Talente in bestimmten Situationen herauszufinden. RE: Der HEX-Thread - Zurgrimm - 22.08.2011 (22.08.2011, 14:25)Hendrik schrieb: Die Begrenzung der Eigenschaften und Talentwerte in DSA (2./3. Regeledition) richtet sich nach der Art, wie diese gesteigert werden: Beim Stufenanstieg kann man eine Eigenschaft steigern, wenn man den neuen Wert mit einem W20 erreicht (man hat 3 Versuche), das Maximum ist also 20.Wobei in der NLT für die Erhöhung der Eigenschaftswerte nicht gewürfelt wird. Die gelingt beim Stufenanstieg immer. RE: Der HEX-Thread - 20mithrandir - 26.08.2011 Also mit Stress @work bin ich diese Woche eh zu nix gekommen. Hier aber eine heute aktualisierte Version, in der anderen hatten sich noch einige Käfer verborgen: http://www.it-taucher.at/dsa/editor/v0.0.3/DsaEditorV0.0.3.air Ich habe auch das Inventar ein wenig überarbeitet (siehe Attachements). RE: Der HEX-Thread - Boomer - 26.08.2011 Da hat sich wohl ein Fehler in die Linkadresse eingeschlichen (Editir statt Editor). Grüße auf Ouwawoat. RE: Der HEX-Thread - 20mithrandir - 27.08.2011 Danke für den Hinweis, natürlich gehört da ein 'o' rein... Hmm 'Ouwawoat'? Also aus Felsör und mit einem Hund als Avatar *überleg* RE: Der HEX-Thread - Boomer - 27.08.2011 Nein, etwas jenseits der Grenze. In der Grünen. Und wenn's mich in deinen Einzugsbereich verschlägt, bin ich frisiert. Da erkennst du mich wahrscheinlich nicht. RE: Der HEX-Thread - 20mithrandir - 28.08.2011 So, ich habe ncoh einmal eine Version zum Testen bereit gestellt. -> http://www.it-taucher.at/dsa/editor/v0.0.4/DsaEditorV0.0.4.air (1,4 MB) Man kann in der 'Inventar' Ansicht nun nicht nur mit Drag 'n Drop Items reinziehen, sondern beim Anklicken werden links jetzt mehrere Details angezeigt, die direkt bearbeitet werden können (z.B. Bruchfaktor, Gift Marker, etc.), siehe Screenshots. Weitere Tests auf Inkompatibilitäten habe ich nicht gemacht, sondern Teste hier nur mir der shoebox / 2001 3-CD-Sammlung ... RE: Der HEX-Thread - tommy - 06.09.2011 hallo liebe Leute, ich hab letze Woche auch seit langem mal wieder angefangen DSA zu spielen, und da kahm natürlich wieder das leidige Problem das meinen seinen Character im nachhinen doch noch ein wenig verändern möchte . Naja nachdem ich im Internet keinen Wirklich brauchbaren Editor gefunden habe und der von 20mithrandir noch ein Framework zum laufen brauch, welches ich mir ungerne Installieren wollte, hab ich mir gedacht ich mach mal kurzerhand selbst einen. Bisher hab ich zwar erst ein paar Stunden arbeit reingesteckt, aber ich denke mal das Ergebnis kann sich schon sehen lasse Allderings bräuchte ich ein paar Bilder, dass das ganze noch ein bischen besser aussieht, von daher würde ich mich freuen wenn ihr mich für die downloads Freischaltet. Selbstverständlich teile ich den Editor auch gerne mit euch^^ Hier mal ne kleine Liste mit noch öffenen punkten, wenn jemand einen Bug entdeckt, der da nicht drauf steht oder auch sonst noch spezial Wünsche sind, würde ich mich freuen wenn ihr euch meldet achja bevor ich es vergessen neue Items werden mit doppelklick auf einen Slot eingefügt RE: Der HEX-Thread - 20mithrandir - 06.09.2011 Servus! Ich habe einmal versucht, die drei 'START.GAM' Speicherstände der Nordlandtrilogie mit deinem Editor zu öffnen. DSA 1: Spielstand wird nicht geladen. DSA 2: Spielstand wird geladen. Für Talente / Zauber habe ich keine Ansicht (außer die Steigerungsversuche, wo der Magier 'Caldrin' 1536 hat, was ziemlich viel wäre). Auch bekomme ich eine Exception, wenn ich z.B. 'Arva Von Harben' auswähle: Code: Informationen über das Aufrufen von JIT-Debuggen DSA 3: Spielstand wird geladen. Für Talente / Zauber habe ich keine Ansicht (außer die Steigerungsversuche, wo der Magier 'Caldrin' 1536 hat, was ziemlich viel wäre). Auch bekomme ich eine Exception, wenn ich z.B. 'Tjalf' auswähle: Code: Informationen über das Aufrufen von JIT-Debuggen Das mit dem Item Manager gefällt mir. Wie hast du da die Einordnung der Gegenstände gemacht, einfach selbst (sozusagen per Hand)? RE: Der HEX-Thread - tommy - 06.09.2011 danke für die schnell antwort, also dsa 1 hab ich noch nicht getestet: das Problem was dabei wahrscheinlich ist, ich arbeite nicht mit festen offsets sondern ich suche nach schlüsselwörtern im speicherstand die einen character einleiten. und die beiden anderen probleme werde ich nachher schnell korrigeren, ich hab lediglich noch nicht alle Wertebereiche der Felder angepasst^^ achja du hast du auch einen Editor gemacht, kannst du mir vielleicht verraten wie man genau den zustand der Waffe auswertet? und zu deiner Frage, ja ich hab alles von Hand eingetragen...naja das heisst auch nicht so ganz, ich weise jedem Item einen Speziellen Itemtype zu, und dann brauch ich nur noch auszuwerten, Wenn Waffe ausgewählt, dann nimm alle Schwerter, Äxte, Speere,... In dem Item Manager soll spater auch noch son infofeld rein. RE: Der HEX-Thread - thEClaw - 06.09.2011 Warum wird eigentlich alle drei Tage das Rad neu erfunden? Ist ja nun keine Arbeit, die in einer halben Stunde erledigt ist. RE: Der HEX-Thread - tommy - 06.09.2011 du willst wissen warum, dass ist ganz einfach. erstens, der einzig brauchbare editor den es im moment gibt ist der von 20mithrandir und der brauch halt das Framework und ich denke es gibt mehrere Leute die nicht unbedingt noch ein Framework installieren wollen. und zweitens, es ist vielleicht nicht in ner halben Stunde erledigt aber ich bisher naja sagen wir mal so 10Stunden insgessamt reingesteckt und ich denke mal noch so 3 Stunden und ich habe ihn auf dem Niveau was ich haben will. Und mal so nebenbei ob ich ein paar Stunden damit verbringe ob ich einen Editor schreibe oder bei jedem mal Spielen mich erstmal wieder belesen muss um Werte zu verändern, was auch eine Menge zeit in anspruch nimmt, macht für mich keinen wirklichen unterschied. RE: Der HEX-Thread - thEClaw - 06.09.2011 Da wir im Zeitalter der plattformübergreifenden DOSBox leben, wäre das höchste Ziel aber ein Programm, das ebenso plattformübergreifend funktioniert. Nur für den Fall, dass das Rad morgen wieder neu erfunden werden muss. RE: Der HEX-Thread - tommy - 06.09.2011 da hast du natürlich recht, aber ich glaube das Programm von 20mithrandir ist sogar Plattform unabhängig...glaub ich zumindest...zumindest denke ich das adobe die software für verschiedenen Plattformen bereitstellt...aber naja ich denke der großteil der Leute benutzt nach wie vor Windows^^ So und nun werde ich mal gleich noch ne neue Version Online stellen [attachment=2513] so hier der changelog und die aktuelle TODO Liste achja habt ihr zufällig auch ne Liste mit Characterportraits? @20mithrandir die ItemBilder scheinen nicht immer korrekt zu sein, hast du vielleicht ne vollständige Liste? RE: Der HEX-Thread - Silencer - 06.09.2011 Ich würde gerne einen der vorhandenen NPCs als Vorlagecharakter in Riva ausprobieren. An welcher Stelle (chars1.dat) wird dieser NPC Status definiert? RE: Der HEX-Thread - tommy - 07.09.2011 ich bin mir nicht sicher ob das klappt, die datei scheint gerade groß genug zu sein für sechs charactere. Aber ich habs mal schnell ausgerechnet, theoretisch müsste der siebte character an Position 239A(Hex) bzw. 9144(Dezimal) mit dem Schlüsselwort "DSA VERSION" eingeleitet werden. RE: Der HEX-Thread - thEClaw - 07.09.2011 Ich habe in diesem Thread ein paar Bilder-Pakete angehängt (irgendwo auf den letzten zwei oder drei Seiten). Die Gegenstände waren definitv dabei, bei den Portraits bin ich nicht ganz sicher. Aber das sollte kein Problem darstellen, die lassen sich auf jeden Fall auftreiben. EDIT: Okay, die Portraits von DSA2 und 3 habe ich angehängt. Bei DSA1 wirst du am besten die Bilder nehmen, die im Spielstand vorhanden sind. Oder falls du dir nicht die Arbeit des Konvertierens machen willst (ist alles Rohformat), erstelle eine Zuordnung dieser Bilder zu einer Liste von z.B. JPEG-Bildern - die ließen sich auch auftreiben. PS: In meiner Signatur findet sich ein Spielstandskonverter inklusive Source-Code. Eventuell kannst du dir da ein paar Hilfen für deine ToDo-Liste holen, einige der Sachen sind nämlich nicht gerade trivial. RE: Der HEX-Thread - tommy - 07.09.2011 jo danke genau sowas hab ich gesucht, wenn ichs schaffe werd ich das nachher mal gleich einbauen. Und zu den Bilder der Items, deine Pakete hab ich gefunden und ich hab die Bilder mithilfe der zugehörigen Datei ausgewertet, allerdings scheinen einige Bilder garnicht vorhanden zu sein und bei einigen anderen werden die falschen Bilder angezeigt. |