I'll show you all 3 ways...
Nessiah #1:
Allocate a switch to each item you want the player to collect.
On the item, when the player collects it and you increase their item count, turn the specific switch on.
On the door event, have a series of embedded conditions:
Condition: If switch1 is ON (switch 1 is turned on when you pick up item 1)
Condition: If switch2 is ON (switch 2 is turned on when you pick up item 2)
Condition: If switch3 is ON (switch 3 is turned on when you pick up item 3)
(more switches here)
Teleport to New Map
Exit event processing
End
End
End
Show Text: It feels like we're missing some items
There's a slight difference to the original suggestion, as I just now realised the message is part of an Else statement, and would only be shown if the player didn't have item 1 (if they had item 1 but not item 2 or 3, you wouldn't teleport, but you wouldn't get the message either).
Nessiah 2:
Easier - on each item to collect, just increase the player's count of that item. On the door event have the following:
Condition: If hero has item 1 in possession
Condition: If hero has item 2 in possession
Condition: If hero has item 3 in possession
(more conditions here)
Teleport to New Map
Exit event processing
End
End
End
Show Text: It feels like we're missing some items
and finally my variable suggestion:
On each item, when you increase the player's count of that item, also add 1 to a variable:
Change Variables [0001: Items Collected] + 1
And on the door event:
Condition: Variable [0001: Items Collected] = 3 (or however many items they need to pick up)
Teleport to new map
Else
Show Text: I feel we're missing something
End