S
Sugor
Guest
Scr_SaveGame
And the scr_load_game()
The error is that its says that the room_goto is suppose to be a number...
Code:
///scr_savegame()
// Make sure the player exist
if (!instance_exists(obj_player_stats)) exit;
// Create a save data structure
var save_data = ds_map_create();
with (obj_player_stats){
save_data[? "room"] = prev_room;
save_data[? "x"] = player_xstart;
save_data[? "y"] = player_ystart;
save_data[? "hp"] = hp;
save_data[? "maxhp"] = maxhp;
save_data[? "stamina"] = stamina;
save_data[? "maxstamina"] = maxstamina;
save_data[? "expr"] = expr;
save_data[? "maxepr"] = maxexpr;
save_data[? "level"] = level;
save_data[? "attack"] = attack;
}
var save_string = json_encode(save_data);
ds_map_destroy(save_data);
var file = file_text_open_write(working_directory + "mysavegame.txt");
file_text_write_string(file, save_string);
file_text_close(file);
show_message("SAVED");
Code:
///scr_load_game
var file = file_text_open_read(working_directory + "mysavegame.txt");
var save_string = file_text_read_string(file);
file_text_close(file);
save_string = base64_decode(save_string);
var save_data = json_decode(save_string);
var prev_room = save_data[? "room"];
if (room != prev_room) {
room_goto(prev_room);
}
with (obj_player_stats) {
player_xstart = save_data[? "x"];
player_ystart = save_data[? "y"];
if (instance_exists(obj_player)) {
obj_player.x = player_xstart;
obj_player.y = player_ystart;
obj_player.phy_position_x = player_xstart;
obj_player.phy_position_y = player_ystart;
}else{
instance_create(player_xstart, player_ystart, obj_player);
}
hp = save_data[? "hp"];
maxhp = save_data[? "maxhp"];
stamina = save_data[? "stamina"];
maxstamina = save_data[? "maxstamina"];
expr = save_data[? "expr"];
maxexpr = save_data[? "maxexpr"];
level = save_data[? "level"];
attack = save_data[? "attack"];
}
ds_map_destroy(save_data);
The error is that its says that the room_goto is suppose to be a number...