Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///sort_according(obj,variable,ascending);
- /*
- This scripts stores all instances of a selected objects into an array and sorts them according to variable
- Useful if you want to store drivers in a race game to find out who's 1st, 2nd, etc.
- argument0: object
- argument1: string of the variable you want to check
- argument2: boolean if true (123) if false (321)
- */
- var length = instance_number(argument0);
- var counter = 0;
- var object_array, temp_array, bool, array;
- //Store Instances
- for (var i = 0; i < length; i++)
- {
- object_array[i] = instance_find(argument0,i);
- bool[i] = true;
- }
- //Sort By adding smallest values that haven't been picked yet one after the other
- repeat(length)
- {
- var value = 999999999; //Really dumb, I would use array_max()+1, but I don't feel like it.
- var index = 0;
- for (var i = 0; i < length; i++)
- {
- if (variable_instance_get(object_array[i],argument1) < value)
- {
- if (bool[i])
- {
- value = variable_instance_get(object_array[i],argument1);
- index = i;
- }
- }
- }
- temp_array[counter] = object_array[index];
- bool[index] = false;
- counter++;
- }
- //Ascending or Descending
- if (!argument2)
- {
- for (var i = 0; i < array_length_1d(temp_array); i++)
- {array[i] = temp_array[array_length_1d(temp_array)-1-i];}
- }
- else
- {array = temp_array;}
- return array;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement