ayuda con ia de zombie

Publicado por brunoxzx, Diciembre 23, 2009, 10:02:28 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

brunoxzx

Hola comunidad , veran mi problema es este:Estoy haciendo un juego de vista cenital pero la inteligencia artificial de los zombies tiene problemas.El problema es este el zombie se atora entre los muros se cual es el problema pero no se como solucionarlo .

el zombie tiene en create
vida=100
perseguir=0
mp_potential_settings(20,10,2,1)
caminar=0


en el step
if vida<1 then instance_destroy()
if caminar=0{direction=random(360) speed=1; caminar=2}
if place_meeting(x,y,obj_muros) and caminar=0 {direction=random(360) speed=1;}
if place_meeting(x,y,obj_muros) and caminar=2 {direction=random(360) speed=1;}

if distance_to_object(obj_mono)<100 and !collision_line(x,y,obj_mono_piernas.x,obj_mono_piernas.y,obj_muro,0,0) {perseguir=1;}

if perseguir=1{mp_potential_step(obj_mono.x,obj_mono.y,2,0);caminar=1}

image_angle=direction

if caminar=2{alarm[0]=20+round(random(40))}


y en alarm[0]
caminar=0


bueno se que el problema yace en codigo del step pero no he encontrado una manera mejor de solucionar el problema y ya lo he intentado de diversas maneras pero ninguna me funciona como sea gracias de antemano

Wadk

Cambiá step por esto, no estoy seguro, pero creo que funcionará:
if vida<1 then instance_destroy()
if caminar=0{direction=random(360) caminar=2}
if place_meeting(x,y,obj_muros) and (caminar=0 or caminar=2) {direction=random(360)}

if distance_to_object(obj_mono)<100 and !collision_line(x,y,obj_mono_piernas.x,obj_mono_piernas.y,obj_muro,0,0) {perseguir=1;}

if perseguir=1{mp_potential_step(obj_mono.x,obj_mono.y,0,0);caminar=1}

image_angle=direction
move_contact_solid(direction,1);

if caminar=2{alarm[0]=20+round(random(40))}
Vim.

brunoxzx

sigo con el problema >:(, realmente ese codigo es el mismo del step nada mas que lo simplificaste un poco ,nada mas le quiraste lo de la speed,como sea gracias por reponder pero sigo con el problema

Wadk

Cambié la speed por la función move_contact_solid, no debería quedarse trancado en un muro, a menos que el muro no esté marcado como sólido...
Vim.

brunoxzx

yo tambien pense que funcionaria pero no lo hizo sigue con el mismo error, graciaspor la ayuda pero el problema persiste, arrrrrrr >:(

abdias2d

has probado ponerle una mascara cuadrada que ocupe toda la caja del sprite? prueba junto con tu codigo o con el de Wadk

el mismo problema cuando hacia un juego del clasico de tanques, recuerdo haberlo solucionado con eso. Saludos

brunoxzx

a2dias lo de la mascarano lo habia probado y aparente mente funciono en la primera prueba pero tras una serie mayor de pruebas no te que se siguen atorando, pero ahora con menor facilidad.gracias a2dias pero el problema persiste :-*

Powered by EzPortal
SMF spam blocked by CleanTalk