With this function you can recreate a saved ds_priority (one that has previously been written as a string using ds_priority_write). You must first create a new ds_priority to read the string into, and if the ds_priority already exists and has information stored in it, then this will be cleared before reading. This function is of vital importance when creating save/load mechanisms for your game. Note that if the data structure was created with previous versions of GameMaker you should add the optional argument "legacy", setting it to true as the string format has changed with this version.
ds_priority_read(id, str [, legacy]);
|id||The id of the data structure to write.|
|str||The string to write from.|
|legacy (optional)||Can be either true or false or omitted completely.|
p_queue = ds_priority_create();
var str = ini_read_string("P_Queues", "0", "");
if str != ""
The above code creates a priority queue and stores the index in the variable "p_queue". It then opens an ini file and reads a string from that, checking to make sure that the string is not returned as empty first. This string is then read into the newly created ds_priority.