示例#1
0
        public override void Write(uint sequence, BinaryWriter bw)
        {
            PacketHeader header = new PacketHeader();
            header.Opcode = 0xF;
            header.PacketSequenceNumber = sequence;
            header.PacketLength = 258;
            header.Write(bw);

            bw.Write(_op.ID);
            Utils.WriteByteString(bw, _op.Name, 17);
            bw.Write(_op.ModelInfo);
            bw.Write(_op.Job);

            bw.Write((byte)0);
            bw.Write((uint)0);

            bw.Write(_op.Level);
            bw.Write(_op.CellIndex);
            bw.Write(_op.CurHP);
            bw.Write(_op.CurMP);
            bw.Write(_op.MaxHP);
            bw.Write(_op.MaxMP);

            bw.Write((byte)0);
            bw.Write((ushort)1);

            for (int i = 0; i < 10; i++)
            {
                int id = 0;
                Item equipped = _op.EquippedItem((byte)i);
                if( equipped != null )
                    id = equipped.Model;
                bw.Write(id);
            }

            bw.Write((uint)0);
            bw.Write((uint)0);
            bw.Write((uint)0);
            bw.Write((uint)0);
            for( int i = 0; i < 20; i++ )
                bw.Write((ushort)0);
            bw.Write((ushort)0);
            bw.Write((uint)0);
            bw.Write((byte)0);
            Utils.WriteByteString(bw, "", 100);
        }
示例#2
0
 void Attack_Handler(PacketHeader header, BinaryReader br)
 {
     OnAttack(this, AttackTargetRequest.Read(header, br));
 }
示例#3
0
 public static MoveItemRequest Read(PacketHeader header, BinaryReader br)
 {
     MoveItemRequest mir = new MoveItemRequest();
     mir.ItemID = br.ReadUInt32();
     mir.OtherID = br.ReadUInt32();
     mir.Slot = br.ReadByte();
     return mir;
 }
示例#4
0
        public override void Write(uint sequence, BinaryWriter bw)
        {
            PacketHeader header = new PacketHeader();
            header.Opcode = 0;
            header.PacketLength = (ushort)(62);
            header.PacketSequenceNumber = sequence;
            header.Write(bw);

            Utils.WriteByteString(bw, Unknown, 31);
            Utils.WriteByteString(bw, "test", 31);
        }
示例#5
0
 void SelectCharacter_Handler(PacketHeader header, BinaryReader br)
 {
     OnSelectCharacter(this, CharacterNameClass.Read(header, br));
 }
示例#6
0
 void Toolbar_Item_Set_Handler(PacketHeader header, BinaryReader br)
 {
     OnToolbarItemSet(this, ToolbarItemSetRequest.Read(header, br));
 }
示例#7
0
 void NextNPCDialogButton_Handler(PacketHeader header, BinaryReader br)
 {
     OnNPCDialogNextButton(this, null);
 }
示例#8
0
 void LoadSelectedCharacter_Handler(PacketHeader header, BinaryReader br)
 {
     OnLoadSelectedCharacter(this, null);
 }
示例#9
0
 void GMCommand_Handler(PacketHeader header, BinaryReader br)
 {
     OnGMCommand(this, GMCommandPacket.Read(header, br));
 }
示例#10
0
 void UpdatePosition_Handler(PacketHeader header, BinaryReader br)
 {
     OnUpdatePosition(this, CharacterPositionClass.Read(header, br));
 }
示例#11
0
 void MoveTo_Handler(PacketHeader header, BinaryReader br)
 {
     OnMoveTo(this, CharacterPositionClass.Read(header, br));
 }
示例#12
0
 void PlayerEnterMap_Handler(PacketHeader header, BinaryReader br)
 {
     OnPlayerEnterMap(this, null);
 }
示例#13
0
 void CloseConnection_Handler(PacketHeader header, BinaryReader br)
 {
     Disconnect();
 }
示例#14
0
 void LoadSelectedCharacter_Handler(PacketHeader header, BinaryReader br)
 {
     OnLoadSelectedCharacter(this, null);
 }
示例#15
0
 void CloseConnection_Handler(PacketHeader header, BinaryReader br)
 {
     Disconnect();
 }
示例#16
0
 void DumpPacketData(PacketHeader header, BinaryReader br)
 {
     byte[] data = br.ReadBytes((int)(br.BaseStream.Length - br.BaseStream.Position));
     string output = Utils.PrintBinaryData(data);
     LogInterface.Log(output, LogInterface.LogMessageType.Debug, true);
 }
示例#17
0
        void LoginRequest_Handler(PacketHeader header, BinaryReader br)
        {
            LoginRequestPacket lrp = LoginRequestPacket.Read(header, br);

            OnLoginRequest(this, lrp);
        }
示例#18
0
 void MoveItem_Handler(PacketHeader header, BinaryReader br)
 {
     OnMoveItem(this, MoveItemRequest.Read(header, br));
 }
示例#19
0
 void CharacterListRequest_Handler(PacketHeader header, BinaryReader br)
 {
     OnCharacterListRequest(this, CharacterListRequestPacket.Read(header, br));
 }
示例#20
0
 void SelectCharacter_Handler(PacketHeader header, BinaryReader br)
 {
     OnSelectCharacter(this, CharacterNameClass.Read(header, br));
 }
示例#21
0
 void NextNPCDialogButton_Handler(PacketHeader header, BinaryReader br)
 {
     OnNPCDialogNextButton(this, null);
 }
示例#22
0
 void UpdatePosition_Handler(PacketHeader header, BinaryReader br)
 {
     OnUpdatePosition(this, CharacterPositionClass.Read(header, br));
 }
示例#23
0
 void UseItem_Handler(PacketHeader header, BinaryReader br)
 {
     OnUseItem(this, br.ReadUInt32());
 }
示例#24
0
        public static LoginRequestPacket Read(PacketHeader header, BinaryReader br)
        {
            LoginRequestPacket lrp = new LoginRequestPacket();
            lrp.Header = header;
            lrp.UserName = Utils.ReadByteString(br, 65);
            lrp.Password = Utils.ReadByteString(br, 65);

            return lrp;
        }
示例#25
0
 void UnEquipItem_Handler(PacketHeader header, BinaryReader br)
 {
     OnUnEquipItem(this, EquipItemRequest.Read(header, br));
 }
示例#26
0
        public override void Write(uint sequence, BinaryWriter bw)
        {
            PacketHeader header = new PacketHeader();
            header.Opcode = 0x15;
            header.PacketSequenceNumber = sequence;
            header.PacketLength = _ci.DataSize;
            header.Write(bw);

            _ci.WritePacket(bw);
        }
示例#27
0
 void MoveItem_Handler(PacketHeader header, BinaryReader br)
 {
     OnMoveItem(this, MoveItemRequest.Read(header, br));
 }
示例#28
0
        public override void Write(uint sequence, BinaryWriter bw)
        {
            PacketHeader header = new PacketHeader();
            header.Opcode = 0x0454;
            header.PacketSequenceNumber = sequence;
            header.PacketLength = 11;
            header.Write(bw);

            bw.Write(_id);
            bw.Write(_other);
            bw.Write(_slot);
            bw.Write((byte)1);  // Unknown
            bw.Write((byte)(_success ? 1 : 0));
        }
示例#29
0
 void Toolbar_Item_Set_Handler(PacketHeader header, BinaryReader br)
 {
     OnToolbarItemSet(this, ToolbarItemSetRequest.Read(header, br));
 }
示例#30
0
 void CharacterListRequest_Handler(PacketHeader header, BinaryReader br)
 {
     OnCharacterListRequest(this, CharacterListRequestPacket.Read(header, br));
 }
示例#31
0
 void Toolbar_Item_Clear_Handler(PacketHeader header, BinaryReader br)
 {
     OnToolbarItemClear(this, br.ReadByte());
 }
示例#32
0
 void CreateCharacter_Handler(PacketHeader header, BinaryReader br)
 {
     OnCreateCharacter(this, CreateCharacterPacket.Read(header, br));
 }
示例#33
0
 void Attack_Handler(PacketHeader header, BinaryReader br)
 {
     OnAttack(this, AttackTargetRequest.Read(header, br));
 }
示例#34
0
 void GMCommand_Handler(PacketHeader header, BinaryReader br)
 {
     OnGMCommand(this, GMCommandPacket.Read(header, br));
 }
示例#35
0
 public static GMCommandPacket Read(PacketHeader header, BinaryReader br)
 {
     GMCommandPacket pkt = new GMCommandPacket();
     pkt.Command = br.ReadUInt32();
     pkt.Param = br.ReadInt32();
     pkt.X = br.ReadInt32();
     pkt.Y = br.ReadInt32();
     pkt.Param2 = br.ReadInt32();
     pkt.Character = Utils.ReadByteString(br, 0x1F);
     return pkt;
 }
示例#36
0
 void LoginRequest_Handler(PacketHeader header, BinaryReader br)
 {
     LoginRequestPacket lrp = LoginRequestPacket.Read(header, br);
     OnLoginRequest(this, lrp);
 }
示例#37
0
        public override void Write(uint sequence, BinaryWriter bw)
        {
            PacketHeader header = new PacketHeader();
            header.Opcode = 0x0403;
            header.PacketSequenceNumber = sequence;
            header.PacketLength = 9;
            header.Write(bw);

            bw.Write(_gold);
            bw.Write((byte)1);
            bw.Write(_victim);
        }
示例#38
0
 void MoveTo_Handler(PacketHeader header, BinaryReader br)
 {
     OnMoveTo(this, CharacterPositionClass.Read(header, br));
 }
示例#39
0
        public override void Write(uint sequence, BinaryWriter bw)
        {
            PacketHeader header = new PacketHeader();
            header.Opcode = 0xFF;
            header.PacketSequenceNumber = sequence;
            header.PacketLength = 4;
            header.Write(bw);

            bw.Write(_hp);
        }
示例#40
0
 void PlayerEnterMap_Handler(PacketHeader header, BinaryReader br)
 {
     OnPlayerEnterMap(this, null);
 }
示例#41
0
        public override void Write(uint sequence, BinaryWriter bw)
        {
            PacketHeader header = new PacketHeader();
            header.Opcode = 0x0402;
            header.PacketSequenceNumber = sequence;
            header.PacketLength = 22;
            header.Write(bw);

            bw.Write((byte)1);              // 0xE - Error Byte
            _item.Write(bw);
            bw.Write((byte)0);              // Unused spacer byte

            // 0x20 - 112 bytes of some data, starts with npc id?, maybe npc data?
            bw.Write(_monsterID);
            //Utils.WriteZeros(bw, 108);
        }
示例#42
0
 void Toolbar_Item_Clear_Handler(PacketHeader header, BinaryReader br)
 {
     OnToolbarItemClear(this, br.ReadByte());
 }
示例#43
0
        public override void Write(uint sequence, BinaryWriter bw)
        {
            PacketHeader header = new PacketHeader();
            header.Opcode = 0x0321;
            header.PacketSequenceNumber = sequence;
            header.PacketLength = 54;
            header.Write(bw);

            bw.Write(_ci.Level);
            bw.Write(_ci.MaxHP);
            bw.Write(_ci.MaxSP);
            bw.Write(_ci.MaxMP);
            bw.Write(_ci.Power);
            bw.Write(_ci.Vitality);
            bw.Write(_ci.Sympathy);
            bw.Write(_ci.Intelligence);
            bw.Write(_ci.Stamina);
            bw.Write(_ci.Dexterity);
            bw.Write(_ci.AbilityPoints);
            bw.Write(_ci.AvailableSkillPoints);
            bw.Write(_ci.TotalSkillPoints);
            _ci.WriteAbilityBlock(bw);
            bw.Write(_ci.Exp);
        }
示例#44
0
 void UnEquipItem_Handler(PacketHeader header, BinaryReader br)
 {
     OnUnEquipItem(this, EquipItemRequest.Read(header, br));
 }
示例#45
0
        public override void Write(uint sequence, BinaryWriter bw)
        {
            PacketHeader header = new PacketHeader();
            header.Opcode = 0x7FD9;
            header.PacketLength = (ushort)(404);
            header.PacketSequenceNumber = sequence;
            header.Write(bw);

            int error = (ErrorCode == ErrorCodes.AccountDoesntExist) ? 2 : 3;
            bw.Write(error);
            Utils.WriteZeros(bw, 200);
            Utils.WriteByteString(bw, AccountURL, 200);
        }
示例#46
0
 void UseItem_Handler(PacketHeader header, BinaryReader br)
 {
     OnUseItem(this, br.ReadUInt32());
 }
示例#47
0
 void CreateCharacter_Handler(PacketHeader header, BinaryReader br)
 {
     OnCreateCharacter(this, CreateCharacterPacket.Read(header, br));
 }