buen dia,

el problema es el siguiente:

tengo un mundo con dos objetos, el muro(solido)(no importa en esta pregunta) y varios personajes que son un mismo objeto pero se diferencian por que tienen dstintos estados (cada uno tiene su variable estado).
necesito hacer la siguiente funcion:

-un personaje con estado x, deve encontrar(perseguir) a otro con estado z.
-deve ser el personaje con estado z que este mas cerca.
-estos objetos se crean y destruyen asi que de inicio no se sus id.

hasta ahora se como hacer que busque(siga) a algun personaje que este mas cerca, pero no se como hacer que siga al que tiene un estado en particular.
al asceder a la variable de la otra instancia, solo lee la primera instancia.


ayudenme... :(

Bueno te hice un simple script para obtener el objeto (argument0) mas cercano que tenga una variable (argument1) verdadera.
[gml]
//argument0 nombre del objeto buscar
//argument1 nombre de la variable
//ej: scr_instance_nearest(objeto,"z")

var retorna, prioridad;
retorna=-4
prioridad=ds_priority_create()
with(argument0){if variable_local_exists(argument1){if variable_local_get(argument1){
ds_priority_add(prioridad,id,distance_to_object(other))}}}

if !ds_priority_empty(prioridad){
retorna=ds_priority_find_min(prioridad)}
ds_priority_destroy(prioridad)
return retorna
[/gml]