psforever / PSF-LoginServer

Emulated PlanetSide 1 world and login server by the PSForever project.
https://psforever.net
GNU General Public License v3.0
75 stars 46 forks source link

Vehicle terminal doesn't allow for more purchases after player is removed from queue #1155

Closed Dethdeath closed 8 months ago

Dethdeath commented 9 months ago

When a player gets removed from the vehicle queue (when they move too far away from it for example), they cannot use that vehicle terminal again to purchase another vehicle. Only dying and zoning appears to fix it.

Fate-JH commented 8 months ago

The culprit appears to be unresolved order fulfillment conditions. According to the log, it complains that the order hadn't yet been fulfilled so some other step in the order fulfillment process must eventually reset the flag. Checking the conditions for handling BuyVehicle transactions in SessionTerminalHandlers, the guard flag is never reset during the step where the spawn pad is contacted, which was probably also blocking a line of code that allowed one to update their order if it was caught before reaching the head of the queue.