marasovec
Member
I'm trying to make a script to find objects to hit with a chain attack but it doesn't seem to work
Code:
///find_chain(object, chain_length, max_distance)
var obj = argument0;
var chain_length = argument1;
var max_dist = argument2;
var nearest_obj = id;
var objects = ds_list_create();
var total = 0;
var arr;
for(var i = 0; i < instance_number(obj); i++) { ds_list_add(objects, instance_find(obj, i)); }
repeat(chain_length)
{
var nearest_dist = max_dist;
var nearest_index = 0;
for(var i = 0; i < ds_list_size(objects)-1; i++)
{
var current_obj = objects[| i];
var dist = point_distance(nearest_obj.x, nearest_obj.y, current_obj.x, current_obj.y);
if dist < nearest_dist
{
nearest_dist = dist;
nearest_index = i;
}
}
if nearest_dist < max_dist
{
nearest_obj = current_obj;
ds_list_delete(objects, nearest_index);
arr[total++] = nearest_obj;
}
}
ds_list_destroy(objects);
return arr;