I got new methods so I dont need this anymore & maybe it'll help some people...
G31 Adult Skill
Code:
if(comboBox4->Text=="Panther'crit'") { KC->Chat(255,"[KalTool] Panther Skill ON"); KC->Threads[1]=1; KC->lasttime[0] = timeGetTime()-15000; } else if(comboBox4->Text=="Tiger'otp'") { KC->Chat(255,"[KalTool] Tiger Skill ON"); KC->Threads[1]=2; KC->lasttime[0] = timeGetTime()-15000; } else if(comboBox4->Text=="Bird'eva'") { KC->Chat(255,"[KalTool] Bird Skill ON"); KC->Threads[1]=3; KC->lasttime[0] = timeGetTime()-15000; }
Code:
if(KC->Threads[1]) { if((KC->Threads[1]==1)&&(KC->lasttime[0] < timeGetTime()-15000)) { KC->SendDetour(0x52,"bd",01,03); KC->SendDetour(0x54,"b",0x48); KC->SendDetour(0x52,"bd",02,03); KC->lasttime[0] = timeGetTime(); } else if((KC->Threads[1]==2)&&(KC->lasttime[0] < timeGetTime()-15000)) { KC->SendDetour(0x52,"bd",01,03); KC->SendDetour(0x54,"b",0x45); KC->SendDetour(0x52,"bd",02,03); KC->lasttime[0] = timeGetTime(); } else if((KC->Threads[1]==3)&&(KC->lasttime[0] < timeGetTime()-15000)) { KC->SendDetour(0x52,"bd",01,03); KC->SendDetour(0x54,"b",0x42); KC->SendDetour(0x52,"bd",02,03); KC->lasttime[0] = timeGetTime(); } }
Can be executed with Send(Sendhook -> Snif attack packet) or Recv(Someone attack someone packet)..
Code:
BYTE skillA[] = {0x03,0x06,0x09,0x10,0x12,0x15,0x0e}; BYTE skillM[] = {0x02,0x06,0x04,0x09,0x17,0x1f,0x19,0x20,0x29,0x2c,0x21,0x2a,0x2e,0x28}; BYTE skillK[] = {0x03,0x05,0x07,0x09,0x10,0x11,0x0d,0x19}; void AttackIT(BYTE Klasse,DWORD CurTarget) { switch (Klasse) { case 2: //Archer { for(int i = 0;i<sizeof skillA;i++) { KC->SendDetour(0x10,"bbd",skillA[i],1,CurTarget); } } break; case 1: //Mage { for(int i = 0;i<sizeof skillM;i++) { KC->SendDetour(0x10,"bbd",skillM[i],1,CurTarget); } } break; case 0: //Knight { for(int i = 0;i<sizeof skillK;i++) { KC->SendDetour(0x10,"bbd",skillK[i],1,CurTarget); } } break; } }
Small Recv-List
Code:
By strik3r 4 epvp [RECV] switch(packet[2]) 0x10 OnLogin Get Skills ------------------------------------------------- BYTE Skills[]; Byte Amout = *(Byte*)&packet[3]; for(int i=4;i<Amout;i+2) { Skills = *(BYTE*)&packet[i]; } -------------------------------------------------- 0x24/0x25 Mob Move -> MID(DWORD) X(Byte) Y(Byte) 00 -------------------------------------------------- DWORD MID = *(DWORD*)&packet[3]; BYTE X = *(BYTE*)&packet[7]; BYTE Y = *(BYTE*)&packet[8]; Someone attack someone -------------------------------------------------- 0x3E MID(DWORD) PID(DWORD) DMG(WORD) 00/01/04 -------------------------------------------------- DWORD Attacker = *(DWORD*)&packet[3]; DWORD Target = *(DWORD*)&packet[7]; WORD Dmg = *(WORD*)&packet[11]; Someone attack someone (SKILL) -------------------------------------------------- 0x3F SKILLID(BYTE) Attacker(DWORD) Opfer(DWORD) 01 DMG(DWORD) 01 -------------------------------------------------- BYTE SID = *(BYTE*)&packet[3]; DWORD Attacker = *(DWORD*)&packet[4]; DWORD Target = *(DWORD*)&packet[8]; WORD Dmg = *(WORD*)&packet[13]; Mob weg -------------------------------------------------- 0x38 - MID(DWORD) -------------------------------------------------- DWORD MID = *(DWORD*)&packet[3]; Mob Die -------------------------------------------------- First Packet: 0x40 MID(DWORD) 00 01/00 -------------------------------------------------- Second Packet: MOb: 0x3D MID(DWORD) 00 [08 -> Köpfstate/09 TOT/0a geköpft] -------------------------------------------------- DWORD MID = *(DWORD*)&packet[3]; BYTE state = *(BYTE*)&packet[8]; Player: 0x3D MID(DWORD) [01->Sitzen/00->aufstehen] -------------------------------------------------- DWORD IID = *(DWORD*)&packet[3]; 0x45 State Change -------------------------------------------------- switch(packet[3]) 0x05 ->NewHp WORD CurHp = *(WORD*)&packet[4]; WORD MaxHp = *(WORD*)&packet[6]; 0x06 ->NewMp WORD CurMp = *(WORD*)&packet[4]; WORD MaxMp = *(WORD*)&packet[6]; 0x07 -> Hp WORD Hp = *(WORD*)&packet[4]; 0x08 -> Mp WORD Mp = *(WORD*)&packet[4]; 0x17 -> Stat Points WORD Stp = *(WORD*)&packet[4]; 0x18 -> Skill Points WORD Skp = *(WORD*)&packet[4]; 0x19 -> Exp DWORD NeueGanzeExp = *(DWORD*)&packet[4]; DWORD GotExpFromMob = *(DWORD*)&packet[12]; 0x1b -> Min/Max Attack WORD Min = *(WORD*)&packet[4]; WORD Max = *(WORD*)&packet[6]; 0x51 Skill learn/skillup -------------------------------------------------- BYTE SID = *(BYTE*)&packet[3]; BYTE Slv = *(BYTE*)&packet[4]; 0x09 Item update -------------------------------------------------- DWORD IID = *(DWORD*)&packet[3]; DWORD Amout = *(DWORD*)&packet[7]; switch(packet[11]) 0x07->Buy(Increase) 0x09->Use(Decrease) 0x0b->Drop(Decrease) 0x0c->Pick(increase) 0x21 Coords sync -------------------------------------------------- DWORD PID = *(DWORD*)&packet[3]; DWORD PX = *(DWORD*)&packet[7]; DWORD PY = *(DWORD*)&packet[11]; DWORD PZ = *(DWORD*)&packet[15]; 0x3B Item Pick -------------------------------------------------- DWORD IID = *(DWORD*)&packet[3]; 0x36 Item Drop -------------------------------------------------- WORD ID = *(WORD)&packet[3]; DWORD IID = *(DWORD*)&packet[5]; DWORD iX = *(DWORD*)&packet[9]; DWORD iY = *(DWORD*)&packet[13]; DWORD Amout = *(DWORD*)&packet[17];