#define Addy 0xAddy
struct tplayer {
char empty[0xC43C];
float norecoil[3];
} * pplayer = (tplayer*)0xC81820;
if( *pplayer ) {
pplayer->norecoil[0] = 0;
pplayer->norecoil[1] = 0;
pplayer->norecoil[2] = 0;
}
structs norecoil
{
char bump[0xC43C];
float nr1;
float nr2;
float nr3;
} * rcnr = (norecoil*)0xC81820;
if(* rcnr)
{
rcnr->nr1->0;
rcnr->nr2->0;
rcnr->nr3->0;
}
Quote:
weil er meint du hast es net als makro
machs so und es workt mit deiner SourceCode:#define Addy 0xAddy
1.maaaan R a z e r machs net immer so schwer dein re class blicken sie net... und erklär dann wenigstens wennde mit was kommst dass sonst kwiner benutzt
lol Sub du kannst deutsch habs mor gedacht
€: da du mir eh net glaubst dass ich dein reclass blicke erklaer ichs
des is dein reclass
Also zuerst machste wie ganz normale structs dein reclassCode:struct tplayer { char empty[0xC43C]; float norecoil[3]; } * pplayer = (tplayer*)0xC81820; if( *pplayer ) { pplayer->norecoil[0] = 0; pplayer->norecoil[1] = 0; pplayer->norecoil[2] = 0; }
des erste char rechnets hoch auf die 1Addy von NR dann ein float hat 4Bytes also da von jeder Addy
zur maechsten 4 zunimmt benutzt man float die [3] heisst dass es 3 varianten gibt
die 1. bereits angegeben mit char und 2 weitere die NR2/3 Addy die 4/8Bytes mehr haben als 1
dann kommt dass pplayer von den structs zugewiesen wird mit dem PlayerPTR
dann rufstes ab wie bei OPK etcdas norecoil[0]... edeutet 1Addy 2Addy 3Addy die 0 dhinter ist der wert
#define
//pointer, ofs nach größe sortiert:
#define POINTER 0x28A2F3
#define OFS1 0x123
#define OFS2 0x234
#define OFS3 0x345
//struct/reclass
struct whatever {
char empty1[OFS1];
float element1; // type = float, just an example
char empty2[OFS2-OFS1+sizeof(element1)];
BYTE element2[28]; // type = BYTE[28], again just an example
char empty3[OFS_3-OFS_2+sizeof(element2)];
double element3; // type = double, ...
} * pWhatever = (whatever*)POINTER;
Quote:
er nennt es adresse, deswegen gehe ich nicht davon aus, dass er es als makro definiert.
Jo,razer...denkt man, aber hier macht es i-wieso fast jeder anders xDQuote:
weil er meint du hast es net als makro
machs so und es workt mit deiner SourceCode:#define Addy 0xAddy
1.maaaan R a z e r machs net immer so schwer dein re class blicken sie net... und erklär dann wenigstens wennde mit was kommst dass sonst kwiner benutzt
lol Sub du kannst deutsch habs mor gedacht
€: da du mir eh net glaubst dass ich dein reclass blicke erklaer ichs
des is dein reclass
Also zuerst machste wie ganz normale structs dein reclassCode:struct tplayer { char empty[0xC43C]; float norecoil[3]; } * pplayer = (tplayer*)0xC81820; if( *pplayer ) { pplayer->norecoil[0] = 0; pplayer->norecoil[1] = 0; pplayer->norecoil[2] = 0; }
des erste char rechnets hoch auf die 1Addy von NR dann ein float hat 4Bytes also da von jeder Addy
zur maechsten 4 zunimmt benutzt man float die [3] heisst dass es 3 varianten gibt
die 1. bereits angegeben mit char und 2 weitere die NR2/3 Addy die 4/8Bytes mehr haben als 1
dann kommt dass pplayer von den structs zugewiesen wird mit dem PlayerPTR
dann rufstes ab wie bei OPK etcdas norecoil[0]... edeutet 1Addy 2Addy 3Addy die 0 dhinter ist der wert
ich kanns nennen wie ich will, ob ich die window.h includiere macht speichertechnisch keinen unterschied...Quote:
Jo,razer...denkt man, aber hier macht es i-wieso fast jeder anders xD
@lol Sub du kannst deutsch habs mor gedacht
Ja,kann auch deutsch ;)
Ihr benutzt unsigned long anstatt Dword, damit ihr windows(header) nicht includen müsst oder?
Quote:
#define ADR_OFS_X 0x00102E4
#define ADR_OFS_Y 0x00102E8
#define ADR_OFS_Z 0x00102EC
#define ADR_OFS_NFD 0x00102CC
Quote:
Code://pointer, ofs nach größe sortiert: #define POINTER 0x28A2F3 #define OFS1 0x123 #define OFS2 0x234 #define OFS3 0x345 //struct/reclass struct whatever { char empty1[OFS1]; float element1; // type = float, just an example char empty2[OFS2-OFS1+sizeof(element1)]; BYTE element2[28]; // type = BYTE[28], again just an example char empty3[OFS_3-OFS_2+sizeof(element2)]; double element3; // type = double, ... } * pWhatever = (whatever*)POINTER;
Das mag vllt sogar in War Rock zutreffen, ist aber kein echter Unterschied. Der große Unterschied liegt einfach darin, dass ein Pointer ein dynamischer Verweis auf den Speicher, während eine Adresse lediglich ein statischer Verweis ist.Quote:
ein pointer bezieht sich auf etwas großes im Spiel in dem fall playerpointer serverpointer ...
Eine Adresse bezieht sich auf eine Funktion
naja kp obs stimmt wenn net koenntest mir vllt erklaeren?