[Discuss] Lucky Crit Event

04/14/2018 11:09 Mr.Awesome1337#1
i wanna to make a Lucky critical event but i want to know what should packets i have to parse it and how i can know the dmg is crit?
04/14/2018 12:07 DaxterSoul#2
[Only registered and activated users can see links. Click Here To Register...]
04/16/2018 02:05 Mr.Awesome1337#3
Quote:
Originally Posted by DaxterSoul View Post
[Only registered and activated users can see links. Click Here To Register...]
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