[Frage]Packet 0x3E, Target und Attacker

05/28/2009 00:24 cheater-.-#1
Hi, will einen simplen bot machen, bin nun auch langsam am "verstehen".. nun meine frage: ich will erstmal nur die mobs angeifen, die mich attacken..
das Packet 0x3E sagt ja irgendwas greift irgendwen an..
nun wie bekomme ich das raus, dass ich angegriffen werde?!
PHP Code:
DWORD attacker=0;
DWORD target=0;
WORD dmg;
WORD dmg2;
memcpy((void*)&attacker,(void*)((DWORD)buf2+3+1) ,4);
memcpy((void*)&target,(void*)((DWORD)buf2+3+1+4) ,4);
memcpy((void*)&dmg,(void*)((DWORD)buf2+3+1+4+2), 2);
memcpy((void*)&dmg2,(void*)((DWORD)buf2+3+1+4+22),2);
if(
player.PID == target){
    
printf("%d, %d , %d, %d- Attacker, Target \n",attacker,target,dmg,dmg2);
}
else{
    
printf("Damage: %d, %d ** %d attacker, %d target ** me %d\n",dmg,dmg2,attacker,target,player.PID);

Hier also meine ID
PHP Code:
player.PID 
gibt mir zu jedem zeitpunkt die selbe Id aus.. ist ja soweit richtig.

PHP Code:
memcpy((void*)&attacker,(void*)((DWORD)buf2+3+1) ,4);
memcpy((void*)&target,(void*)((DWORD)buf2+3+1+4) ,4); 
"attacker" ist auch, solange mich der selbe mob angreift, immer gleich.
genauso wie "target"
jedoch ist "target" NIE gleich meiner "player.PID" .. wieso?! was mache ich falsch?

bitte um hilfe.. :-/
05/28/2009 00:34 Mahatma#2
kommt davon dass ihr alle immer @ kh11 nachguckt wenn ihr nen recv packet braucht :D
baka hatte hier das falsche packet...ich hatte auch irgendwann mal dasselbe problem, aber hab dann die richtigen packets gesnifft, hier sind sie:

memcpy((void*)&attacker,(void*)((DWORD)buf2+3),4);
memcpy((void*)&target,(void*)((DWORD)buf2+7),4);
memcpy((void*)&dmg,(void*)((DWORD)buf2+11), 2);
memcpy((void*)&dmg2,(void*)((DWORD)buf2+13),2);
05/28/2009 00:51 cheater-.-#3
hab emir gedacht, das es falsch gesnifft ist.. aber da ich agrkeine anhaltspunkt hatte, dachte ich frag ich den großen Mahatma :)

ok vielen dank, thanks ging raus :)
05/30/2009 08:02 Kozue#4
Quote:
Originally Posted by Mahatma View Post
memcpy((void*)&attacker,(void*)((DWORD)buf2+3),4);
memcpy((void*)&target,(void*)((DWORD)buf2+7),4);
memcpy((void*)&dmg,(void*)((DWORD)buf2+11), 2);
memcpy((void*)&dmg2,(void*)((DWORD)buf2+13),2);
Thanks! I always wondered why the public source just made garbage numbers. Packet 0x35 was convenient so just used it instead.

Updated my source and healing and medding is much more efficient. Less waste of mana and meds.
06/21/2009 18:48 Grabgewalt#5
Hm hab da auch probleme, hab das 0x3E nun schon so geändert wie mahatma gesagt hat aber meine id kommt dabei trotzdem nie dran. Mach ich beim Player appear packet was falsch?

PHP Code:
if (buf2[2] == 0x32//player appear
{
    
DWORD id 0;
    
memcpy((void*)&id,(void*)((DWORD)buf2+3+2),4);
[...] 
Stimmt das offset da?

EDIT: schon gut habs selbst gefunden
06/21/2009 20:04 cheater-.-#6
Quote:
Originally Posted by Grabgewalt View Post
Hm hab da auch probleme, hab das 0x3E nun schon so geändert wie mahatma gesagt hat aber meine id kommt dabei trotzdem nie dran. Mach ich beim Player appear packet was falsch?

PHP Code:
if (buf2[2] == 0x32//player appear
{
    
DWORD id 0;
    
memcpy((void*)&id,(void*)((DWORD)buf2+3+2),4);
[...] 
Stimmt das offset da?

EDIT: schon gut habs selbst gefunden
was war das proböem? deine id war falsch? du mussts schauen ab und zu ist der erste player der appeared kein "player" also irgendwas cryptisches
06/21/2009 20:14 Grabgewalt#7
hm nee also das offset war falsch.
mit memcpy((void*)&id,(void*)((DWORD)buf2+3),4); geht alles.
07/11/2009 20:23 Hell Slayer#8
fuern 1ner spawn reichts das ding doch um zu lvln must nurnoch einbauen das er pickt und pottet^^ irgendwo warn bot fertig^^ also pot