jlnunez89 / fibula-mmo

An open source server written in C# for the other-leg-bone-name game (which must not be named).
MIT License
28 stars 7 forks source link

Failed event condition LocationsMatchEventCondition #57

Closed SeeingBlue closed 4 years ago

SeeingBlue commented 4 years ago

Caught this error in the console. Not sure how it was produced but I was moving pieces of meat around in my backpack.

[23:43:19] [Debug] OpenTibia.Server.MovementEvents.MapToMapMovementEvent: Failed event condition LocationsMatchEventCondition.

jlnunez89 commented 4 years ago

TL; DR:

This is normal and expected for a burst of requests.

Long explanation:

This happens when: 1) The client sends a request to move a thing in the map. 1) Such requests are then scheduled through the internal scheduler. 1) The scheduler acts as a priority queue with a trigger-by-time, effectively calling all events in a deterministic order. 1) Such raised events are processed by a single thread in the game loop. 1) Back to the point- this type of event (MapToMapMovementEvent) means an item is moved from the map to the map (fromTile => toTile), and the particular condition LocationsMatchEventCondition fails when the thing.location no longer matches the fromTile.Location, meaning the request sent by the client is no longer valid at the time of the event evaluation (i.e. your client sent a request but by the time the request goes into execution the target thing is no longer there).

Closing this as By-Design