Quote:
Originally Posted by DaxterSoul
|
Ok thanks, i need to ask you a question i found a Walk(Movment Packet) in Zbot Source and i need to know how i can use it i need the character as example move from Jangan Stable to jangan Stoarge
Code:
public static void WalkTo(int X, int Y)
{
uint xPos = 0;
uint yPos = 0;
if (X > 0 && Y > 0)
{
xPos = (uint)((X % 192) * 10);
yPos = (uint)((Y % 192) * 10);
}
else
{
if(X < 0 && Y > 0)
{
xPos = (uint)((192 + (X % 192)) * 10);
yPos = (uint)((Y % 192) * 10);
}
else
{
if (X > 0 && Y < 0)
{
xPos = (uint)((X % 192) * 10);
yPos = (uint)((192 + (Y % 192)) * 10);
}
}
}
byte xSector = (byte)((X - (int)(xPos / 10)) / 192 + 135);
byte ySector = (byte)((Y - (int)(yPos / 10)) / 192 + 92);
if (Char_Data.char_horseid == 0)
{
Packet packet = new Packet((ushort)WorldServerOpcodes.CLIENT_OPCODES.CLIENT_MOVEMENT, false, enumDestination.Server);
packet.data.AddBYTE(0x01);
if (Character.cave.char_incave == true)
{
xPos = (uint)((X - (int)((xSector - 135) * 192)) * 10);
yPos = (uint)((Y - (int)((162 - 92) * 192)) * 10);
packet.data.AddBYTE(Character.cave.xsector);
packet.data.AddBYTE(0x80);
packet.data.AddDWORD(xPos);
packet.data.AddDWORD(0x00000000);
Packet.Data data = new Packet.Data();
data.AddDWORD(yPos - 250);
packet.data.AddBYTE(data.ReadBYTE());
packet.data.AddBYTE(data.ReadBYTE());
packet.data.AddBYTE(0xFF);
packet.data.AddBYTE(0xFF);
}
else
{
ushort xposition = (ushort)((X - (int)((xSector - 135) * 192)) * 10);
ushort yposition = (ushort)((Y - (int)((ySector - 92) * 192)) * 10);
packet.data.AddBYTE(xSector);
packet.data.AddBYTE(ySector);
packet.data.AddWORD(xposition);
packet.data.AddWORD(0x0000);
packet.data.AddWORD(yposition);
}
Globals.ServerPC.SendPacket(packet);
}
else
{
Packet packet = new Packet((ushort)WorldServerOpcodes.CLIENT_OPCODES.CLIENT_PETACTION, false, enumDestination.Server);
packet.data.AddDWORD(Char_Data.char_horseid);
packet.data.AddBYTE(0x01);
packet.data.AddBYTE(0x01);
if (Character.cave.char_incave == true)
{
xPos = (uint)((X - (int)((xSector - 135) * 192)) * 10);
yPos = (uint)((Y - (int)((162 - 92) * 192)) * 10);
packet.data.AddBYTE(Character.cave.xsector);
packet.data.AddBYTE(0x80);
packet.data.AddDWORD(xPos);
packet.data.AddDWORD(0x00000000);
Packet.Data data = new Packet.Data();
data.AddDWORD(yPos - 250);
packet.data.AddBYTE(data.ReadBYTE());
packet.data.AddBYTE(data.ReadBYTE());
packet.data.AddBYTE(0xFF);
packet.data.AddBYTE(0xFF);
}
else
{
ushort xposition = (ushort)((X - (int)((xSector - 135) * 192)) * 10);
ushort yposition = (ushort)((Y - (int)((ySector - 92) * 192)) * 10);
packet.data.AddBYTE(xSector);
packet.data.AddBYTE(ySector);
packet.data.AddWORD(xposition);
packet.data.AddWORD(0x0000);
packet.data.AddWORD(yposition);
}
Globals.ServerPC.SendPacket(packet);
}
}
so what x,y should i put and what the correct code should be