pixeltroid
Member
So I have an opening menu that lets player start a new game or continue from the last room he was in. The games save and load system saves the status of items like dead bosses, opened doors etc. All good so far.
The problem is that after playing a few rooms, and I exit to the menu screen and select "start new game", I restart from level 1, but the game still remembers the saved items mentioned above.
How do I make it so that when I select "start new", the game forgets everything and starts afresh?
Here's my save game script:
Here's my load game script:
Here's my menu script from where I can access "start new game" or "continue"
Can someone tell me what I must do to start a new game afresh and make the program forget everything it has saved as per the load game script?
NOTE: This problem does not occur if I close the game window and reopen it and select "Start new game"
The problem is that after playing a few rooms, and I exit to the menu screen and select "start new game", I restart from level 1, but the game still remembers the saved items mentioned above.
How do I make it so that when I select "start new", the game forgets everything and starts afresh?
Here's my save game script:
Code:
with (argument0) {
ini_open("save.ini");
roomAlias = "T1" //default room
if (room=room_T1) roomAlias = "T1"
if (room=room_T2) roomAlias = "T2"
if (room=room1A) roomAlias = "1A" //and so on
ini_write_string("SaveFile1", "LoadedRoom",roomAlias);//save it as ini file
var player = instance_find(obj_player, 0);
ini_write_real("SaveFile1", "playerx", global.checkpointx);
ini_write_real("SaveFile1", "playery", global.checkpointy);
//bosses
ini_write_real("SaveFile1", "boss_killed1",global.boss_killed[1]);
ini_write_real("SaveFile1", "boss_killed2",global.boss_killed[2]);
//doors
ini_write_real("SaveFile1", "door_opened0",global.door_opened[0]);
ini_write_real("SaveFile1", "door_opened1",global.door_opened[1]);
//keys
ini_write_real("SaveFile1", "keys",global.keys);
ini_close();
}
Code:
if file_exists("save.ini")
{
ini_open("save.ini");
LoadedRoom=room_T1; //default room
roomAlias=ini_read_string("SaveFile1", "LoadedRoom", "T1"); //sorry i fix this code
if (roomAlias=="T1") LoadedRoom = room_T1
if (roomAlias=="T2") LoadedRoom = room_T2
if (roomAlias=="1A") LoadedRoom = room1A
instance_find(obj_player, 0);
playerx=ini_read_real("SaveFile1", "playerx", 10);
playery=ini_read_real("SaveFile1", "playery", 10);
//bosses
global.boss_killed[1] = ini_read_real("SaveFile1", "boss_killed1", 0);
global.boss_killed[2] = ini_read_real("SaveFile1", "boss_killed2", 0);
global.door_opened[0] = ini_read_real("SaveFile1", "door_opened0", 0);
global.door_opened[1] = ini_read_real("SaveFile1", "door_opened1", 0);
global.keys=ini_read_real("SaveFile1", "keys", 0);
ini_close();
instance_create(playerx, playery, obj_player);
room_goto(LoadedRoom);
}
else
{
//do nothing
}
Code:
switch(mpos)
{ case 0:
room_goto(room_start); // START NEW GAME
break;
}
case 1:
{
scr_loadgame(); //LOAD GAME AND CONTINUE
break;
}
case 2:
{
break;
}
case 3:
{
game_end(); //QUIT GAME
}
}
NOTE: This problem does not occur if I close the game window and reopen it and select "Start new game"
Last edited: