Buenas, estoy liado con la ia de los enemigos de un proyecto  ???

Lo que he conseguido es que cuando el obj_jugador se acerque a cierta distancia del obj_enemigo este le dispare...vale eso ok.

Pero lo que quiero que si tiene entre los dos el obj_muro no lo vea y no le dispare y si el obj_jugador salta el muro entonces ya lo ve y le dispara.

Me podeis decir por donde tirar?.

Yo he tirado por collision_line y a base de if....

Gracias.

Supongo que con una variable que te diga si el protagonista está detrás de un muro o no seria suficiente, no?

Del estilo de
if protadetrasdemuro=0
{
blablabla //que pueda disparar
}

if protadetrasdemuro=1
{
blablabla //que no pueda disparar
}
Jugador de muchos juegos y creador de algunos ;)
¿Buscas un guionista? Haz click aquí

Gracias Marron21 por responder, tendria que saber en que lado esta del muro, pero en relacion al enemigo.

Hay alguna manera que la funcion collision_line sepa con que choca primero?.

Si es en vista cenital supongo que puedes usar esto:
[gml]
//Objeto enemigo
if !collision_line(x,y,jugador.x,jugador.y,false,muro)
{
   //código para mirar al jugador
}
[/gml]

Si es en vista de plataformas, no sé si pueda servirte igual, jamás lo he probado  :-[
alaberga regué el café.

BA:STFW&RTFM

Gracias!! Me diste el camino :)

Bueno al final le di en el clavo!! XD

if obj_heroe.x < x {

               if  !collision_line (x,y,obj_heroe.x,y-50,obj_pared,false,false) and collision_line (x,y,x-400,y,obj_heroe,false,false){                         
               
                                    atacar = true
                                    }
                                    else {
                                    atacar = false
                                    }
                         }
       if obj_heroe.x > x {

               if  !collision_line (x,y,obj_heroe.x,y-50,obj_pared,false,false) and collision_line (x,y,x+400,y,obj_heroe,false,false){                         
               
                                    atacar = true
                                    }
                                    else {
                                    atacar = false
                                    }
                                 }



Gracias!!
P.d: tendra webis que no soy capaz de enviar el codigo como lo poneis vosotros :(