public override void Parse(GameBitBuffer buffer) { ItemID = buffer.ReadUInt(32); InventoryLocation = new InventoryLocationMessageData(); InventoryLocation.Parse(buffer); Field2 = buffer.ReadInt(32); }
public override void Parse(GameBitBuffer buffer) { ActorID = buffer.ReadUInt(32); ActorSNOId = buffer.ReadInt(32); Field2 = buffer.ReadInt(6); Field3 = buffer.ReadInt(2) + (-1); if (buffer.ReadBool()) { WorldLocation = new WorldLocationMessageData(); WorldLocation.Parse(buffer); } if (buffer.ReadBool()) { InventoryLocation = new InventoryLocationMessageData(); InventoryLocation.Parse(buffer); } GBHandle = new GBHandle(); GBHandle.Parse(buffer); Field7 = buffer.ReadInt(32); NameSNOId = buffer.ReadInt(32); Quality = buffer.ReadInt(4) + (-1); Field10 = (byte)buffer.ReadInt(8); if (buffer.ReadBool()) { Field11 = buffer.ReadInt(32); } if (buffer.ReadBool()) { MarkerSetSNO = buffer.ReadInt(32); } if (buffer.ReadBool()) { MarkerSetIndex = buffer.ReadInt(32); } }
public override void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = new InventoryLocationMessageData(); Field1.Parse(buffer); Field2 = buffer.ReadInt(32); }
public override void Parse(GameBitBuffer buffer) { ActorID = buffer.ReadUInt(32); ActorSNO = buffer.ReadInt(32); Field2 = buffer.ReadInt(5); Field3 = buffer.ReadInt(2) + (-1); if (buffer.ReadBool()) { WorldLocation = new WorldLocationMessageData(); WorldLocation.Parse(buffer); } if (buffer.ReadBool()) { InventoryLocation = new InventoryLocationMessageData(); InventoryLocation.Parse(buffer); } GBHandle = new GBHandle(); GBHandle.Parse(buffer); Field7 = buffer.ReadInt(32); Field8 = buffer.ReadInt(32); Field9 = buffer.ReadInt(4) + (-1); Field10 = (byte)buffer.ReadInt(8); if (buffer.ReadBool()) { Field11 = buffer.ReadInt(32); } if (buffer.ReadBool()) { Field12 = buffer.ReadInt(32); } if (buffer.ReadBool()) { Field13 = buffer.ReadInt(32); } }
public override void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); Field2 = buffer.ReadInt(5); Field3 = buffer.ReadInt(2) + (-1); if (buffer.ReadBool()) { Field4 = new WorldLocationMessageData(); Field4.Parse(buffer); } if (buffer.ReadBool()) { Field5 = new InventoryLocationMessageData(); Field5.Parse(buffer); } Field6 = new GBHandle(); Field6.Parse(buffer); Field7 = buffer.ReadInt(32); Field8 = buffer.ReadInt(32); Field9 = buffer.ReadInt(4) + (-1); Field10 = (byte)buffer.ReadInt(8); if (buffer.ReadBool()) { Field11 = buffer.ReadInt(32); } if (buffer.ReadBool()) { Field12 = buffer.ReadInt(32); } if (buffer.ReadBool()) { Field13 = buffer.ReadInt(32); } }
public void RevealInInventory(Hero hero, int row, int column, int equipmentSlot) { InventoryLocationMessageData inventorylocation = new InventoryLocationMessageData() { Field0 = hero.Id, Field1 = equipmentSlot, Field2 = new IVector2D() { Field0 = row, Field1 = column, }, }; ACDEnterKnownMessage msg = new ACDEnterKnownMessage() { Id = 0x003B, Field0 = ItemId, Field1 = SnoId, Field2 = 0x0000001A, Field3 = 0x00000001, Field4 = null, Field5 = inventorylocation, Field6 = new GBHandle() { Field0 = 0x00000002, Field1 = Gbid, }, Field7 = -1, Field8 = -1, Field9 = 0x00000001, Field10 = 0x00, }; hero.InGameClient.SendMessage(msg); Reveal(hero); }
public bool ParseFrom(int worldId, string line) { var data = line.Split(' '); if (int.Parse(data[2]) == 0) return false; //skip inventory using items as their use is unknown this.WorldId = worldId; this.DynamicId = int.Parse(data[4]); this.SnoId = int.Parse(data[5]); this.Field2 = int.Parse(data[6]); this.Field3 = int.Parse(data[7]); if (int.Parse(data[2]) > 0) { this.Scale = float.Parse(data[8], System.Globalization.CultureInfo.InvariantCulture); this.RotationAmount = float.Parse(data[12], System.Globalization.CultureInfo.InvariantCulture); this.RotationAxis = new Vector3D() { X = float.Parse(data[9], System.Globalization.CultureInfo.InvariantCulture), Y = float.Parse(data[10], System.Globalization.CultureInfo.InvariantCulture), Z = float.Parse(data[11], System.Globalization.CultureInfo.InvariantCulture), }; this.Position = new Vector3D() { X = float.Parse(data[13], System.Globalization.CultureInfo.InvariantCulture), Y = float.Parse(data[14], System.Globalization.CultureInfo.InvariantCulture), Z = float.Parse(data[15], System.Globalization.CultureInfo.InvariantCulture), }; } // data[14] = world_id if (int.Parse(data[3]) > 0) { this.InventoryLocationData = new InventoryLocationMessageData() { Field0 = int.Parse(data[17]), Field1 = int.Parse(data[18]), Field2 = new IVector2D() { Field0 = int.Parse(data[19]), Field1 = int.Parse(data[20]), } }; } this.GBHandle = new GBHandle() { Field0 = int.Parse(data[21]), Field1 = int.Parse(data[22]), }; this.Field7 = int.Parse(data[23]); this.Field8 = int.Parse(data[24]); this.Field9 = int.Parse(data[25]); this.Field10 = byte.Parse(data[26]); return true; }
void AcceptMoveRequest(int ItemId, InvLoc inventoryLocation) { InventoryLocationMessageData inventoryLocationMessage = new InventoryLocationMessageData() { Field0 = inventoryLocation.Field0, // Inventory Owner Field1 = inventoryLocation.Field1, // EquipmentSlot Field2 = new IVector2D() { Field0 = inventoryLocation.Field2, // Row Field1 = inventoryLocation.Field3, // Column }, }; owner.InGameClient.SendMessage(new ACDInventoryPositionMessage() { Id = (int)Opcodes.ACDInventoryPositionMessage, Field0 = ItemId, Field1 = inventoryLocationMessage, Field2 = 1 // what does this do? // 0- source item not disappearing from inventory, 1 - Moving, any other possibilities? its an int32 }); owner.InGameClient.PacketId += 10 * 2; owner.InGameClient.SendMessage(new DWordDataMessage() { Id = 0x89, Field0 = owner.InGameClient.PacketId, }); owner.InGameClient.FlushOutgoingBuffer(); }