Du brauchst dafür einen Conditional-Branch. Dein Event MUSS also anders gestartet werden. Action-Key, oder Autorun, oder sowas. Als erste Zeile packst du dann in das Event den Befehl:

Control Variables: [VariableXY] = [Dein-Schlüssel-Gegenstand] in Inventory

als nächstes kommt dann:

Conditional Branch: [VariableXY] == Menge des Schlüsselgegenstandes, die gesammelt werden soll
...
Else
...
Branch End


Dadurch erreichst du, das der komplette weisungsblock, der zwischen "Conditional Branch" und "Else" steht, nur dann abgearbeitet wird, wenn die Menge deiner Items im Inventar der Menge entspricht, die in der Conditional Branch als Bedingung festgelegt ist. Die VariableXY wird aber immer erst dann aktualisiert, wenn dieses Event aufgerufen wird.