hola chicos, ante todo me gustaría daros a todos las gracias pues siempre que he planteado una duda en este foro se me ha respondido, prestándome ayuda o dándome consejos sobre como seguir, quería aclarar esto ya que la ultima vez que postee en el foro, no tuve ocasión de dar las gracias (problemas de internet).
y ahora mi nueva duda.
resulta que tengo tres tipos de enemigos diferentes: obj_ene1, obj_ene2 y obj_ene3
de cada tipo de enemigo se crean varias instancias en el juego; el personaje no tiene la capacidad de atacar pero puede, po asi decirlo, convencer a un enemigo para que ataque a los demás.
mi pequeño problema viene a la hora de que ese enemigo convencido escoja a quien atacar, he probado con instance_nearest pero de esta forma solo escoge a la instancia mas cercana de un obj_ene, lo que yo intento es que de todos los tipos de enemigo que existan en ese momento escoja al mas cercano y le ataque.
todo funciona bien si solo hay un tipo de enemigo por que le digo que coja la instancia mas cercana y punto.
alguna sugerencia?
Bueno, al final he encontrado una solucion.
en el step del npc que va atacar le asigno a unas varibles el id de la instancia mas cercana de cada tipo de enemigo ejemplo:
ene1cercano = instance_nearest(x,y, obj_ene1)
ene2cercano = instance_nearest(x,y, obj_ene2)
y asi...
luego comparo cual de las instancias esta mas cerca con distance_to_object
if (distance_to_object(ene1cercano ) < (ene2cercano )
objetivo = ene1cercano //le dig a la varible objetivo que al estar esta instancia mas cerca que la otra, es el objetivo
y luego ya asigno las acciones de atacar dandole como objetivo el valor de la variable objetivo (valga la redundancia) :-[
esto me funciona, que en cuestion de optimizacion sea o no bueno eso ya es otro cantar
Hay una forma aun mas facil. Creas un objeto vacio, sin nada de eventos o codigos llamado obj_enemigo_parent, luego todos los enemigos (obj_ene1, obj_ene2 y obj_ene3) los emparentas a este nuevo objeto, luego con la funcion instance_nearest(x,y,obj) le pones como objeto a seguir obj_enemigo_parent quedando asi instance_nearest(x,y,obj_enemigo_parent) y listo. Emparentar objetos puede llegar a ser muy util 8)