Sure I'll tell you how to set it up, though don't blame me if my vocab is a slight bit off since I'm at work and don't have the Maker infront of me lol.
Essentially you're going to need to use 3 Variables.
-Now set up a common event in your database, name is something like "Warp Item".
-Create a new item that you want to have that will warp you. Make sure you have its use set to Menu Only. Link the usage of that item with the common event we just created.
-Assuming you have the entrance of your dungeon already mapped, open the event that you have set to teleport the player into the dungeon. After it is openned, add 3 variables at the very beginning.
::Variable001[PlayerX] == Player X
::Variable002[PlayerY] == Player Y
::Variable003[MapID] == Current MapID
-After you add those 3 variables to your teleport event, re-open up that common event that we created just a minute ago.
-In the common event, set up your event commands like so:
::Conditional:IF: Variable001[MapID] == 0
::>Text: You cannot use this item here.
::>>ELSE: Teleport (Variable001[PlayerX], Variable002[PlayerY], Variable003[MapID])
::>>Variable003[MapID] == 0
-Ok, that SHOULD be all you need. It's actually pretty simple.
Here I'll explain what's happening, line-by-line in the common event and normal event.
-First I told you to add those 3 variables to your teleport event (The one that would take you into the dungeon). This is so you "SET" the position for where your character will go to when we made the teleport event in the common event. It's like mapping X and Y coordinates on a graph. After you set those, you have to set what map it's supposed to go to, which is what the [MapID] is for.
-Next, in the common event, we start out with a Conditional Branch. (The whole common event should be in a conditional branch.) The first thing that happens is it checks whether or not our MapID variable is equal to zero. IF IT IS, then if you use the item you'll get a message telling you that you haven't set the location for your warp. So you're not in a dungeon. If the MapID IS NOT equal to zero, meaning that you've set it to something, then your character will teleport to the current settings of the X and Y variables and go to MapID. Now, if your player DOES teleport, right after the teleport, the MapID will be RESET back to zero. This is insurance so that after a player warps out of the dungeon they can't just use it again. You see, now that you successfully teleported out of the dungeon and reset it to 0, the item will display that you cannot use it because the item is set to 0. The only way to use the item again is if you go back into the dungeon (by walking onto that teleport event you created at the very beginning of all this.)
I don't know if you knew that you could set teleport events with variables, but you can. So when you make your teleport event in the common event, check ON "teleport using variables" and set the X to the PlayerX variable, Y to the PlayerY variable and MapID to the MapID Variable.
ALSO: If you want to use this on multiple dungeons (which I'm sure you'd want to) then make sure you Copy/Paste those first 3 variable from your dungeon entrance event to all your other dungeon entrance events. Each time your player steps on that event, the variables will automatically be changed to fit that current position. It's really flexible like that.
It's as simple as that.