Thank you. I figured out your label system early on. I tried to make a room in the indoor and made a door and added a new label. The player would touch the door in overworld and respawn back in the overworld. I didn't know what to do. the next thing i did was use the label of one of the already existing locations in "indoors" and altered the labels of one of the other pre existing indoors. this caused a strange confusion to occur and the tiles were crushed. I then decided perhaps it would be best to make a new room. I copied the room to ensire if there were any game code it would remain intact but upon doing so i destroyed the game. I deleted the room and then repawned in the ocean. I just checked the settings on the tiles and they are correct and also correct in the room. As you are correct the code must be sending me to the ocean of a room that doens't exist however, it has the same sound as the forrest so i think that's where its sending me. How can i fix? I may also try adding the tiles in want to the pre existing tile set provided to see if that works.
Viewing post in Yal's Monster Collector Engine comments
What I was thinking was, you'd enable DEBUG_MODE (line 5 of init_constants is "#macro DEBUG_MODE false", change it to "#macro DEBUG_MODE true") and then you'll get messages telling you what happens. E.g. if a door transition takes priority, the game will print "Came through a door, jump to LABEL" (so if you're not where you think you are, you can check that the label is correct) and it'll tell you "Player loaded! (room=NAME OF ROOM)" as well so you can tell where you ended up.
You could try adding additional show_debug_message's to e.g. print the player's position after loading, that should make it easier to find in the room editor:
show_debug_message(tsprintf("Player location: %, %",x,y))
As I said before, going through a door will place you at the door with the same name in the other room. So a drawback of this approach is that you can't link two doors in the same room together (because when looping over the door objects it'll find whichever of the two doors with that label is first in the instance list and always pick that). If you want to warp between places in the same room I'd probably create two new objects, "obj_teleport_entrance" and "obj_teleport_exit", which has a label the same way the doors have. Then in player's collision with teleport_entrance, run this code:
var target_label = other.label; with(obj_teleport_exit){ if(label == target_label){ other.x = x; other.y = y; break; } }
Now each teleport pair would use one entrance and one exit. If you want a teleport to be in both directions you'd have entrance A and exit B on one side and entrance B and exit A on the other side; make sure to place the exit some distance away from the entrance (otherwise the player gets stuck in an infinite loop of warping between them).
Is this from loading a previously saved file or when creating a new file?
mev_title_continue_fileselected has some fallback code if the load fails which warps you to a specific spot (indoors area with coordinates set to the center of the lab), cc_intro_startgame is what sets your initial position from a new savefile - this is the same coordinates as the fallback when loading though.
To capture all room transitions in the debug messages you could open room_goto_fade and room_goto_fade_dontdestroy and add a line at the start (before the room is changed), this should point out if there's any room transitions happening so fast you don't get a chance to react:
show_debug_message(tsprintf("Room change % --> %",room_get_name(room),room_get_name(argument0)))
Did you add the debug message that prints the player's position after loading I suggested last time?