This function will take a string that has previously been created by the function ds_map_write and then read it into a previously created ds_map. If the map that the string is being read into contains any key/value pairs, these will be cleared first before the saved map is re-constructed. Note that if the data structure was created with previous versions of GameMaker Studio 2 you should add the optional argument "legacy", setting it to true as the string format has changed with this version.
ds_map_read(id, str [, legacy]);
|id||The id of the data structure to read the string into|
|str||The string to read|
|legacy (optional)||Can be either true or false or omitted completely.|
inventory = ds_map_create();
var t_string = ini_read_string("Saved", "0", "");
if t_string != ""
The above code creates a new ds_map and stores its id index in the variable "inventory". It then opens an ini file and reads a string from that file into the temporary variable "t_string". Finally, it checks to make sure that the string is valid (not the default ini value of "") and if it is it then reads the string into the newly created ds_map before closing the ini again.