Madre mía, llevo todo el día programando y haciendo cosas, y o estoy ya que no carburo bien o no entiendo las opciones.
Estoy intentando generar un evento de colision.
En el evento (script) tendrá dos argumentos, mi objeto, y el objeto contra el que coche. Dentro de este evento se hacen cálculos para ver el el daño que se causa y la vida que queda y si procede se destruya la instancia. Es que hay habilidades, etcc que afectar al resultado, por eso un calculo grande.

Bien, aquí es donde viene mi dilema, lo explico en seudocódigo.

Tengo una unidad mía, que se moverá al acabar un tiempo o que yo le de finalizar turno. Bien

Hola, la unidad se mueve "2cuadros" = 64pixles x 2, en cada movimiento, puede ser que tenga aliados delante o enemigos.
Además tiene un ataque que llega 64x2 (uso 64, que son los pixeles que ocupa cada casilla y enemigo)

Necesito que al STEP (ANDAR) compruebe si tiene algún enemigo en frente, pero puede ser que haya un amigo a 64 y el enemigo a 64x2. Entonces debe atacar al enemigo, pero no al amigo. Todos tiene una variable que los identifica como Tipo:Amigo/Enemigo.

Si hay un enemigo, que llame a la función colisión creado por mi, con argumento1= mi unidad, argumento2 = el enemigo.
Para que así yo ya en dicha función yo haga mis cálculos y varié su variables según los resultados.

He visto collision_line para un tipo de unidad, y collision_circle, para otras. Pero lo que no se es como averiguar con que objeto a chocado, para asi poder decidir si sigue andando o ataca.

Espero haber explicado bien.

Gracias.

Con que me digáis como averiguo conque instancia a chocado, me vale. Dado que puede haber 2 o mas instancias del mismo objeto. Y tengo como 100 objetos diferentes, que pudiera haber, pero como mucho habrá 10 al mismo tiempo en la room

Estas son las funciones que devuelven el id de la instancia con la que se colisiona:

  • collision_circle
  • collision_ellipse
  • collision_line
  • collision_point
  • collision_rectangle
  • instance_place
  • instance_position

Usa collision_point para obtener el id de cualquier instancia, o usa instance_position para obtener el id de instancias de un sólo tipo de objeto; esas son las funciones más rápidas porque sólo revisan un punto.

Gracias.
Para llamar a mi scrips seria algo asi??
Miscrip (id, idcolision)
Para que asi en mi scrip use esos argumentos verdad??

Ahh, y otra cosa, en la de circle puede haber varios objetos, como hago k pase de uno a otro hasta que se cumpla la condicion tipo=enemigo?? Por ejemplo. (Mi unidad es rodeada, por un lado unidades amigas y por otro enemigas