ID:162250
 
Applicable Configuration:
BYOND Version: 4.0
Operating System: Vista



Numbered Steps to Reproduce Problem: In the interface file, when you have a key set to repeat, and to call something when it is released, if you hold the key for along time, sometimes the key release is not picked up.
I've tested this thoroughly and the outcome is the same.


Expected Results: To call the release key's macro.

Actual Results: Not calling the release key's macro.

Does the problem occur:
Every time? Or how often? Sometimes.

When does the problem NOT occur? When the key is only hold for a short amount of time.


This is not a bug. It is a documented limitation.

BYOND has a command queue that, for obvious reasons, is only allowed to fill up so far. A repeating key fills that queue with its command, which is how a lot of games expect movement commands to work. If the queue is full, the key release can't possibly be picked up.

Solution: Don't use key release macros and repeating key-down macros together. If you want movement to continue while the key is held down, then you need to set a var and reset it when the release event comes in.

Lummox JR
In response to Lummox JR
Lummox JR wrote:
Solution: Don't use key release macros and repeating key-down macros together. If you want movement to continue while the key is held down, then you need to set a var and reset it when the release event comes in.

If only that actually worked.