![]() |
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 - Hupf - 24.02.2008 Leicht OffTopic: Crystal schrieb:Weil im hexadezimalen System die Bytes umgekehrt werden müssen (low byte first), entspricht der Wert 36 0A.Tschuldige, wenn ich pingelig bin, aber in Hex zu rechnen ist für manche schon schwierig genug, da sollte man sich IMHO zumindest von Anfang an die richtigen Konventionen angewöhnen. Die Vertauschung der Bytes rührt nicht vom Zahlensystem her, sondern lediglich von der Art bestimmter Systeme (u.a. x86, also "PCs"), längere Zahlen im Speicher abzulegen: http://de.wikipedia.org/wiki/Byte-Reihenfolge#Little Für das eigentliche "Rechnen" in Hex (was z.B. ein Taschenrechner auf dem Display zeigt), empfehle ich grundsätzlich Big Endian (wie man es gewohnt ist, niedrigste Werte rechts). RE: Der HEX-Thread - Crystal - 24.02.2008 In Hex rechnen braucht man ja auch nicht. ![]() So mach ich das immer. Es hapert immer nur daran, es verständlich erklären zu können, was nicht immer meine Stärke ist. RE: Der HEX-Thread - Peridor - 10.03.2008 Hallo, falls jemand in Hyggeliks Ruine etwas von dem verfluchten Goldschatz genommen hat, das Gemäuer infolge dessen nicht mehr verlassen kann und hier sein Savegame reparieren lassen möchte: dazu muss das Byte an Position 0x14A6 im Savegame von 01 auf 00 zurückgesetzt werden. Anschliessend kann man die Ruine wieder verlassen, als sei nichts passiert. Natürlich könnte man diese Erkenntnis auch zum Schummeln nutzen, um den Goldschatz unbehelligt mitzunehmen ![]() Erwähnenswert ist noch, dass das Byte 0x14BF ebenfalls von 00 auf 01 gesetzt wird, falls man von dem Schatz oder den Münzen etwas nimmt. Mir war es bisher nicht möglich herauszufinden, was in diesem Byte codiert wird, um einen Timer scheint es sich allerdings nicht zu handeln. Vorsichtshalber sollte man dieses Byte also auch zurücksetzen. RE: Der HEX-Thread - Crystal - 10.03.2008 Danke für die Information. ![]() ![]() RE: Der HEX-Thread - Zurgrimm - 10.03.2008 Hallo, Peridor schrieb:falls jemand in Hyggeliks Ruine etwas von dem verfluchten Goldschatz genommen hat, das Gemäuer infolge dessen nicht mehr verlassen kann und hier sein Savegame reparieren lassen möchte:manchmal seid Ihr HEXer wirklich cool. Es kann passieren was will, solange nicht alle Helden tot sind, bastelt Ihr das wieder hin. ![]() ![]() Peridor schrieb:Mir war es bisher nicht möglich herauszufinden, was in diesem Byte codiert wird,Vielleicht der Hetmann-Dialog? Der ändert sich ja, wenn man verflucht wurde. Gruß Zurgrimm RE: Der HEX-Thread - araffi - 12.03.2008 Beim Durchsehen der HEX-Listen hab ich mir eine Frage gestellt, die ihr HEXer sicher schnell beantworten könnt: Bei manchen Werten werden 2 Byte reserviert (bspw. für "Astrale Energie aktuell"/ und das dazugehörige "2nd Byte"). Pro Byte sind aber 256 Werte realisierbar, mit 2 Byte sogar 65536. Man sollte annehmen, dass aber 256 bei Helden, insbesondere in Schick mehr als zuviel ist, besonders bei Werten wie Astralenergie. Klar, dass bei den Dukaten oder Erfahrungspunkten höhere Werte von Nöten sind. Gibts bei den kleineren Werten andere Überlegungen, die diese "2nd Byte" nötig machen? Das Alignment sollte hier wohl keine Rolle spielen ... Gruß araffi RE: Der HEX-Thread - Asgrimm - 12.03.2008 256 ? ich dachte 16 ? (HEX) RE: Der HEX-Thread - araffi - 12.03.2008 Ein Byte sind 8 Bit, das je 2 Zustände annehmen kann -> 2^8 = 256; 16 Zustände sind darstellbar durch ein Nibble, das ist eine Datenmenge, die 4 Bits umfasst, denn 2^4 = 16; Es wird auch Halbbyte, Tetrade oder Quadrupel genannt. RE: Der HEX-Thread - Peridor - 12.03.2008 araffi schrieb:Beim Durchsehen der HEX-Listen hab ich mir eine Frage gestellt, die ihr HEXer sicher schnell beantworten könnt:Zunächst mal sind diese Bytes vorzeichenbehaftet, das heisst z.B., dass mit nur einem Byte die Astralenergie maximal 127 betragen dürfte, was dann unter Umständen tatsächlich zu wenig sein könnte, gerade wenn man importiert. Ich denke, das zweite Byte wurde aus Weitsicht und der nötigen Portion Großzügigkeit spendiert. RE: Der HEX-Thread - araffi - 12.03.2008 Hm, k, thx Peridor. Noch eine andere Frage: Wisst Ihr ob früher so hardwarenah programmiert wurde, dass die Programmierer direkt auf dem Speicher gearbeitet haben und sogar Byte für Byte die (nun herausgefundenen) Bytes festgelegt haben? Oder meint Ihr, dass diese Zuordnung durch einen Compiler festgelegt wurde (und ev. noch optimiert wurde). Früher war man ja sehr stark eingeschränkt bzgl. seiner Ressourcen und je hardwarenäher wurde, desto performanter arbeitet man natürlich. RE: Der HEX-Thread - Peridor - 18.03.2008 Hallo, da heute die Frage nach der Wiederbelebung toter Helden durch Tempelwunder aufkam, habe ich kurzerhand herausgefunden, wo die Gunstwerte für die einzelnen Gottheiten gespeichert werden. In Schick werden hierfür jeweils 4 Bytes (sehr üppig, sollte man meinen) spendiert, wobei jeder gespendete Silbertaler den Wert um 1 erhöht. Die jeweiligen Gunstwerte findet man an folgenden Positionen im Savegame: 0x0436: Rondra 0x043A: Efferd 0x043E: Travia 0x044A: Firun 0x044E: Tsa 0x0452: Phex 0x0456: Peraine 0x045A: Ingerimm 0x0466: Ifirn Da Swafnir in Schick keine Wunder vollbringt, wird hier wohl auch kein Wert verwaltet. In Schweif werden wiederum 4 Bytes verwendet. Die Gunstwerte finden sich an folgenden Adressen: 0x2D50: Der Namenlose 0x2D54: Praios 0x2D58: Rondra 0x2D5C: Efferd 0x2D60: Travia 0x2D64: Boron 0x2D68: Hesinde 0x2D6C: Firun 0x2D70: Tsa 0x2D74: Phex 0x2D78: Peraine 0x2D7C: Ingerimm 0x2D80: Rahja 0x2D84: Swafnir 0x2D88: Ifirn Bei der Ermittlung dieser Werte ist mir übrigens ein seltsamer Bug aufgefallen: Der Borontempel in Tiefhusen ist nur dem Schein nach ein Borontempel; spendet man hier etwas, steigt man in Rondras Gunst. Das ist so sicherlich nicht gedacht. Die Überquerung der Bodenplatten in der Ingerimmschmiede unter Finsterkoppen wird übrigens nicht durch den Gunstwert für Ingerimm gesteuert, sondern durch korrespondierende Flags. Hat man z.B. Ingerimms Schatz aus der Truhe eingesackt, so kann man die Stätte durch eine kleine Schummelei dennoch verlassen, indem man die Bytes 0x3174, 0x3194 und 0x319D im Savegame auf 0 zurücksetzt. Danach können die Bodenplatten gefahrlos überschritten werden, obwohl man sich am Schatz vergriffen hat. RE: Der HEX-Thread - Vanitas - 19.03.2008 Moin Wollte nach langer Zeit mal wieder die NLT spielen. Habe sogar meine gut 10 Jahre alten Helden wiedergefunden. Ist es möglich (bei DSA1 Charakteren) mittels Hex-Editor das Geschlecht und das zugehörige Bild zu ändern? Wollte aus einen meiner männlichen Helden einen weiblichen mit passenden Bild machen. Namen ändern ist ja einfach und habe ich auch schon erfolgreich gemacht. Kann mir da jemand helfen? Edit: Achja, die Gottheit ändern wäre natürlich auch ganz nett. Die Helden haben so alle sehr gute Werte, daher woltle ich die nicht komplett neu machen. RE: Der HEX-Thread - Peridor - 19.03.2008 Hallo Vanitas, ja, ist möglich, auch wenn das mit dem Heldenportait etwas aufwändiger ist als in den anderen beiden Teilen, da es Pixel für Pixel in der .chr-Datei bzw. im Savegame gespeichert wird. Wenn du es geändert haben willst, müsstest du hier ein Savegame posten mit der Info, welcher Held wie geändert werden soll und zusätzlich eine Beschreibung des Portaits, das du haben möchtest (evtl. Screenshot). RE: Der HEX-Thread - Vanitas - 19.03.2008 Moin Die dazugehörige SaveGame Datei ist angehangen. Gewünschte Veränderungen (wenn möglich): Rodolfo: Von Praios nach Phex Dexter: Von Peraine nach Rondra Rogolan: Von Travia nach Ingerimm Vanitas: Von Rondra nach Hesinde Ara: Von Praios nach Firun, Von männlich nach weiblich Nemrod: Von Ingerimm nach Peraine Hoffe da kann mir wer helfen. Geht halt auch darum nicht nur den Namen des Gottes auszutauschen sondern auch die entsprechenden Boni der Götter. Vielleicht kann ja auch wer posten wo das ganze in den Dateien per Hex Editor zu finden ist. Also wo welche Attribute stehen etc. Danke schonmal. RE: Der HEX-Thread - Peridor - 19.03.2008 Okay, sehe ich mir mal an. RE: Der HEX-Thread - Vanitas - 19.03.2008 Danke dafür. Und noch ne kleine Frage dazu. Wenn das in der SaveGame Datei geändert wurde und man damit spielt, werden die Charakter Dateien dann auch demenstprechend geändert oder bleiben die in Ihrem ursprünglichen Zustand? RE: Der HEX-Thread - Peridor - 19.03.2008 Vanitas schrieb:Und noch ne kleine Frage dazu. Wenn das in der SaveGame Datei geändert wurde und man damit spielt, werden die Charakter Dateien dann auch demenstprechend geändert oder bleiben die in Ihrem ursprünglichen Zustand?Die behalten immer ihren ursprünglichen Zustand. Ansonsten habe ich jetzt folgende Änderungen durchgeführt: Rodolfo: Schutzgott Praios -> Phex, MU -1, Taschendiebstahl und Schleichen +1 Dexter: Schutzgott Peraine -> Rondra, Heilen Krankheiten und Heilen Wunden -1, Schwerter +1 Rogolan: Schutzgott Travia -> Ingerimm, Heilen Gift -1, Kriegskunst +1 Vanitas: Schutzgott Rondra -> Hesinde, Schwerter -1, Alchimie +1 Ara: Schutzgott Praios -> Firun, MU -1, Schusswaffen und Fährtensuchen +1, Geschlecht männlich -> weiblich, Portrait geändert Nemrod: Schutzgott Ingerimm -> Peraine, Kriegskunst -1, Heilen Krankheiten und Heilen Wunden +1 RE: Der HEX-Thread - Vanitas - 19.03.2008 Vielen vielen Dank, echt spitze. Kannst du auch verraten wo diese Änderungen mit den Gottheiten in den Charakter Dateien versteckt ist damit ich das dort auch ändern kann? RE: Der HEX-Thread - Peridor - 19.03.2008 Ich weiß natürlich nicht, was du genau vorhast, aber normalerweise musst du da nichts ändern. In den .chr-Dateien stehen die Werte, die der entsprechende Char nach der Generierung hatte und werden danach nicht mehr verändert. Wenn du nun also mit dem Savegame weiterspielst, das hier hochgeladen wurde, musst du da demnach nichts ändern. RE: Der HEX-Thread - Vanitas - 19.03.2008 Naja, habe nix besonderes vor, dachte nur so der Vollständigkeit halber. Das mit dem SaveGame klappt, bereits ausprobiert. ![]() |