Esempio n. 1
0
        /// <summary>
        /// Shows the bank interface.
        /// </summary>
        /// <param name="character">The character to show interface for.</param>
        public static void Show(Character character)
        {
            character.Session.SendData(new StringPacketComposer("Bank of " + GameEngine.World.Name, 762, 24).Serialize());
            character.Session.SendData(new ConfigPacketComposer(563, 4194304).Serialize());
            character.Session.SendData(new ConfigPacketComposer(1248, -2013265920).Serialize());
            character.Session.SendData(new ConfigPacketComposer(115, character.Bank.Noting ? 1 : 0).Serialize());
            character.Session.SendData(new ConfigPacketComposer(305, character.Bank.Inserting ? 1 : 0).Serialize());
            GenericPacketComposer gpc = new GenericPacketComposer();

            gpc.SetOpcode(223);
            gpc.AppendShort(496);
            gpc.AppendLEShortA(0);
            gpc.AppendLEShort(73);
            gpc.AppendLEShort(762);
            gpc.AppendLEShort(1278);
            gpc.AppendLEShort(20);
            character.Session.SendData(gpc.Serialize());
            gpc = new GenericPacketComposer();
            gpc.SetOpcode(223);
            gpc.AppendShort(27);
            gpc.AppendLEShortA(0);
            gpc.AppendLEShort(0);
            gpc.AppendLEShort(763);
            gpc.AppendLEShort(1150);
            gpc.AppendLEShort(18);
            character.Session.SendData(gpc.Serialize());
            character.Bank.Refresh();
            Frames.SendInterface(character, 762, true);
            Frames.SendInventoryInterface(character, 763);
            Frames.SendHideTabs(character);
        }
Esempio n. 2
0
        /// <summary>
        /// Handles the protocol request.
        /// </summary>
        /// <param name="request">The instance requesting the protcol handle.</param>
        public void Handle(LoginRequest request)
        {
            request.Buffer.Skip(1);
            int  nameHash = request.Buffer.ReadByte();
            long key      = ((long)(new Random().NextDouble() * 99999999D) << 32) + (long)(new Random().NextDouble() * 99999999D);
            GenericPacketComposer session = new GenericPacketComposer();

            session.AppendByte(0);
            session.AppendLong(key);
            request.Buffer   = null;     // Dump current buffer.
            request.NameHash = nameHash; // Save name hash.
            request.Connection.SendData(session.Serialize());
        }
Esempio n. 3
0
        /// <summary>
        /// Handles the world map interface.
        /// </summary>
        /// <param name="character">The character to handle for.</param>
        /// <param name="packetId">The packet id of the button.</param>
        /// <param name="buttonId">The button to handle.</param>
        /// <param name="buttonId2">The secondary button to handle.</param>
        public void HandleButton(Character character, int packetId, int buttonId, int buttonId2)
        {
            switch (buttonId)
            {
            case 9:
            {
                character.Session.SendData(new WindowPanePacketComposer(548).Serialize());

                PacketComposer composer = new GenericPacketComposer();
                composer.SetOpcode(173);
                character.Session.SendData(composer.Serialize());
                break;
            }
            }
        }