WarRock EU - Code Snippets

05/02/2011 17:24 SubZerom™#3406
Quote:
Originally Posted by ~ r a z e r _ View Post
nein ist sie nicht. xDDD

*(float*)(*(unsigned long*)ADR_PTR_PLAYERPOINTER + OFS_NORECOIL... ) = 0;
Es kommt drauf an,wie er die addresse definiert^^
05/02/2011 17:26 Raz9r#3407
er nennt es adresse, deswegen gehe ich nicht davon aus, dass er es als makro definiert.
05/02/2011 17:55 antornmo#3408
Quote:
Originally Posted by SubZerom™ View Post
Es kommt drauf an,wie er die addresse definiert^^
warum dieses unsignet long?
05/02/2011 18:08 •~•Pr0Sk1ll•~•#3409
weil er meint du hast es net als makro
Code:
#define Addy 0xAddy
machs so und es workt mit deiner Source
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
Code:
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;
}
Also zuerst machste wie ganz normale structs dein reclass
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

bzw ich kenns so dass man die hexdezimalen umrechnen muss wusste net das es so geht o.0
naja ich wuerds so machen
Code:
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;
}
05/02/2011 18:26 antornmo#3410
Quote:
Originally Posted by •~•Pr0Sk1ll•~• View Post
weil er meint du hast es net als makro
Code:
#define Addy 0xAddy
machs so und es workt mit deiner Source
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
Code:
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;
}
Also zuerst machste wie ganz normale structs dein reclass
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

blick ich ned, ich machs mit
PHP Code:
#define 
05/02/2011 18:28 Raz9r#3411
proskill man muss nur wissen wie reclass funktioniert...

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;
05/02/2011 18:28 SubZerom™#3412
Quote:
Originally Posted by ~ r a z e r _ View Post
er nennt es adresse, deswegen gehe ich nicht davon aus, dass er es als makro definiert.
Quote:
Originally Posted by •~•Pr0Sk1ll•~• View Post
weil er meint du hast es net als makro
Code:
#define Addy 0xAddy
machs so und es workt mit deiner Source
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
Code:
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;
}
Also zuerst machste wie ganz normale structs dein reclass
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
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?
05/02/2011 18:30 lutscher777#3413
hat jemand eine lösung?

hier die fehler thx wartet!

1>c:\users\*******\*******\********\********\***** ****\d3dfont.cpp : error C2471: Programmdatenbank

'c:\users\*******\*******\********\********\****** ***\debug\vc90.pdb' kann nicht aktualisiert werden

1>c:\users\*******\*******\********\********\***** ****\d3dfont.cpp : fatal error C1083: Datei (Programmdatenbank) kann nicht geöffnet werden:

"c:\users\*******\*******\********\********\****** ***\debug\vc90.pdb": No such file or directory

1>d3dmenu.cpp
1>c:\users\*******\*******\********\********\***** ****\d3dmenu.cpp : error C2471: Programmdatenbank

'c:\users\*******\*******\********\********\****** ***\debug\vc90.pdb' kann nicht aktualisiert werden

1>c:\users\*******\*******\********\********\***** ****\d3dmenu.cpp : fatal error C1083: Datei (Programmdatenbank) kann nicht geöffnet werden:

"c:\users\*******\*******\********\********\****** ***\debug\vc90.pdb": No such file or directory

1>Menu.cpp
1>c:\users\*******\*******\********\********\***** ****\menu.cpp : error C2471: Programmdatenbank

'c:\users\*******\*******\********\********\****** ***\debug\vc90.pdb' kann nicht aktualisiert werden

1>c:\users\*******\*******\********\********\***** ****\menu.cpp : fatal error C1083: Datei (Programmdatenbank) kann nicht geöffnet werden:

"c:\users\*******\*******\********\********\****** ***\debug\vc90.pdb": No such file or directory

1>base.cpp
1>c:\users\*******\*******\********\********\***** ****\base.cpp : error C2471: Programmdatenbank

'c:\users\*******\*******\********\********\****** ***\debug\vc90.pdb' kann nicht aktualisiert werden

1>c:\users\*******\*******\********\********\***** ****\base.cpp : fatal error C1083: Datei (Programmdatenbank) kann nicht geöffnet werden:

"c:\users\*******\*******\********\********\****** ***\debug\vc90.pdb": No such file or directory
05/02/2011 18:31 Raz9r#3414
Quote:
Originally Posted by SubZerom™ View Post
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?
ich kanns nennen wie ich will, ob ich die window.h includiere macht speichertechnisch keinen unterschied...

typedef DWORD unsigned long // & so :P
05/02/2011 18:43 •~•Pr0Sk1ll•~•#3415
Also war meine reclass definition richtig?
1. geht mir jedem offset
2. why nur mit offset des is ma ne frage fuer mich...
05/02/2011 18:48 Raz9r#3416
versuch mal zu verstehen, was der unterschied zwischen einem pointer und einer direkten adresse ist.

// back in 2 stunden ca.
05/02/2011 18:54 •~•Pr0Sk1ll•~•#3417
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?

€: wers net hinbekommt hier ne kleine CPlayer structs(auch fuer OPK/SVP)

[code]
struct CPlayer
{
char jumpto [0x00102E4];
float x,pos1;
float y,pos2;
float z,pos3;
};

mehr braucht ihr fuer pub net jeder der mehr braucht kanns selber
machen

muesste richtig sein
fabbel soferns richtig ist was man ja durch posts sieht kannstes
ja als structs vorne adden


#define ADR_OFS_X 0x00102E4
#define ADR_OFS_Y 0x00102E8
#define ADR_OFS_Z 0x00102EC
#define ADR_OFS_NFD 0x00102CC
05/04/2011 07:08 Raz9r#3418
Quote:
Originally Posted by •~•Pr0Sk1ll•~• View Post
#define ADR_OFS_X 0x00102E4
#define ADR_OFS_Y 0x00102E8
#define ADR_OFS_Z 0x00102EC
#define ADR_OFS_NFD 0x00102CC
Quote:
Originally Posted by ~ r a z e r _ View Post
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;

ein kleiner blick nach oben erklärt es dann.
05/04/2011 14:18 theitfan1337#3419
Quote:
Originally Posted by •~•Pr0Sk1ll•~• View Post
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?
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.
pointer € DynDS
adresse € strings
05/04/2011 15:12 Raz9r#3420
zur sache mit den pointern...

int *xxx;

im speicher kannst du dann &xxx auslesen.

&xxx ist aber vom typ int** und der wert dahinter ist damit ein pointer der auf einen int-wert zeigt (int*)