Just to say that i've just figured out that ObjectCaps is not a reliable method to detect player pressing +use key.
If some players stay near to that player, ObjectCaps is triggered also for those players, which trigger false positives.
You could say that checking for pev_button could fix it, but if the 'near' player is also holding +use, then the function is sent 2 times instead of 1, and button check gonna be past.