The problem is that you can't do multiple conditions as easily as you can do one. For example, I assume that in your sample above, you had done something like:
if [player is carrying object] [object] key
Then
You can always go back and change the "player is carrying object" back to a generic "expression" and then set your more complex conditional.At least, I can in the desktop version. Are you using the desktop version or the online version? (Sorry if I missed that.) In fact, after I change the type back to "expression", it actually shows me what the resulting expression was for "player is carrying object key" as "Got(key)".
Also, you can AND, OR and NOT conditionals to your heart's content:
if [expression] (player.alive and not player.haskey) or player.isreallygood