Emudofus / BehaviorIsManaged

Program simulating behaviors
GNU General Public License v3.0
31 stars 31 forks source link

Exception in inventory #21

Closed FastFrench closed 11 years ago

FastFrench commented 11 years ago

With an old character, I've an exception while loading the inventory.

It doesn't happen with all characters.

[09:21:58] Bot.OnTick : System.Exception: Cannot dispatch InventoryContentMessage ---> System.AggregateException: Cannot retrieve BiM.Protocol.Data.Effect with these keys 209 ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary2.get_Item(TKey key) at BiM.Protocol.Tools.D2OReader.ReadObject[T](Int32 index, BigEndianReader reader) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Protocol\Tools\D2o\D2OReader.cs:line 365 at BiM.Protocol.Tools.D2OReader.ReadObject[T](Int32 index) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Protocol\Tools\D2o\D2OReader.cs:line 355 at BiM.Behaviors.Data.D2OSource.ReadObject[T](Object[] keys) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Data\D2OSource.cs:line 88 at BiM.Behaviors.Data.DataProvider.Get[T](Object[] keys) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Data\DataProvider.cs:line 63 --- End of inner exception stack trace --- at BiM.Behaviors.Data.DataProvider.Get[T](Object[] keys) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Data\DataProvider.cs:line 73 at BiM.Behaviors.Game.Effects.EffectBase..ctor(ObjectEffect effect) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Game\Effects\EffectBase.cs:line 98 at BiM.Behaviors.Game.Effects.EffectInteger..ctor(ObjectEffectInteger effect) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Game\Effects\EffectInteger.cs:line 50 at BiM.Behaviors.Game.Effects.EffectBase.CreateInstance(ObjectEffect effect) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Game\Effects\EffectBase.cs:line 258 at System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext() at System.Collections.ObjectModel.ObservableCollection1.CopyFrom(IEnumerable1 collection) at BiM.Core.Collections.ObservableCollectionMT1..ctor(IEnumerable1 collection) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Core\Collections\ObservableCollectionMT.cs:line 35 at BiM.Behaviors.Game.Items.Item..ctor(ObjectItem item) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Game\Items\Item.cs:line 39 at BiM.Behaviors.Game.Items.Inventory.b__13(ObjectItem entry) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Game\Items\Inventory.cs:line 301 at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext() at BiM.Behaviors.Game.Items.Inventory.Update(InventoryContentMessage msg) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Game\Items\Inventory.cs:line 301 at BiM.Behaviors.Handlers.Inventory.InventoryHandler.HandleInventoryContentMessage(Bot bot, InventoryContentMessage message) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Handlers\Inventory\InventoryHandler.cs:line 26 at (Object , Object , Message ) at BiM.MITM.Network.NetworkMessageDispatcher.InternalDispatch(NetworkMessage message, Object token) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\MITM\Network\NetworkMessageDispatcher.cs:line 108 at BiM.MITM.Network.NetworkMessageDispatcher.Dispatch(NetworkMessage message, Object token) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\MITM\Network\NetworkMessageDispatcher.cs:line 68 --- End of inner exception stack trace --- at BiM.MITM.Network.NetworkMessageDispatcher.Dispatch(NetworkMessage message, Object token) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\MITM\Network\NetworkMessageDispatcher.cs:line 88 at BiM.MITM.Network.NetworkMessageDispatcher.Dispatch(Message message, Object token) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\MITM\Network\NetworkMessageDispatcher.cs:line 55 at BiM.Core.Messages.MessageDispatcher.ProcessDispatching(Object processor) in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Core\Messages\MessageDispatcher.cs:line 490 at BiM.Behaviors.Bot.OnTick() in C:\Users\Admin\Desktop\BehaviourIsManaged\trunk\Behaviors\Bot.cs:line 173

Timorem commented 11 years ago

This exception occurs when he has an item with effects that don't exist (?) It occurs with candy boost, I did not look at this atm.

FastFrench commented 11 years ago

OK, fixed. Will push that when I've validated all my changes (always quite short on time). Now it just display "null" in the description of the effect, when you look at the item details.