Okay so I've been working with a 4267 source lately and it's been working exceedingly fine, however, I jump around IN the game and it somehow rolls the character back 1 pace and the spawns around do not update meaning when I attack a mob, it shows me that i attacked it but I cant attack it again unless I run towards it/jump in/out back into the same area (you get me?).
here is the official AppendJump from my source:
could it be cause of the "pullback" mentioned in the code?
Much help will sure be appreciated, sorry for this new thread but this was the only bug preventing my source to be "bug-free" (metaphorically speaking).
here is the official AppendJump from my source:
Code:
private void AppendJump(GameClient Client, DataPacket* DPacket, byte[] Packet)
{
if (!Client.Entity.Dead)
{
#region Disable Mining
if (Client.Mining)
Client.Mining = false;
#endregion
uint Time = Native.timeGetTime();
if (Kernel.GetDistance(DPacket->dwParam_Lo, DPacket->dwParam_Hi, Client.Entity.X, Client.Entity.Y) <= 16)
{
#region Speeder Check(s)
if (Math.Abs(DPacket->TimeStamp - Client.Entity.Stamps.LastClientMovement) <= 500
|| DPacket->TimeStamp == 0)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
if (Time - Client.Entity.Stamps.LastClientMovement <= 500)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
else
{
if (Time - Client.Entity.Stamps.LastServerMovement <= 300)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
}
#endregion
Client.SendScreen(Packet, true);
Client.Entity.Facing = Kernel.AngleEntity(DPacket->dwParam_Lo, DPacket->dwParam_Hi, Client.Entity.X, Client.Entity.Y);
if (Client.Entity.MapID == 1038)
{
if (!GuildWar.ValidJump(Client.TileColor, out Client.TileColor, DPacket->dwParam_Lo, DPacket->dwParam_Hi))
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Please only walk to this area!");
return;
}
}
if (Kernel.ValidCordinate(Client.Entity.MapID, DPacket->dwParam_Lo, DPacket->dwParam_Hi))
{
Client.Entity.X = DPacket->dwParam_Lo;
Client.Entity.Y = DPacket->dwParam_Hi;
Client.Screen.Reload(false, null);
}
else
Client.Teleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y);
}
else
{
Client.Speak(Color.Red, ChatType.Center, "Pullback jump to far!");
return;
}
}
}
Much help will sure be appreciated, sorry for this new thread but this was the only bug preventing my source to be "bug-free" (metaphorically speaking).