Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Bangaran en Septiembre 12, 2019, 01:51:08 AM

Título: Inteligencia Artificial Enemigo Ayuda
Publicado por: Bangaran en Septiembre 12, 2019, 01:51:08 AM
Buenas Compañeros!! necesito de su ayuda  con un tema respecto a los enemigos!! uso GMS 1.4
ya tengo el codigo de mi enemigo para que se mueva aleatoria mente en la room
lo que quisiera es que mi enemigo me ataque solo si yo lo ataque a el y luego me persiga hasta que me mate o yo salga de la room

Si me pueden ayudar agradecido de ante mano
Título: Re:Inteligencia Artificial Enemigo Ayuda
Publicado por: xStarLordx en Septiembre 12, 2019, 03:37:18 AM
Hola. Eso es algo sencillo puedes hacer algo como esto:
Evento Create:
bolHurt = false;

Evento Step:
if (place_meeting(x,y,"el nombre de el objeto con el que atacas"))
{
  bolHurt = true
}

if (bolHurt = true)
{
  mp_potential_step(objPlayer.x, objPlayer.y, la velocidad a la que quieres que se mueva, aqui va true si quieres que esquive todos los objetos o false pare que esquive solo los solidos)
}

PD:Puede que tenga algun error porque nunca lo he usado en ningun proyecto. Espero que te sirva.
Título: Re:Inteligencia Artificial Enemigo Ayuda
Publicado por: Bangaran en Septiembre 13, 2019, 07:38:59 PM
Cita de: xStarLordx en Septiembre 12, 2019, 03:37:18 AM
Hola. Eso es algo sencillo puedes hacer algo como esto:
Evento Create:
bolHurt = false;

Evento Step:
if (place_meeting(x,y,"el nombre de el objeto con el que atacas"))
{
  bolHurt = true
}

if (bolHurt = true)
{
  mp_potential_step(objPlayer.x, objPlayer.y, la velocidad a la que quieres que se mueva, aqui va true si quieres que esquive todos los objetos o false pare que esquive solo los solidos)
}

PD:Puede que tenga algun error porque nunca lo he usado en ningun proyecto. Espero que te sirva.

hola disculpa por mi novatada pero eso codigo q me dices es para colocarlo en el objeto enemigo o jugador?? y si es en el enemigo y tengo una maquina de estados!! en cual de los codigos me recomiendas que lo coloque
(//)
Título: Re:Inteligencia Artificial Enemigo Ayuda
Publicado por: :StonerStanley: en Septiembre 14, 2019, 10:42:31 PM
Cita de: Bangaran en Septiembre 13, 2019, 07:38:59 PM
hola disculpa por mi novatada pero eso codigo q me dices es para colocarlo en el objeto enemigo o jugador?? y si es en el enemigo y tengo una maquina de estados!! en cual de los codigos me recomiendas que lo coloque
(//)

Estoy seguro que es para el enemigo ya que usa la función "mp_potential_step();" que hace que la instancia u objeto que la ejecute intente alcanzar desde una posición inicial (la posición del enemigo) a la posición del posición final (la posición del enemigo) evitando sólidos con una velocidad establecida. La función es algo ineficiente para rooms muy "laberínticas" y estrechas, pero puede servir para rooms abiertas.

Si tienes una sistema de estados, no habrá ningún problema, pero eso sí, desactiva el anterior estado y vuelvelo a activa cuando sea necesario desactivarla.
Título: Re:Inteligencia Artificial Enemigo Ayuda
Publicado por: Bangaran en Septiembre 15, 2019, 06:21:47 AM
Cita de: :StonerStanley: en Septiembre 14, 2019, 10:42:31 PM
Estoy seguro que es para el enemigo ya que usa la función "mp_potential_step();" que hace que la instancia u objeto que la ejecute intente alcanzar desde una posición inicial (la posición del enemigo) a la posición del posición final (la posición del enemigo) evitando sólidos con una velocidad establecida. La función es algo ineficiente para rooms muy "laberínticas" y estrechas, pero puede servir para rooms abiertas.

Si tienes una sistema de estados, no habrá ningún problema, pero eso sí, desactiva el anterior estado y vuelvelo a activa cuando sea necesario desactivarla.

Entiendo lo q dices amigo!! Pero me dice q lo coloque en el step pero es cuando de los códigos lo coloco ??
En el que hace el movimiento aleatorio?
Título: Re:Inteligencia Artificial Enemigo Ayuda
Publicado por: :StonerStanley: en Septiembre 15, 2019, 10:35:05 AM
Cita de: Bangaran en Septiembre 15, 2019, 06:21:47 AM
Entiendo lo q dices amigo!! Pero me dice q lo coloque en el step pero es cuando de los códigos lo coloco ??
En el que hace el movimiento aleatorio?

Colócalo en cualquiera, el evento "step", "begin step" y "end step" sirve para que se ejecute el código cada frame, dando igual en que posición del evento esté.