| 1 |
function scr_savegamescr_savegamefunction scr_savegame()
{
if (file_exists("Save.sav"))
file_delete("Save.sav");
ini_open("Save.sav");
var SavedRoom = room_get_name(room);
ini_write_string("Save1", "room", SavedRoom);
ini_write_real("Save1", "pX", obj_pl.x);
ini_write_real("Save1", "pY", obj_pl.y);
ini_write_real("Save1", "dir", obj_pl.direction);
SavedRoom = room;
ini_write_real("Save1", "HP", global.current_hp_self);
ini_write_real("Save1", "MAXHP", global.max_hp_self);
ini_write_real("Save1", "PP", global.current_pp_self);
ini_write_real("Save1", "MAXPP", global.max_pp_self);
ini_write_real("Save1", "SP", global.current_sp_self);
ini_write_real("Save1", "MAXSP", global.max_sp_self);
ini_write_real("Save1", "RP", global.current_rp_self);
ini_write_real("Save1", "MAXRP", global.max_rp_self);
ini_write_real("Save1", "AT - Primary", global.player_attack);
ini_write_real("Save1", "AT - Secondary", global.player_weapon_modifier_attack);
ini_write_real("Save1", "DFP", global.player_defense);
ini_write_real("Save1", "DFS", global.player_armor_modifier_defense);
ini_write_real("Save1", "LV", global.player_level);
ini_write_real("Save1", "EXP", global.player_exp);
ini_write_real("Save1", "Gold", global.player_gold);
ini_write_string("Save1", "Armor", global.player_armor);
ini_write_string("Save1", "Weapon", global.player_weapon);
ini_write_string("Save1", "Ammo", global.player_weapon_modifier);
ini_write_string("Save1", "Accessory", global.player_armor_modifier);
ini_write_string("Save1", "rmName", global.saveroom);
ini_write_string("Save1", "playerSprite", global.player_sprites);
ini_write_real("Save1", "playerCanRun", global.player_can_run);
if (global.party_member == -4)
ini_write_string("Save1", "Follower", "noone");
else
ini_write_string("Save1", "Follower", object_get_name(global.party_member));
ini_write_real("Save1", "Satchel", global.player_has_satchel);
ini_write_real("Save1", "FTravel", global.player_can_travel);
scr_determine_playtime();
ini_write_real("Playtime", "Seconds", global.elapsed_seconds);
var ds_list_encounters = ds_list_write(global.encounter_list);
ini_write_string("Encounters", "0", ds_list_encounters);
var ds_list_steal = ds_list_write(global.steal_list);
ini_write_string("Steal", "0", ds_list_steal);
var ds_list_fasttravel = ds_list_write(global.fast_travel_list);
ini_write_string("FastTravel", "0", ds_list_fasttravel);
var inv1 = global.item_slot[1];
ini_write_string("Items", "00", global.item_slot[1]);
ini_write_string("Items", "01", global.item_slot[2]);
ini_write_string("Items", "02", global.item_slot[3]);
ini_write_string("Items", "03", global.item_slot[4]);
ini_write_string("Items", "04", global.item_slot[5]);
ini_write_string("Items", "05", global.item_slot[6]);
ini_write_string("Items", "06", global.item_slot[7]);
ini_write_string("Items", "07", global.item_slot[8]);
var ds_list_string = ds_list_write(global.box_slot_list);
ini_write_string("DBox", "0", ds_list_string);
ini_write_real("Misc", "01", global.tinypuzzle);
for (var i = 0; i < array_length_1d(global.ruins_flag); i++)
ini_write_real("RuinsFlags", string(i), global.ruins_flag[i]);
for (var i = 0; i < array_length_1d(global.flag); i++)
ini_write_real("Flags", string(i), global.flag[i]);
for (var i = 0; i < array_length_1d(global.snowdin_flag); i++)
ini_write_real("SnowdinFlags", string(i), global.snowdin_flag[i]);
for (var i = 0; i < array_length_1d(global.dunes_flag); i++)
ini_write_real("DunesFlags", string(i), global.dunes_flag[i]);
for (var i = 0; i < array_length_1d(global.dunes_flag_ext); i++)
ini_write_real("DunesFlagsExt", string(i), global.dunes_flag_ext[i]);
for (var i = 0; i < array_length_1d(global.sworks_flag); i++)
ini_write_real("SworksFlags", string(i), global.sworks_flag[i]);
ini_write_string("SworksFlags", "code", global.factory_code);
ds_list_string = ds_list_write(global.factory_code_2);
ini_write_string("SworksFlags", "code2", ds_list_string);
ini_write_string("SworksFlags", "code3", global.factory_code_3);
ini_write_real("SworksFlags", "RbCount", global.sworks_robot_count);
for (var i = 0; i < global.sworks_robot_count; i++)
{
ini_write_real("RbSprite", string(i), global.sworks_robot_sprite[i]);
ini_write_real("RbX", string(i), global.sworks_robot_x[i]);
ini_write_real("RbY", string(i), global.sworks_robot_y[i]);
ini_write_real("RbD", string(i), global.sworks_robot_depth[i]);
ini_write_real("RbS", string(i), global.sworks_robot_scale[i]);
ini_write_real("RbA", string(i), global.sworks_robot_angle[i]);
}
ini_write_string("SworksFlags", "sworks_id", ds_grid_write(global.sworks_id_grid));
for (var i = 0; i < array_length_1d(global.item_stock); i++)
ini_write_real("ItemStock", string(i), global.item_stock[i]);
for (var i = 0; i < array_length_1d(global.hotland_flag); i++)
ini_write_real("HotlandFlags", string(i), global.hotland_flag[i]);
for (var i = 0; i < array_length_1d(global.flowey_flag); i++)
ini_write_real("FloweyFlags", string(i), global.flowey_flag[i]);
ini_write_real("FloweyFlags", "savenumber", global.flowey_save_number);
ini_write_real("FloweyFlags", "savecount", global.save_count);
for (var i = 0; i < array_length_1d(global.extra_flag); i++)
ini_write_real("ExtraFlags", string(i), global.extra_flag[i]);
for (var i = 0; i < array_length_1d(global.mail_flag); i++)
ini_write_real("MailFlags", string(i), global.mail_flag[i]);
ds_list_string = ds_list_write(global.mail_list);
ini_write_string("Mail", "0", ds_list_string);
ds_list_string = ds_list_write(global.mail_unclaimed_list);
... () |
| 2 |
{ |
| 3 |
if (file_exists("Save.sav")) |
| 4 |
file_delete("Save.sav"); |
| 5 |
ini_open("Save.sav"); |
| 6 |
var SavedRoom = room_get_name(room); |
| 7 |
ini_write_string("Save1", "room", SavedRoom); |
| 8 |
ini_write_real("Save1", "pX", obj_pl.x); |
| 9 |
ini_write_real("Save1", "pY", obj_pl.y); |
| 10 |
ini_write_real("Save1", "dir", obj_pl.direction); |
| 11 |
SavedRoom = room; |
| 12 |
ini_write_real("Save1", "HP", global.current_hp_self); |
| 13 |
ini_write_real("Save1", "MAXHP", global.max_hp_self); |
| 14 |
ini_write_real("Save1", "PP", global.current_pp_self); |
| 15 |
ini_write_real("Save1", "MAXPP", global.max_pp_self); |
| 16 |
ini_write_real("Save1", "SP", global.current_sp_self); |
| 17 |
ini_write_real("Save1", "MAXSP", global.max_sp_self); |
| 18 |
ini_write_real("Save1", "RP", global.current_rp_self); |
| 19 |
ini_write_real("Save1", "MAXRP", global.max_rp_self); |
| 20 |
ini_write_real("Save1", "AT - Primary", global.player_attack); |
| 21 |
ini_write_real("Save1", "AT - Secondary", global.player_weapon_modifier_attack); |
| 22 |
ini_write_real("Save1", "DFP", global.player_defense); |
| 23 |
ini_write_real("Save1", "DFS", global.player_armor_modifier_defense); |
| 24 |
ini_write_real("Save1", "LV", global.player_level); |
| 25 |
ini_write_real("Save1", "EXP", global.player_exp); |
| 26 |
ini_write_real("Save1", "Gold", global.player_gold); |
| 27 |
ini_write_string("Save1", "Armor", global.player_armor); |
| 28 |
ini_write_string("Save1", "Weapon", global.player_weapon); |
| 29 |
ini_write_string("Save1", "Ammo", global.player_weapon_modifier); |
| 30 |
ini_write_string("Save1", "Accessory", global.player_armor_modifier); |
| 31 |
ini_write_string("Save1", "rmName", global.saveroom); |
| 32 |
ini_write_string("Save1", "playerSprite", global.player_sprites); |
| 33 |
ini_write_real("Save1", "playerCanRun", global.player_can_run); |
| 34 |
if (global.party_member == -4) |
| 35 |
ini_write_string("Save1", "Follower", "noone"); |
| 36 |
else |
| 37 |
ini_write_string("Save1", "Follower", object_get_name(global.party_member)); |
| 38 |
ini_write_real("Save1", "Satchel", global.player_has_satchel); |
| 39 |
ini_write_real("Save1", "FTravel", global.player_can_travel); |
| 40 |
scr_determine_playtimescr_determine_playtimefunction scr_determine_playtime()
{
var time_new = date_current_datetime();
var time_difference = floor(date_second_span(global.saved_datetime, time_new));
global.elapsed_seconds += time_difference;
global.saved_datetime = time_new;
} (); |
| 41 |
ini_write_real("Playtime", "Seconds", global.elapsed_seconds); |
| 42 |
var ds_list_encounters = ds_list_write(global.encounter_list); |
| 43 |
ini_write_string("Encounters", "0", ds_list_encounters); |
| 44 |
var ds_list_steal = ds_list_write(global.steal_list); |
| 45 |
ini_write_string("Steal", "0", ds_list_steal); |
| 46 |
var ds_list_fasttravel = ds_list_write(global.fast_travel_list); |
| 47 |
ini_write_string("FastTravel", "0", ds_list_fasttravel); |
| 48 |
var inv1 = global.item_slot[1]; |
| 49 |
ini_write_string("Items", "00", global.item_slot[1]); |
| 50 |
ini_write_string("Items", "01", global.item_slot[2]); |
| 51 |
ini_write_string("Items", "02", global.item_slot[3]); |
| 52 |
ini_write_string("Items", "03", global.item_slot[4]); |
| 53 |
ini_write_string("Items", "04", global.item_slot[5]); |
| 54 |
ini_write_string("Items", "05", global.item_slot[6]); |
| 55 |
ini_write_string("Items", "06", global.item_slot[7]); |
| 56 |
ini_write_string("Items", "07", global.item_slot[8]); |
| 57 |
var ds_list_string = ds_list_write(global.box_slot_list); |
| 58 |
ini_write_string("DBox", "0", ds_list_string); |
| 59 |
ini_write_real("Misc", "01", global.tinypuzzle); |
| 60 |
for (var i = 0; i < array_length_1d(global.ruins_flag); i++) |
| 61 |
ini_write_real("RuinsFlags", string(i), global.ruins_flag[i]); |
| 62 |
for (var i = 0; i < array_length_1d(global.flag); i++) |
| 63 |
ini_write_real("Flags", string(i), global.flag[i]); |
| 64 |
for (var i = 0; i < array_length_1d(global.snowdin_flag); i++) |
| 65 |
ini_write_real("SnowdinFlags", string(i), global.snowdin_flag[i]); |
| 66 |
for (var i = 0; i < array_length_1d(global.dunes_flag); i++) |
| 67 |
ini_write_real("DunesFlags", string(i), global.dunes_flag[i]); |
| 68 |
for (var i = 0; i < array_length_1d(global.dunes_flag_ext); i++) |
| 69 |
ini_write_real("DunesFlagsExt", string(i), global.dunes_flag_ext[i]); |
| 70 |
for (var i = 0; i < array_length_1d(global.sworks_flag); i++) |
| 71 |
ini_write_real("SworksFlags", string(i), global.sworks_flag[i]); |
| 72 |
ini_write_string("SworksFlags", "code", global.factory_code); |
| 73 |
ds_list_string = ds_list_write(global.factory_code_2); |
| 74 |
ini_write_string("SworksFlags", "code2", ds_list_string); |
| 75 |
ini_write_string("SworksFlags", "code3", global.factory_code_3); |
| 76 |
ini_write_real("SworksFlags", "RbCount", global.sworks_robot_count); |
| 77 |
for (var i = 0; i < global.sworks_robot_count; i++) |
| 78 |
{ |
| 79 |
ini_write_real("RbSprite", string(i), global.sworks_robot_sprite[i]); |
| 80 |
ini_write_real("RbX", string(i), global.sworks_robot_x[i]); |
| 81 |
ini_write_real("RbY", string(i), global.sworks_robot_y[i]); |
| 82 |
ini_write_real("RbD", string(i), global.sworks_robot_depth[i]); |
| 83 |
ini_write_real("RbS", string(i), global.sworks_robot_scale[i]); |
| 84 |
ini_write_real("RbA", string(i), global.sworks_robot_angle[i]); |
| 85 |
} |
| 86 |
ini_write_string("SworksFlags", "sworks_id", ds_grid_write(global.sworks_id_grid)); |
| 87 |
for (var i = 0; i < array_length_1d(global.item_stock); i++) |
| 88 |
ini_write_real("ItemStock", string(i), global.item_stock[i]); |
| 89 |
for (var i = 0; i < array_length_1d(global.hotland_flag); i++) |
| 90 |
ini_write_real("HotlandFlags", string(i), global.hotland_flag[i]); |
| 91 |
for (var i = 0; i < array_length_1d(global.flowey_flag); i++) |
| 92 |
ini_write_real("FloweyFlags", string(i), global.flowey_flag[i]); |
| 93 |
ini_write_real("FloweyFlags", "savenumber", global.flowey_save_number); |
| 94 |
ini_write_real("FloweyFlags", "savecount", global.save_count); |
| 95 |
for (var i = 0; i < array_length_1d(global.extra_flag); i++) |
| 96 |
ini_write_real("ExtraFlags", string(i), global.extra_flag[i]); |
| 97 |
for (var i = 0; i < array_length_1d(global.mail_flag); i++) |
| 98 |
ini_write_real("MailFlags", string(i), global.mail_flag[i]); |
| 99 |
ds_list_string = ds_list_write(global.mail_list); |
| 100 |
ini_write_string("Mail", "0", ds_list_string); |
| 101 |
ds_list_string = ds_list_write(global.mail_unclaimed_list); |
| 102 |
ini_write_string("MailUnclaimed", "0", ds_list_string); |
| 103 |
ds_list_string = ds_list_write(global.mail_list_read); |
| 104 |
ini_write_string("Mail", "3", ds_list_string); |
| 105 |
ini_write_real("Mail", "1", global.mail_count); |
| 106 |
ini_write_real("Mail", "2", global.mail_pinned); |
| 107 |
for (var i = 0; i <= 5; i++) |
| 108 |
ini_write_real("Misc", string(i + 2), global.sideNpc[i]); |
| 109 |
var ds_map_string = ds_map_write(global.npc_map); |
| 110 |
ini_write_string("NPCs", "0", ds_map_string); |
| 111 |
var ds_talk_map_string = ds_map_write(global.talk_map); |
| 112 |
ini_write_string("Talks", "0", ds_talk_map_string); |
| 113 |
ini_write_real("Misc2", "00", global.interaction_count_wardrobe); |
| 114 |
ini_write_real("Misc2", "01", global.interaction_count_broom); |
| 115 |
ini_write_real("Misc2", "02", global.interaction_count_mini_fridge); |
| 116 |
ini_write_real("Misc2", "03", global.interaction_count_painting); |
| 117 |
ini_write_real("Misc2", "04", global.interaction_count_dalvsroom_chest); |
| 118 |
ini_write_real("Misc2", "05", global.interaction_count_flower_pot); |
| 119 |
ini_write_real("Misc2", "06", global.interaction_count_doorway_dalvshouse); |
| 120 |
ini_write_real("Misc2", "07", global.interaction_count_dalvroomhall_door); |
| 121 |
ini_write_real("Misc2", "08", global.dalv_house_enter_count); |
| 122 |
ini_write_real("Misc2", "09", global.interaction_count_books); |
| 123 |
ini_write_real("Route", "00", global.route); |
| 124 |
for (var i = 1; i < array_length_1d(global.geno_complete); i++) |
| 125 |
ini_write_real("GenoComplete", i, global.geno_complete[i]); |
| 126 |
for (var i = 1; i < array_length_1d(global.kill_number); i++) |
| 127 |
{ |
| 128 |
ini_write_real("Kills", i, global.kill_number[i]); |
| 129 |
for (var j = 0; j < array_length_2d(global.kill_area, i); j++) |
| 130 |
ini_write_real("Kill Area", string(i) + string(j), global.kill_area[i][j]); |
| 131 |
} |
| 132 |
ini_write_real("Save1", "FUN", global.fun_value); |
| 133 |
global.fun_swig_name = "Swig"; |
| 134 |
for (var i = 0; i < array_length(global.fun_event); i++) |
| 135 |
ini_write_real("Fun Events", string(i), global.fun_event[i]); |
| 136 |
ini_write_string("Save1", "Menu", sprite_get_name(global.menu_sprite)); |
| 137 |
if (variable_global_exists("gold_amount_total")) |
| 138 |
ini_write_real("Save1", "gldtrack", global.gold_amount_total); |
| 139 |
if (variable_global_exists("gold_spent")) |
| 140 |
ini_write_real("Save1", "gldspnttrack", global.gold_spent); |
| 141 |
if (variable_global_exists("hit_tracker")) |
| 142 |
ini_write_real("Save1", "httrack", global.hit_tracker); |
| 143 |
ini_close(); |
| 144 |
} |