Bueno, pues vengo con un problema común pero que aun no puedo resolver xD

No hallo la manera de hacer un enemigo que camine bien en las plataformas con rampas. Por lo menos que ande en las de 45 grados. Hasta el momento solo he logrado un bichejo que ande lentamente y se atore al final (pared o precipicio).

Uso GM8 pro, todos los block tienen de pariente común un solo objeto solido. Usarían gravedad (al menos al llegar al borde).

No tengo habilidad con los scripts xD, no he logrado hacerlo en DyD y en internet ninguna solución me ayuda.

Llevo 2 meses con ese problema ._. me estanca. Quién tenga la amabilidad de apoyar, le daré un chocolate :B quién me dé la solución definitiva, le daré una hamburguesa.

Te dejo un ejemplo. Soy lo opuesto a vos, no me llevo con D&D, solo con codigo  :). La unica parte complicada es el codigo del slope, pero solo tenes que copiarlo y cambiar el nombre de los objetos y algunos valores, es ir probando.

Hace años que no me metia por aca, pero sigues ayudandome xD te lo agradezco mucho

...

Nomas que tengo el 8.0 y no me abre del 8.1 xD igual gracias *-*


#4 Junio 10, 2014, 06:58:44 AM Ultima modificación: Junio 10, 2014, 07:01:36 AM por 3dgeminis
Te pongo los codigos que use;
CREATE
velocidad=4
STEP
///GRAVEDAD////////////////////////////////////////////////////////
if place_meeting(x,y+1,suelo) {gravity=0} else {gravity=0.8}

///////////////////////////////////////////////////////////////////
///CAMBIO DE DIRECCION/////////////////////////////////////////////
dd=velocidad*image_xscale

if place_meeting(x+velocidad,y-sprite_height,suelo) image_xscale=-1
if place_meeting(x-velocidad,y-sprite_height,suelo) image_xscale=1

///////////////////////////////////////////////////////////////////////////////////////////////////
///SLOPE///////////////////////////////////////////////////////////////////////////////////////////
if place_meeting(x,y+1,suelo) {j=-8} else {j=0} //SI ESTA EN EL SUELO NO BAJA MAS

for (i=j;i<8;i+=1) //LOOP QUE VE LA MAXIMA ALTURA ARRIBA Y ABAJO
    {
    if !place_meeting(x+dd,y-i,suelo) //REVISA SI HAY ALGUN LUGAR LIBRE
        {
        x+=dd //Y SE MUEVE
        y-=i
        break //FIN DEL LOOP
        }
    }

COLISION CON SUELO
if vspeed>0
{
y=yprevious
move_contact_all(270,abs(vspeed))
vspeed=0
}

Podes ponerle que salte tambien si queres
Fijate si podes importar el archivo que colgue ahora

3dgeminis... TE AMO! *-* gracias! Funciona PERRRRFECTO! Que te puedo dar a cambio? :D que necesitas?