Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Mgbu en Octubre 14, 2013, 01:04:22 AM

Título: GIA4: Problema con scr_get_camino()
Publicado por: Mgbu en Octubre 14, 2013, 01:04:22 AM
Tengo un problema con mi IA, relacionado con eso de que se queda trabado dando vueltas sin moverse

El problema es que mientras se queda trabado dando vueltas scr_get_camino() sigue devolviendo 1
No entiendo, la única forma de que ocurra es que uno se esté moviendo hacia el lugar donde esta parado. Pero como no encuentro donde me estoy moviendo hacia donde estoy parado queria saber si hay alguna forma de saber cuando estoy parado realmente

Lo raro es que salvo que haya un error muy pavo, nunca me muevo a mi posición y nunca me muevo a una posición si scr_calcular_camino devuelve 0. Hay alguna forma de que al calcular un camino el script scr_get_camino() sea 1?
Título: Re:GIA4: Problema con scr_get_camino()
Publicado por: Texic en Octubre 14, 2013, 02:13:53 AM
Te explico, al avistar un enemigo y detenerte para atacar deberías detener el camino. Si eso no te sirve guardate las posiciones x e y anteriores en variables auxiliares y compará tu posición con la anterior, sin son iguales detené el camino. Si la programás con cuidado no deberías tener que hacer eso, pero es un parche útil para arreglarlo rápido
Título: Re:GIA4: Problema con scr_get_camino()
Publicado por: Mgbu en Octubre 14, 2013, 05:02:51 PM
Hacer lo que me dijiste no me servia, si hacia if (xprevious = x || yprevious = y) para comparar siempre me devolvia 1
Entonces hice lo de las variables auxiliares pero apenas "destrababa" la IA se volvia a trabar

Podes creer que el error estaba en que tenía mal los argumentos de scr_calcular_camino()? :o :o
Te juro que de tanto renegar ya me estaba dando ganas de llorar jaja. No entiendo como se me puede haber pasado, cuando cambió el SDK yo había cambiado todos los argumentos

Algo útil para encontrar dónde cometiste ese error:
En la barra de herrmientas ir a Scripts>Search in scripts... y buscar scr_calcular_camino(x