Octubre 14, 2013, 01:04:22 AM Ultima modificación: Octubre 14, 2013, 01:17:19 AM por Mgbu
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?
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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




#2 Octubre 14, 2013, 05:02:51 PM Ultima modificación: Octubre 14, 2013, 05:09:33 PM por Mgbu
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
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy