Quote:
Originally Posted by . χaωe
Guten Abend :D
Ich hab mich mal hingesetzt und mich mit sructs beschäftigt. Das hier ist mein erster Versuch und ich würde gerne von jemand erfahreren wissen ob das so korrekt ist und ob man das nicht noch verbessern kann :)
Code:
struct CPlayer{
char Jmp1[50340]; // Jump
float fGravityX; // 0xC4A4
float fGravityY; // 0xC4A8
float fGravityZ; // 0xC4AC
char Jmp2[15896]; // Jump
float NFD; // 0x102C8
char Jmp3[20]; // Jump
double X; // 0x102E0
double Z; // 0x102E8
double Y; // 0x102F0
char Jmp4[1105380]; // Jump
long Level; // 0x11A298
char Jmp5[12]; // Jump
long Dinar; // 0x11A2A8
char Jmp6[7399900]; // Jump
float WTW; // 0x828C88
char Jmp7[193096]; // Jump
float VirtualJump; // 0x857ED4
char Jmp8[391488]; // Jump
float CQCProne; // 0x8B7818
};
Also wer da mal ein Blick drauf werfen könnte und ein Fazit schreibt, dem währe ich sehr dankbar :D
mfg, Sawe.
|
Die XYZ Werte sind anders aufgebaut:
Code:
(...)
float fX;
float _fX;
float fY;
float _fY;
float fZ;
float _fZ;
(...)
Hierbei gilt:
Zum schreiben der Werte jeweils den ersten aus jedem Paar nehmen (ohne den Unterstrich).
Zum fehlerfreien lesen der Werte müssen die Paare als DWORD reinterpretiert werden und via XOR zu einem Wert zusammengerechnet; Die Position zum Auslesen ist dann COERCE_FLOAT (Systeminternes Makro) des Wertes.
Alernative zum Auslesen ist, das Tripel zu nehmen, dass mit dem Offset 000101C0h zu finden ist. Die Werte hier entsprechen denen der aufgeführten Berechnung, man spart sich diese also.