if(autoloot) { PrintPacket((char*)buff,len,pFile); fflush(pFile); int pos = 0; while(pos + 1 < len) { int subplen = *(unsigned short *)(buff + pos); if(pos + subplen > len) break; char *subpptr = buff + pos; if(subpptr[2] == 0x2E && subpptr[3] == 0x50) { //0A 00 31 50 00 00 00 00 [byte itemid] 00 BYTE newpacket[10]; newpacket[0]=0x0A; //packet len newpacket[1]=0x00; newpacket[2]=0x31; newpacket[3]=0x50; newpacket[4]=0x00; newpacket[5]=0x00; newpacket[6]=0x00; newpacket[7]=0x00; newpacket[8]=buff[12]; //item id newpacket[9]=0x00; Osend(s,(char*)newpacket,sizeof(newpacket),flags); } pos += subplen; } }