Trigger(OBJECT_TOUCH_TRIGGER, dungeon name, function name)
The function that the trigger will launch will receive the hero's name as an argument.
The dungeon must be disabled using SetObjectEnabled (or something similar, but check the manual), and then enabled again at the appropriate time using the same function.
You will also need MakeHeroInteractWithObject so that the hero interacts with the dungeon after it is enabled. However, you can simply place a new hero on the map using a script, as you have done.