Naja, könnt ich schon, muß Dich aber darauf hinweisen, daß ich nur 4 Stunden geschlafen habe und daher zie,lich breit binn
Jo, das erste was man beim Hexeditor halt wissen sollte, ist, daß er einem Binärcode anzeigt, anstatt hexadecimal...
Du siehst ja da immer so Zeichenfolgen wie 0F, 1A, usw...
Dabei handelt es sich jeweils um ein Byte - die kleinstmögliche Art, Informationen in Binärcode darzustellen.
Wenn Du diesen Code nun lesen willst, mußt Du wissen, wie er aufgebaut ist:
Jedes Byte besteht dabei aus einer Kombination von Zahlen von 0-9 und Buchstaben von A-F.
Eine Aufzählung von 1-15 sieht in Binärcode so aus:
hex / bin
---------
0 00
1 01
2 02
3 03
... ...
9 09 aber jetzt Achtung:
10 0A
11 0B
12 0C
13 0D
14 0E
15 0F weiter geht es dann mit:
16 10
17 11
18 12
Spätestens nach 15 bzw. 0F verlieren die meiseten Leute allerdings den Überblick und greifen zu einem Hexcalculator oder baseconverter, um die Werte aus dem Spiel im Binärcode zu finden... Ein brauchbarer Baseconverter ist zum Beispiel im Lieferumfang des Hexworkshop enthalten. Wenn Du den nicht downen willst, kann ich Dir den Converter auch einzeln schicken (HW is meiner Meinung nach eh zu unübersichtlich, als daß ich ihn empfehlen würde)
Außerdem muß man noch wissen, daß Werte über 127 in der Regel über 2Bytes verteilt liegen, z.B. der Geräuschradius der Waffen in den entsprechenden Hardlists der *.exe...
Dies bringt uns zum Aufbau der Programmdateien...
Grundsätzlich kann man zwischen Programmcode und Hardlists unterscheiden...erster ist für uns in der Regel uninteressant, bei letzterem handelt es sich um eine Art Datenbank innerhalb einer Datei, in der das Programm die Eigenschaften veränderlicher Objekte wie Waffen, Söldner, KI-Eigenschaften und einiges mehr abspeichert.
Wenn man an diesen Sachen schrauben will, kommen einem die Dateien in der Regel entgegen, da im Grunde alle Hardlists als Tabelle zu erkennen sind - allerdings erfordert dieses Erkennen einen guten Hexeditor (es gibt nämlich auch Editoren, die einem das Suchen danach nicht gerade erleichtern) und eine Menge Erfahrung...
Aber machen wir mal ein Beispiel:
Nehmen wir an, Du suchst in einer map.dat einen bestimmten Soldaten, den Du zuvor im UBEditor plaziert hast...
Das erste was Du tust, ist recherchieren!

Und zwar schreibst Du aus dem UBEditor die genaue Position Deines neu erstellten Soldaten heraus. Nehmen wir mal an, diese lautet 6802...(Somit ist schon klar, daß dieser Wert nicht durch ein einzelnes Byte dargestellt werden kann - er ist einfach zu groß...)
Da machen wir uns aber erstmal garnichts draus und laden unser mapfile in den Hexeditor. Jetzt brauchen wir einen Calculator oder Baseconverter (letzteres ist einfacher)
Dort müssen wir gegebenenfalls noch von Byte auf short umstellen (da wir ja wissen, daß 6802 zu groß für ein Byte ist und daher 2 Bytes (short bezeichnet) benötigt.
Jetzt rechnen wir diese 6802 in Binärschreib um und erhalten
921A. Diesen Wert lassen wir nun über "Suchen" anzeigen und voila - wir haben den Typen, den wir vorhin im UBEditor erstellt haben
Und so könnte er zum Beispiel aussehen:
01 00 92 1A 01 02 02 07 00 00 FF
Wie man sieht, besteht so ein Knabe aus einer ganzen Reihe von bytes (manchmal sogar noch mehr, als in unserem Beispiel) und jedes dieser Bytes steht für ein ganz bestimmtes Attribut:
Byte 3 und 4 ist seine Position auf der Map (die, an der wir ihn vorhin identifiziert haben)
Byte 5 beispielsweise bestimmt, ob es sich bei ihm um einen Gegner, eine Miliz oder gar einen Zivilisten handelt...
Und über eine Veränderung von Byte 11 kann man ihn zum Beispiel zu einem Panzer mutieren lassen
Wer nun weiter durch das File scrollt, wir feststellen, daß es da weitere ähnliche Bytefolgen gibt und jede einzelne davon steht für einen Gegner (oder NPC)
Wichtig ist bei allen Modifikationen an Dateien immer, so wenig wie möglich auf Einmal zu verändern! Wenn Du etwas probieren willst, bitte probier nicht 3Dinge auf einmal...Außerdem sollte man Bytes, die man verändert
immer überschreiben und nicht einfügen!!! Das Einfügen kann die Integrität des Files zerstören, so daß es unbrauchbar wird!
Über die Einfügen Taste auf der Tastatur kann man zwischen den beiden Modi hin-und-herschalten...
So, ich hoffe, daß hilft Dir erstmal weiter
dekadent viking
----------------------
Master of Investigations / Founding Member of LotB
please visit our great site at:
http://www.webcodesign.de/LotB