NL0bP / AAEmu

A server software for ArcheAge written in .Net Core
Other
16 stars 8 forks source link

[BUG] <Баг с экипировкой (клиент закрывается с ошибкой)> #75

Closed Black-Judge closed 3 months ago

Black-Judge commented 3 months ago

I confirm that:

Code branch that is affected by this issue

AAEmu-client_version-3.0_client(2017-03-15)+

Bug description

Проявился баг с экипировкой в последней ревизии emu 3.0. При попытке одеть на персонажа экипировку (предметы одежды) с уровнем улучшения отличным от нуля, клиент закрывается с ошибкой. Предметы одежды для примера (создать нужно все и одевать по очереди) /item add self 31522 1 11 эрнардский кожаный пояс охотника /item add self 31520 1 11 эрнардские кожаные сапоги охотника /item add self 31518 1 11 эрнардские кожаные поножи охотника /item add self 31519 1 11 эрнардские кожаные перчатки охотника /item add self 31521 1 11 эрнардские кожаные наручи охотника /item add self 31516 1 11 эрнардская фибула охотника /item add self 31517 1 11 эрнардская кожаная куртка охотника

Сообщения в логе:

При попытке одеть на персонажа одежду с уровнем улучшения 11

10:00:48 [ERROR] PacketMarshaler - GamePacket: C->S type 124 .C2G.CSSwapItemsPacket 10:00:48 [FATAL] PacketMarshaler - System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at AAEmu.Game.Models.Game.Char.Character.ApplyArmorGradeBuff(Item itemAdded, Item itemRemoved) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/CharacterEquipment.cs:line 242 at AAEmu.Game.Models.Game.Char.Character.UpdateGearBonuses(Item itemAdded, Item itemRemoved) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/CharacterEquipment.cs:line 36 at AAEmu.Game.Models.Game.Items.Containers.EquipmentContainer.OnEnterContainer(Item item, ItemContainer lastContainer) in /server/AAEmuDev/AAEmu.Game/Models/Game/Items/Containers/EquipmentContainer.cs:line 205 at AAEmu.Game.Models.Game.Char.Inventory.SplitOrMoveItemEx(ItemTaskType taskType, ItemContainer sourceContainer, ItemContainer targetContainer, UInt64 fromItemId, SlotType fromType, Byte fromSlot, UInt64 toItemId, SlotType toType, Byte toSlot, Int32 count) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/Inventory.cs:line 667 at AAEmu.Game.Models.Game.Char.Inventory.SplitOrMoveItem(ItemTaskType taskType, UInt64 fromItemId, SlotType fromType, Byte fromSlot, UInt64 toItemId, SlotType toType, Byte toSlot, Int32 count) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/Inventory.cs:line 296 at AAEmu.Game.Core.Packets.C2G.CSSwapItemsPacket.Read(PacketStream stream) in /server/AAEmuDev/AAEmu.Game/Core/Packets/C2G/CSSwapItemsPacket.cs:line 24 at AAEmu.Game.Core.Network.Game.GamePacket.Decode(PacketStream ps) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GamePacket.cs:line 149 at AAEmu.Game.Core.Network.Game.GameProtocolHandler.OnReceive(GameConnection connection, Byte[] buf, Int32 bytes) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GameProtocolHandler.cs:line 171 10:00:48 [ERROR] GameProtocolHandler - System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at AAEmu.Game.Models.Game.Char.Character.ApplyArmorGradeBuff(Item itemAdded, Item itemRemoved) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/CharacterEquipment.cs:line 242 at AAEmu.Game.Models.Game.Char.Character.UpdateGearBonuses(Item itemAdded, Item itemRemoved) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/CharacterEquipment.cs:line 36 at AAEmu.Game.Models.Game.Items.Containers.EquipmentContainer.OnEnterContainer(Item item, ItemContainer lastContainer) in /server/AAEmuDev/AAEmu.Game/Models/Game/Items/Containers/EquipmentContainer.cs:line 205 at AAEmu.Game.Models.Game.Char.Inventory.SplitOrMoveItemEx(ItemTaskType taskType, ItemContainer sourceContainer, ItemContainer targetContainer, UInt64 fromItemId, SlotType fromType, Byte fromSlot, UInt64 toItemId, SlotType toType, Byte toSlot, Int32 count) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/Inventory.cs:line 667 at AAEmu.Game.Models.Game.Char.Inventory.SplitOrMoveItem(ItemTaskType taskType, UInt64 fromItemId, SlotType fromType, Byte fromSlot, UInt64 toItemId, SlotType toType, Byte toSlot, Int32 count) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/Inventory.cs:line 296 at AAEmu.Game.Core.Packets.C2G.CSSwapItemsPacket.Read(PacketStream stream) in /server/AAEmuDev/AAEmu.Game/Core/Packets/C2G/CSSwapItemsPacket.cs:line 24 at AAEmu.Game.Core.Network.Game.GamePacket.Decode(PacketStream ps) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GamePacket.cs:line 149 at AAEmu.Game.Core.Network.Game.GameProtocolHandler.OnReceive(GameConnection connection, Byte[] buf, Int32 bytes) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GameProtocolHandler.cs:line 171 10:03:42 [ERROR] PacketMarshaler - GamePacket: C->S type 097 .C2G.CSNotifyInGamePacket 10:03:42 [FATAL] PacketMarshaler - System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at AAEmu.Game.Models.Game.Char.Character.ApplyArmorGradeBuff(Item itemAdded, Item itemRemoved) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/CharacterEquipment.cs:line 242 at AAEmu.Game.Models.Game.Char.Character.UpdateGearBonuses(Item itemAdded, Item itemRemoved) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/CharacterEquipment.cs:line 36 at AAEmu.Game.Core.Packets.C2G.CSNotifyInGamePacket.Execute() in /server/AAEmuDev/AAEmu.Game/Core/Packets/C2G/CSNotifyInGamePacket.cs:line 37 at AAEmu.Game.Core.Network.Game.GamePacket.Decode(PacketStream ps) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GamePacket.cs:line 177 at AAEmu.Game.Core.Network.Game.GameProtocolHandler.OnReceive(GameConnection connection, Byte[] buf, Int32 bytes) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GameProtocolHandler.cs:line 171 10:03:42 [ERROR] GameProtocolHandler - System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at AAEmu.Game.Models.Game.Char.Character.ApplyArmorGradeBuff(Item itemAdded, Item itemRemoved) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/CharacterEquipment.cs:line 242 at AAEmu.Game.Models.Game.Char.Character.UpdateGearBonuses(Item itemAdded, Item itemRemoved) in /server/AAEmuDev/AAEmu.Game/Models/Game/Char/CharacterEquipment.cs:line 36 at AAEmu.Game.Core.Packets.C2G.CSNotifyInGamePacket.Execute() in /server/AAEmuDev/AAEmu.Game/Core/Packets/C2G/CSNotifyInGamePacket.cs:line 37 at AAEmu.Game.Core.Network.Game.GamePacket.Decode(PacketStream ps) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GamePacket.cs:line 177 at AAEmu.Game.Core.Network.Game.GameProtocolHandler.OnReceive(GameConnection connection, Byte[] buf, Int32 bytes) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GameProtocolHandler.cs:line 171

Steps to reproduce

Зайти в игру персонажем, создать предметы одежды с уровнем улучшения например 11 и попытаться одеть на персонажа.

Expected behavior

Screenshots

https://youtu.be/6uOd78av_C4

Any additional context for this bug