the whole thing goes to the walk handler
you might need to add a check for the available X/y before each -/+ but i dident bother :S
for the HellMouth users this is gonna be easy to convert ,
Credits goes to me for this ,
Code:
byte Speed = Data[12]; Byte Dir = Data[4][COLOR="Red"] % 8[/COLOR];//For Blind ppl that couldent figure it out yet #region SteedsWalk Coords if (Client.ActiveStats.ContainsKey(Enum.Effect.Riding)) { byte SteedWalk2 = (byte)(Data[4] % 3); byte SteedWalk1 = (byte)(Data[4] % 2); switch (SteedWalk1) { case 0: { #region SteedWal1 0 switch (Dir) { case 2: { if (Speed == 0) { Client.X -= 1; } else if (Speed == 9 && SteedWalk2 == 2) { Client.X -= 2; } else { Client.X -= 2; Client.Y -= 1; } break; } case 6: { if (Speed == 0) { Client.X += 1; } else if (Speed == 9 && SteedWalk2 == 0) { Client.X += 2; } else { Client.X += 2; Client.Y += 1; } break; } case 0: { if (Speed == 0) { Client.Y += 1; } else if (Speed == 9 && SteedWalk2 == 0) { Client.Y += 2; } else { Client.X -= 1; Client.Y += 2; } break; } case 4: { if (Speed == 0) { Client.Y -= 1; } else if (Speed == 9 && SteedWalk2 == 1) { Client.Y -= 2; } else { Client.X += 1; Client.Y -= 2; } break; } } break; #endregion } case 1: { #region SteedWal1 switch (Dir) { case 3: { if (Speed == 0) { Client.X -= 1; Client.Y -= 1; } else if (Speed == 9 && SteedWalk2 == 0) { Client.X -= 2; Client.Y -= 2; } else { Client.X -= 1; Client.Y -= 2; } break; } case 7: { if (Speed == 0 && SteedWalk2 < 3) { Client.X += 1; Client.Y += 1; } else if (Speed == 9 && SteedWalk2 == 1) { Client.X += 2; Client.Y += 2; } else { Client.X += 1; Client.Y += 2; } break; } case 5: { if (Speed == 0) { Client.X += 1; Client.Y -= 1; } else if (Speed == 9 && SteedWalk2 == 2) { Client.X += 2; Client.Y -= 2; } else { Client.X += 2; Client.Y -= 1; } break; } case 1: { if (Speed == 0 && SteedWalk2 < 3) { Client.X -= 1; Client.Y += 1; } else if (Speed == 9 && SteedWalk2 == 1) { Client.X -= 2; Client.Y += 2; } else { Client.X -= 2; Client.Y += 1; } break; } } break; #endregion } } } #endregion else {Process the normal walk here }
and that should give you the exact X/y + in Game Player Location,
enjoy .
Note . this is meant to work on the last patches not sure about the lower patches
for the its not working ppl !!