What appears to be happening when the player goes to switch rooms is rather than going to the new room location called up in code, the player appears in the new room with the values for the location of the warp object in the previous room!
So, if the warp_object in room A is located at x=150 and y=120, but the creation code in the warp is x=200 and y=250, the player will go to room B, but at location x=150 and y=120. I have tried erasing the warp object and re-doing the code, and even made a copy of one room to replace the original, but it still happens. If anyone has had this happen to them, or know what might be the cause of it, I'd like to know, because this is the only thing keeping my game from being finished off! Thanks in advance:)
Here's the code I use to change rooms:
Player Collision Event with the Warp Object:
if other.WarpActive=1//This is activated when you beat a boss
{
sound_play(WarpSound);
cc = instance_place(x,y,WarpAccessorObj);
if (cc != noone)
{
room_goto(cc.Level);
MitchObj.x = cc.X;//Player Object
MitchObj.y = cc.Y;
with MitchCameraObj//Just an object to move with player at a slight delay
{
MitchCameraObj.x = MitchObj.x;
MitchCameraObj.y = MitchObj.y;
}
instance_create(x,y,MitchCreateFaderObj);//Object to obscure everything during room transitions.
}
}
else
{exit;}Creation Code for WarpAccessorObj:
Level = LvlB1 X = 156 Y = 60
Here are a couple screenshots to show what I mean:
Leaving this room (I was trying out different values to see if there was any change. The bottom values are the ones I want):

Going to this room:
Edited by ScaryPotato, 14 August 2012 - 02:15 AM.











