30.10.2006, 10:39
Hallo Pergor.
Ich werde mal versuchen das zu erklären (das soll jetzt nicht heißen, daß Du vielleicht zu blöd wärst, sondern einfach nur, daß solche Dinge zu erklären auf diese Weise hier nicht sehr einfach ist).
Zuerst mal Basics: Hexziffern: 0 1 2 3 4 5 6 7 8 9 A B C D E F
Hexzahlen bestehen aus Hexziffern und werden meißt mit einem führendem 0x gekennzeichnet (manchmal alternativ ein h am Ende der Zahl). zB: 0x00 = 0; 0Fh = 15; 0x12 = 18; 0xFF = 255 oder aber 0xFF = -1 wenn signed Byte
Ein Byte ist eine zweistellige Hexzahl (8 Bit): 0x00 bis 0xFF. Eine Hexziffer benötigt 4 Bit zur Speicherung, es werden aber mindestens ganze Byte gespeichert.
will man + und - laufen die Zahlen von: 0x00 = 0 bis 0x7F = +127 und 0xFF = -1 bis 0x80 = -128
Hexzahlen bestehen auch meist aus n Hexziffern mit n = 2^k und k > 0 und ganze Zahl. Also 1 Byte oder 2 Byte oder 4 Byte oder ...
In meiner obigen Tabelle habe ich zwar die Kennzeichnung mit 0x weggelassen, habe aber ganz am Anfang geschrieben, daß es sich um Hexzahlen handelt. UND ich habe geschrieben, daß alle Adressen Offsets!!! vom ersten Anfangsbuchstaben des Namens des Betreffenden Characters sind !!!
Das heißt, will man Deine Hexe verarzten, muß man sie erst mal finden. Also nach dem Namen der Hexe suchen. Gleich beim ersten Vorkommen müßte dieser dann 2 mal untereinander stehen. Das erste ist der Name mit dem der Character generiert wurde, das 2te ist der Alias (der jetzige Name, man kann ja jederzeit umbenennen). Hier bist Du richtig. Der erste Buchstabe des ersten Namens hat nun Offset 0x0000 (siehe meine Tabelle). An einer Adresstelle steht immer ein Byte, also 2 zusammengehörende Hexziffern. D.h.: wenn Du einen Wert an einer Stelle von 0E auf 0F ändern willst, mußt Du auch wirklich 0 und F hinschreiben, Du kannst nicht einfach nur das E auf F ändern.
So, nun zum Brenne toter Stoff: der Zauber hat Offset 0x018B = 395. D.h. das 395ste Byte nach dem ersten Buchstaben des ersten Namens ist der Wert für diesen Zauber und dort sollte dann "F6" für 0xF6 = -10 stehen. Zur Sicherheit kannst Du Dir ja noch die anderen Werte Deiner Hexe in dieser Kategorie ansehen und mit den Werten im File vergleichen. Wenn Du Dir dann sicher bist, den richtigen Wert gefunden zu haben, kannst Du ihn zB auf "00" (oder auch "12") ändern, abspeichern, im Spiel laden und schon kann Deine Hexe zündeln.
Noch etwas: normalerweise stellt ein Hexeditor 16 Byte (von 0x00 bis 0x0F) pro Zeile dar (wie auch Deiner). Somit bedeutet der Offset 0x018B zum Beispiel, daß Du 0x018 = 24 Zeilen unter dem ersten Buchstabens des ersten Namens Deiner Hexe und dann noch 0x0B = 11 Byte nach rechts (mit eventuellem Zeilenwechsel) suchen mußt.
Sollte diese Erklärung nicht genügen (das gilt jetzt nicht nur für Pergor), einfach spezifische Fragen stellen und ich werde versuchen sie zu Beantworten.
Übringens, wie Crystal schon mal erwähnt hat, der Doktor hat nur Werktags Sprechstunde.
Ich werde mal versuchen das zu erklären (das soll jetzt nicht heißen, daß Du vielleicht zu blöd wärst, sondern einfach nur, daß solche Dinge zu erklären auf diese Weise hier nicht sehr einfach ist).
Zuerst mal Basics: Hexziffern: 0 1 2 3 4 5 6 7 8 9 A B C D E F
Hexzahlen bestehen aus Hexziffern und werden meißt mit einem führendem 0x gekennzeichnet (manchmal alternativ ein h am Ende der Zahl). zB: 0x00 = 0; 0Fh = 15; 0x12 = 18; 0xFF = 255 oder aber 0xFF = -1 wenn signed Byte
Ein Byte ist eine zweistellige Hexzahl (8 Bit): 0x00 bis 0xFF. Eine Hexziffer benötigt 4 Bit zur Speicherung, es werden aber mindestens ganze Byte gespeichert.
will man + und - laufen die Zahlen von: 0x00 = 0 bis 0x7F = +127 und 0xFF = -1 bis 0x80 = -128
Hexzahlen bestehen auch meist aus n Hexziffern mit n = 2^k und k > 0 und ganze Zahl. Also 1 Byte oder 2 Byte oder 4 Byte oder ...
In meiner obigen Tabelle habe ich zwar die Kennzeichnung mit 0x weggelassen, habe aber ganz am Anfang geschrieben, daß es sich um Hexzahlen handelt. UND ich habe geschrieben, daß alle Adressen Offsets!!! vom ersten Anfangsbuchstaben des Namens des Betreffenden Characters sind !!!
Das heißt, will man Deine Hexe verarzten, muß man sie erst mal finden. Also nach dem Namen der Hexe suchen. Gleich beim ersten Vorkommen müßte dieser dann 2 mal untereinander stehen. Das erste ist der Name mit dem der Character generiert wurde, das 2te ist der Alias (der jetzige Name, man kann ja jederzeit umbenennen). Hier bist Du richtig. Der erste Buchstabe des ersten Namens hat nun Offset 0x0000 (siehe meine Tabelle). An einer Adresstelle steht immer ein Byte, also 2 zusammengehörende Hexziffern. D.h.: wenn Du einen Wert an einer Stelle von 0E auf 0F ändern willst, mußt Du auch wirklich 0 und F hinschreiben, Du kannst nicht einfach nur das E auf F ändern.
So, nun zum Brenne toter Stoff: der Zauber hat Offset 0x018B = 395. D.h. das 395ste Byte nach dem ersten Buchstaben des ersten Namens ist der Wert für diesen Zauber und dort sollte dann "F6" für 0xF6 = -10 stehen. Zur Sicherheit kannst Du Dir ja noch die anderen Werte Deiner Hexe in dieser Kategorie ansehen und mit den Werten im File vergleichen. Wenn Du Dir dann sicher bist, den richtigen Wert gefunden zu haben, kannst Du ihn zB auf "00" (oder auch "12") ändern, abspeichern, im Spiel laden und schon kann Deine Hexe zündeln.
Noch etwas: normalerweise stellt ein Hexeditor 16 Byte (von 0x00 bis 0x0F) pro Zeile dar (wie auch Deiner). Somit bedeutet der Offset 0x018B zum Beispiel, daß Du 0x018 = 24 Zeilen unter dem ersten Buchstabens des ersten Namens Deiner Hexe und dann noch 0x0B = 11 Byte nach rechts (mit eventuellem Zeilenwechsel) suchen mußt.
Sollte diese Erklärung nicht genügen (das gilt jetzt nicht nur für Pergor), einfach spezifische Fragen stellen und ich werde versuchen sie zu Beantworten.
Übringens, wie Crystal schon mal erwähnt hat, der Doktor hat nur Werktags Sprechstunde.
"Research is like sex: sometimes something useful is produced, but that's not why we do it." -- Richard Phillips Feynman, Physiker und Nobelpreisträger, 1918-1988