hello guys again
thanks for those who helped me before because i successfully found everything i need and almost finish my bot but i got only one problem which is speedhack method
i know one but its old and im not sure about it
while any kind of using cheatengine speedhack will be detectable by tq team since they know how cheat engine works
thats the code i have right now
public bool NinjaFlash(ushort ToX, ushort ToY, byte jumptype,bool UpdateClient = true)
{
// Console.WriteLine(string.Format("NinjaFlash : {0}, {1} - {2}, {3}", client.X, client.Y, ToX, ToY));
if (Math.Max(Math.Abs(client.X - ToX), Math.Abs(client.Y - ToY)) < 16 && GUI.MapService.Valid((ushort)client.MapID, client.X, client.Y, ToX, ToY))
{
client.JumpDist = Math.Max(Math.Abs(client.X - ToX), Math.Abs(client.Y - ToY));
byte[] Tail = { 0xA0, 1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1 };
ActionPacket actionPacket = new ActionPacket();
actionPacket.Timestamp = (uint)Environment.TickCount;
actionPacket.UID = client.UID;
actionPacket.ToX = ToX;
actionPacket.ToY = ToY;
actionPacket.ActionType = 137;
actionPacket.ClientX = client.X;
actionPacket.ClientY = client.Y;
actionPacket.MapID = client.MapID;
actionPacket.Direction = client.GetDirection(client.X, client.Y, ToX, ToY);
MemoryStream actionData = new MemoryStream();
Serializer.NonGeneric.Serialize(actionData, actionPacket);
byte[] StreamBuff = actionData.GetBuffer();
ushort dataLen = (ushort)(actionData.Length + Tail.Length);
byte[] buffer = new byte[dataLen + 4 + 8];
ReadWrite.WriteUInt16((ushort)(dataLen + 4), 0, buffer);
ReadWrite.WriteUInt16(10010, 2, buffer);
Array.Copy(StreamBuff, 0, buffer, 4, actionData.Length);
Array.Copy(Tail, 0, buffer, 4 + actionData.Length, Tail.Length);
ReadWrite.WriteString("TQClient", buffer.Length - 8, buffer);
client.SendToServer(buffer);
ActionPacketSvr actionPacketSvr = new ActionPacketSvr();
actionPacketSvr.ClientX = ToX;
actionPacketSvr.ClientY = ToY;
actionPacketSvr.UID = client.UID;
actionPacketSvr.ActionType = 156;
actionPacketSvr.MapID = client.MapID;
MemoryStream actionDataAvr = new MemoryStream();
Serializer.NonGeneric.Serialize(actionDataAvr, actionPacketSvr);
byte[] SvrBuff = actionDataAvr.GetBuffer();
ushort SvrdataLen = (ushort)actionDataAvr.Length;
byte[] SvrBuffer = new byte[SvrdataLen + 4 + 8];
ReadWrite.WriteUInt16((ushort)(SvrdataLen + 4), 0, SvrBuffer);
ReadWrite.WriteUInt16(10010, 2, SvrBuffer);
Array.Copy(SvrBuff, 0, SvrBuffer, 4, SvrdataLen);
ReadWrite.WriteString("TQServer", SvrBuffer.Length - 8, SvrBuffer);
client.SendToClient(SvrBuffer);
if (UpdateClient && client.updateratecounter >= client.updaterate)
{
SyncActionSvr syncActionPacket = new SyncActionSvr();
syncActionPacket.Type = 1;
syncActionPacket.ToX = ToX;
syncActionPacket.ToY = ToY;
syncActionPacket.SyncFlag = 1;
syncActionPacket.UID = client.UID;
MemoryStream syncData = new MemoryStream();
Serializer.NonGeneric.Serialize(syncData, syncActionPacket);
byte[] SyncBuff = syncData.GetBuffer();
ushort SyncdataLen = (ushort)syncData.Length;
byte[] _Buffer = new byte[SyncdataLen + 4 + 8];
ReadWrite.WriteUInt16((ushort)(SyncdataLen + 4), 0, _Buffer);
ReadWrite.WriteUInt16(1114, 2, _Buffer);
Array.Copy(SyncBuff, 0, _Buffer, 4, syncData.Length);
ReadWrite.WriteString("TQServer", _Buffer.Length - 8, _Buffer);
client.SendToClient(_Buffer);
}
if (client.updateratecounter >= client.updaterate)
{
client.updateratecounter = 0;
}
else
{
// client.back++;
client.updateratecounter++;
}
return true;
}
return false;
}
public void Cyclone()
{
if (client.speedOn == false)
{
byte[] packet = new byte[96 + 8];
ReadWrite.WriteUInt16(96, 0, packet);
ReadWrite.WriteUInt16(10017, 2, packet); //packet id
ReadWrite.WriteUInt32((uint)Environment.TickCount, 4, packet);
ReadWrite.WriteUInt32(client.UID, 8, packet); //uid
ReadWrite.WriteUInt32(1, 12, packet);
ReadWrite.WriteUInt64(25, 16, packet); // Unknown
//ReadWrite.WriteUInt64(client.statusflag | 1UL << 23 | 0x30bbc3, 20, packet); // flag Cyclone
ReadWrite.WriteUInt64(client.statusflag | 1UL << 23, 20, packet); // flag Cyclone
ReadWrite.WriteString("TQServer", packet.Length - 8, packet);
client.SendToClient(packet);
BotClientChat("Cyclone ON !");
client.speedOn = true;
}
else
{
byte[] packet = new byte[96 + 8];
ReadWrite.WriteUInt16(96, 0, packet);
ReadWrite.WriteUInt16(10017, 2, packet); //packet id
ReadWrite.WriteUInt32((uint)Environment.TickCount, 4, packet);
ReadWrite.WriteUInt32(client.UID, 8, packet); //uid
ReadWrite.WriteUInt32(1, 12, packet);
ReadWrite.WriteUInt64(25, 16, packet); // Unknown
ReadWrite.WriteUInt64(client.statusflag | 0, 20, packet); // flag Cyclone
ReadWrite.WriteString("TQServer", packet.Length - 8, packet);
client.SendToClient(packet);
client.speedOn = false;
BotClientChat("Cyclone OFF !");
}
}
can someone please help me ?
thanks for those who helped me before because i successfully found everything i need and almost finish my bot but i got only one problem which is speedhack method
i know one but its old and im not sure about it
while any kind of using cheatengine speedhack will be detectable by tq team since they know how cheat engine works
thats the code i have right now
public bool NinjaFlash(ushort ToX, ushort ToY, byte jumptype,bool UpdateClient = true)
{
// Console.WriteLine(string.Format("NinjaFlash : {0}, {1} - {2}, {3}", client.X, client.Y, ToX, ToY));
if (Math.Max(Math.Abs(client.X - ToX), Math.Abs(client.Y - ToY)) < 16 && GUI.MapService.Valid((ushort)client.MapID, client.X, client.Y, ToX, ToY))
{
client.JumpDist = Math.Max(Math.Abs(client.X - ToX), Math.Abs(client.Y - ToY));
byte[] Tail = { 0xA0, 1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1 };
ActionPacket actionPacket = new ActionPacket();
actionPacket.Timestamp = (uint)Environment.TickCount;
actionPacket.UID = client.UID;
actionPacket.ToX = ToX;
actionPacket.ToY = ToY;
actionPacket.ActionType = 137;
actionPacket.ClientX = client.X;
actionPacket.ClientY = client.Y;
actionPacket.MapID = client.MapID;
actionPacket.Direction = client.GetDirection(client.X, client.Y, ToX, ToY);
MemoryStream actionData = new MemoryStream();
Serializer.NonGeneric.Serialize(actionData, actionPacket);
byte[] StreamBuff = actionData.GetBuffer();
ushort dataLen = (ushort)(actionData.Length + Tail.Length);
byte[] buffer = new byte[dataLen + 4 + 8];
ReadWrite.WriteUInt16((ushort)(dataLen + 4), 0, buffer);
ReadWrite.WriteUInt16(10010, 2, buffer);
Array.Copy(StreamBuff, 0, buffer, 4, actionData.Length);
Array.Copy(Tail, 0, buffer, 4 + actionData.Length, Tail.Length);
ReadWrite.WriteString("TQClient", buffer.Length - 8, buffer);
client.SendToServer(buffer);
ActionPacketSvr actionPacketSvr = new ActionPacketSvr();
actionPacketSvr.ClientX = ToX;
actionPacketSvr.ClientY = ToY;
actionPacketSvr.UID = client.UID;
actionPacketSvr.ActionType = 156;
actionPacketSvr.MapID = client.MapID;
MemoryStream actionDataAvr = new MemoryStream();
Serializer.NonGeneric.Serialize(actionDataAvr, actionPacketSvr);
byte[] SvrBuff = actionDataAvr.GetBuffer();
ushort SvrdataLen = (ushort)actionDataAvr.Length;
byte[] SvrBuffer = new byte[SvrdataLen + 4 + 8];
ReadWrite.WriteUInt16((ushort)(SvrdataLen + 4), 0, SvrBuffer);
ReadWrite.WriteUInt16(10010, 2, SvrBuffer);
Array.Copy(SvrBuff, 0, SvrBuffer, 4, SvrdataLen);
ReadWrite.WriteString("TQServer", SvrBuffer.Length - 8, SvrBuffer);
client.SendToClient(SvrBuffer);
if (UpdateClient && client.updateratecounter >= client.updaterate)
{
SyncActionSvr syncActionPacket = new SyncActionSvr();
syncActionPacket.Type = 1;
syncActionPacket.ToX = ToX;
syncActionPacket.ToY = ToY;
syncActionPacket.SyncFlag = 1;
syncActionPacket.UID = client.UID;
MemoryStream syncData = new MemoryStream();
Serializer.NonGeneric.Serialize(syncData, syncActionPacket);
byte[] SyncBuff = syncData.GetBuffer();
ushort SyncdataLen = (ushort)syncData.Length;
byte[] _Buffer = new byte[SyncdataLen + 4 + 8];
ReadWrite.WriteUInt16((ushort)(SyncdataLen + 4), 0, _Buffer);
ReadWrite.WriteUInt16(1114, 2, _Buffer);
Array.Copy(SyncBuff, 0, _Buffer, 4, syncData.Length);
ReadWrite.WriteString("TQServer", _Buffer.Length - 8, _Buffer);
client.SendToClient(_Buffer);
}
if (client.updateratecounter >= client.updaterate)
{
client.updateratecounter = 0;
}
else
{
// client.back++;
client.updateratecounter++;
}
return true;
}
return false;
}
public void Cyclone()
{
if (client.speedOn == false)
{
byte[] packet = new byte[96 + 8];
ReadWrite.WriteUInt16(96, 0, packet);
ReadWrite.WriteUInt16(10017, 2, packet); //packet id
ReadWrite.WriteUInt32((uint)Environment.TickCount, 4, packet);
ReadWrite.WriteUInt32(client.UID, 8, packet); //uid
ReadWrite.WriteUInt32(1, 12, packet);
ReadWrite.WriteUInt64(25, 16, packet); // Unknown
//ReadWrite.WriteUInt64(client.statusflag | 1UL << 23 | 0x30bbc3, 20, packet); // flag Cyclone
ReadWrite.WriteUInt64(client.statusflag | 1UL << 23, 20, packet); // flag Cyclone
ReadWrite.WriteString("TQServer", packet.Length - 8, packet);
client.SendToClient(packet);
BotClientChat("Cyclone ON !");
client.speedOn = true;
}
else
{
byte[] packet = new byte[96 + 8];
ReadWrite.WriteUInt16(96, 0, packet);
ReadWrite.WriteUInt16(10017, 2, packet); //packet id
ReadWrite.WriteUInt32((uint)Environment.TickCount, 4, packet);
ReadWrite.WriteUInt32(client.UID, 8, packet); //uid
ReadWrite.WriteUInt32(1, 12, packet);
ReadWrite.WriteUInt64(25, 16, packet); // Unknown
ReadWrite.WriteUInt64(client.statusflag | 0, 20, packet); // flag Cyclone
ReadWrite.WriteString("TQServer", packet.Length - 8, packet);
client.SendToClient(packet);
client.speedOn = false;
BotClientChat("Cyclone OFF !");
}
}
can someone please help me ?