Frage zu nem teil von nem source code

12/08/2008 15:25 Methiou#1
if (packet[2] == 0x32)
{
DWORD id;
memcpy((void*)&id,(void*)((DWORD)packet+3),4);
char name[255]={0};
memcpy((void*)&name,(void*)((DWORD)packet+7),16);

if (flhack == 1)
{
int i;
for (i=0;i<5;i++)
{

SendDetour(blabla);
SendDetour(blabla);

}

}

}


ich möchte gerne wissen was der ROTe teil bedeutet,
besser gesagt was bedeuten die parameter "(void*)((DWORD)packet+3),4"
und
"(void*)((DWORD)packet+7),16" ?

danke im voraus

mfg
12/08/2008 15:44 chibis#2
memcpy((void*)&id,(void*)((DWORD)packet+3),4); // liest PID aus
memcpy((void*)&name,(void*)((DWORD)packet+7),16); // liest den Playernamen aus

bei den einzelnen parameter kann ich dir nich helfen ...
12/08/2008 15:58 Methiou#3
Dankeschön, das habe ich mir schon gedacht.

der hintergrundgedanke ist das ich alle "tanzen" (was auch immer) lassen will.
d.h. wenn jemand spawnt dann tanzen alle,
ich hatte es mal per zufall geschafft, nur kein plan wie, später war dann "bs" und alles war gelöscht ... darum möchte ich dem ganzen bischen auf den grund kommen.
12/08/2008 16:35 Mahatma#4
memcpy((void*)&id,(void*)((DWORD)packet+3),4);
//packet+3 --> pickt das packet nr 3
//4 steht glaub ich für 4 bytes...also für die größe...is bei ganz normale value

memcpy((void*)&name,(void*)((DWORD)packet+7),16);[/COLOR]
//packet+7 --> pickt das packet nr 7
//16 bytes weils text is...


bin mir net 100% sicher ob alles stimmt xD


Greeeeeeetz
Mahatma
12/08/2008 17:41 Methiou#5
Quote:
Originally Posted by Methiou View Post

der hintergrundgedanke ist das ich alle "tanzen" (was auch immer) lassen will.
d.h. wenn jemand spawnt dann tanzen alle

könnt ihr mir da helfen?

mfg
12/08/2008 18:05 chibis#6
if (packet[2] == 0x32) // heisst, falls ein Player in deine Nähe kommt ...
{

DWORD id;
memcpy((void*)&id,(void*)((DWORD)packet+3),4); // ... wird die id ausgelesen und ...

if (dancehack == 1) // ... wenn dancehack=1 ist ...
{
int i;
for (i=0;i<6;i++)
{
SendPacket(0x3d,"db",id,14); // ... sendet er diese Packet (in diesem Fall DancePacket).
}

}

}

was also gemacht wird :
Immer wenn ein Player in deine Nähe kommt, wird seine ID ausgelesen und das dancepacket mit seiner ID wird an server gesendet -> Alle Leute, die in deine Nähe kommen, tanzen.

edit: btw, du kannst den hack auch so schreiben, dass alle Leute, die sich in deiner Nähe bewegen, auch tanzen... mach das aber mal selber ;)
12/08/2008 18:10 Methiou#7
Danke.

wenn jemand sich bewegt, hmmm

"if" bedingung änder?

ich probiers mal

is interessant was man so für nonsens machen kann :D

mfg
12/08/2008 18:19 chibis#8
1. Immer wenn ein Spieler in deine Nähe kommt, wird das Packet gesendet.
2. Das Packet wird daher auch NUR gesendet, wenn du dich z.B. inne Stadt teleportierst oder jemand in deine Sichtweite kommt.

Wenn du ein "effektiveren" Dancehack haben willst ...

nimm nicht
PHP Code:
if (packet[2] == 0x32
sondern
PHP Code:
if (packet[2] == 0x22 || packet[2] == 0x23 || packet[2] == 0x32