This isn't as much a Pokémon Essentials question as it is an RPG Maker question, and it's relatively hard for us to help you out without any screenshot or step-by-step explanation of your events.
i walked inside the door and appeared inside the lab. I could turn, but i couldn't walk anywhere except backwards to leave the lab.
This indicates that the tile you transferred the player to isn't actually passable (like a wall). Open the Tileset Editor and make sure you've properly set up your tile to allow four directional movement.
Note how the floor tiles are marked as "O", meaning the player can walk over them.
The reason you
were however still able to exit is because the touch event that would transfer you back outside was also placed on a non-passable tile.
It's a little confusing at first, but try to remember this when it comes to touch events:
- When a touch event is placed on a passable tile, it'll active when you WALK OVER it.
- When a touch event is placed on a non-passable tile, it'll active when you BUMP INTO it.
- When a touch event has the "Through" checkbox ticked, it'll always only activate when you WALK OVER it.
In your case, the touch event was likely placed on a non-passable tile so you didn't literally have to walk over it in order to activate it.
The floormat tile in vanilla Pokémon Essentials works the same way, which you may've copied over. The touch event is placed on the "X" part, meaning you don't actually have to walk OVER it to activate it.
When I would leave the lab, i would get trapped on the door tile.
It's possible you only partially copied over a door event from a Pokémon Essentials example map, or tried to make your own but it isn't done yet.
In most RPG games, the player is actually not transferred to the door event, but 1 tile below it to make it only
seem like the player just exited the building.
Pokémon games however have this nice effect of letting you actually visually
see the player exit the building through the door.
Obviously however, this isn't done automatically. Your door currently already has an event page to transfer the player from the outside to the inside of the building. But it needs a second page that runs when the map loads:
Is the player currently on top of this door event?
If so, play an animation that makes it seem like the player is exiting this building.
Every door event in the Pokémon Essentials example maps has this second event page too.
Note that this event page is set to 'Autorun'.
As soon as the map loads, it'll check to see whether the player is currently on top of this event.
If so, it'll play a little animation that involves the door opening, the player walking out and then the door closing behind him/her.
Gets a little complicated from here:
Unlike parallel processes, an autorun event will force the rest of the game to wait until it's completed. Similar to parallel processes, they automatically loop.
Both of these qualities mean you have to include some sort of way to break through the loop otherwise they'll just keep pausing the game.
For this reason, the door event has a condition: Only run if their TEMPORARY switch "A" is turned off. (Temporary switches are automatically turned off when the map is refreshed/exited/etc.)
At the end of the event page, their temporary switch "A" is turned ON.
What happens is this:
- The map loads.
- EVERY door event automatically runs their second event page where they check whether the player is on top of them.
- Only the door that the player is on top of runs a little animation to make the player walk out of the door.
- EVERY door event turns their temporary switch "A" on to prevent step 2 from looping endlessly.
A more common solution to letting autorun events only run ONCE per map is simply erasing them after they're done instead of using a temporary switch.
Obviously this wouldn't work for doors since you don't want them to disappear; they still need to be visible in the overworld after the autorun event.
Try to mess a little with the default Pokémon Essentials example maps or view a few RPG Maker event tutorials to see how everything works.
I'm worried you might be copying too many events from the Essentials example maps without fully understanding how they work.