For disambiguation for certain objects in relation to custom verbs, (a while back) I added a temporary disambiguation command.
As this command starts with "experimental_" it will be replaced with a better command in a later version, but this should theoretically dig you out of a hole at the moment. Please note that this command is "undocumented" and subject to change (as are all experimental_ attributes or commands). I won't remove it though without a better replacement (for example, there is no way to distinguish between people, animals and things right now).
It's not 100% guaranteed to work right now, but feel free to try it out. It should theoretically take into account any adjectives the player provides so that the shortlist is a shortlist with respect to the adjective. If there are two or more matches for the noun or adjective/noun for the subject that follows the verb, then a choices list will be provided, and the player can select one. I will probably improve this too in the future, so that the author can specify if the game can select any object if the noun/adjective is the same (e.g. treating 5 instances of coin interchangeably).
Usually better not to add a trailing : else {} at the bottom of this block, as Adventuron will naturally fall through to the natural "not here" message without one.
UPDATE: Documented this a bit better here.
: match "use key" { : mask { : experimental_disambiguate "carried"; // categories are carried, worn, unworn, beside, present } // Check against object id here "blue_key" : if (s1() == "blue_key") { // Do Blue key action } // Check against object id here "violet_key" : else_if (s1() == "violet_key") { // Do violet key action } // Continue for all keys }