Bueno antes que nada no estoy tan seguro si de eso va el asunto ni si eh cumplido con los requerimientos del tema, si esta repetido o ya fue solucionado algo similar, si me pudieran dejar el link se los agrade seria mucho.

De antemano les agradezco su atención y tiempo de leer esto.

No se me da muy bien la programación en aprendido un poco por necesidad, empece un proyecto pero me eh topado con dificultades y no eh visto ningún tutorial que llegue a mas de lo básico.

en fin tengo el código de movimiento lo dejo hasta abajo,

Movimiento:
Pero mi problema es que cuando lanzo un ataque el sprite del mismo no encaja tan bien como si se quedara la a la mitad e iniciara otro, ademas de que quisiera que solo se ejecutara la animación una sola vez x cada ves que se oprima la tecla 1x1.
La otra es un código que me permita si dejo presionado ejemplo: arriba y ataco, al terminar el ataque siga en la dirección que esta mantenida sin tener que volver a presionar arriba.
Vida:
Necesito algún código para que cuando me golpee el enemigo pasen unos segundos antes de que me vuelva a hacer daño aunque este pegado a mi.(como en los juegos clásicos que parpadeabas cada vez que te pegaban.)
Depth:

Algún código o alguna manera de que cuando este enfrente del objeto este aparezca atrás y cuando este atrás de el aparezca enfrente.¿?

Aqui les dejo el editable;https://mega.co.nz/#!KdBCVJ7Q!E0S2bxoN3MU9o6suM7RjrT6JpLc-fdFqURUIGUQQn5c
Codigo de los Controles:

///CONTROL DE MOVIMIENTO/////
/////////////////////UP///////////////////
if keyboard_check_pressed (vk_up)
{
sprite_index = sprRanthaWUp
direction = 90
image_speed = 0.6
speed = 4
}
if keyboard_check_released (vk_up)
{
sprite_index = sprRanthaSUp
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSUp
{
sprite_index = sprRanthaAUp
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWUp
{
sprite_index = sprRanthaAUp
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaAUp
{
sprite_index = sprRanthaSUp
image_speed = 0.6
speed = 0
}
/////////////////////DOWN///////////////////
if keyboard_check_pressed (vk_down)
{
sprite_index = sprRanthaWDown
direction = 270
image_speed = 0.6
speed = 4
}
if keyboard_check_released (vk_down)
{
sprite_index = sprRanthaSDown
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSDown
{
sprite_index = sprRanthaADown
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWDown
{
sprite_index = sprRanthaADown
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaADown
{
sprite_index = sprRanthaSDown
image_speed = 0.6
speed = 0
}
/////////////////////LEFT///////////////////
if keyboard_check_pressed (vk_left)
{
sprite_index = sprRanthaWLeft
direction = 180
image_speed = 0.6
speed = 4
}
if keyboard_check_released (vk_left)
{
sprite_index = sprRanthaSLeft
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSLeft
{
sprite_index = sprRanthaALeft
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWLeft
{
sprite_index = sprRanthaALeft
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaALeft
{
sprite_index = sprRanthaSLeft
image_speed = 0.6
speed = 0
}
/////////////////////RIGHT///////////////////
if keyboard_check_pressed (vk_right)
{
sprite_index = sprRanthaWRight
direction = 0
image_speed = 0.6
speed = 4
}
if keyboard_check_released (vk_right)
{
sprite_index = sprRanthaSRight
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSRight
{
sprite_index = sprRanthaARight
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWRight
{
sprite_index = sprRanthaARight
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaARight
{
sprite_index = sprRanthaSRight
image_speed = 0.6
speed = 0
}

yo pensaria que ya alguien abria contestado esto, no se bien por que no lo hallan echo , pero bueno, no puedo editar el archivo que dejaste por que es del 8.1 y el mio es 8 pero te edito el codigo
///CONTROL DE MOVIMIENTO/////
/////////////////////UP///////////////////
if keyboard_check_pressed (vk_up)
{
sprite_index = sprRanthaWUp
direction = 90
image_speed = 0.6}

if keyboard_check (vk_up) and !keyboard_check(vk_control)
{speed = 4}
if keyboard_check_released (vk_up)
{
sprite_index = sprRanthaSUp
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSUp
{
sprite_index = sprRanthaAUp
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWUp
{
sprite_index = sprRanthaAUp
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaAUp
{
sprite_index = sprRanthaSUp
image_speed = 0.6
speed = 0
}
/////////////////////DOWN///////////////////
if keyboard_check_pressed (vk_down)
{
sprite_index = sprRanthaWDown
direction = 270
image_speed = 0.6}
if keyboard_check (vk_down) and !keyboard_check(vk_control)
{speed = 4}
if keyboard_check_released (vk_down)
{
sprite_index = sprRanthaSDown
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSDown
{
sprite_index = sprRanthaADown
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWDown
{
sprite_index = sprRanthaADown
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaADown
{
sprite_index = sprRanthaSDown
image_speed = 0.6
speed = 0
}
/////////////////////LEFT///////////////////
if keyboard_check_pressed (vk_left)
{
sprite_index = sprRanthaWLeft
direction = 180
image_speed = 0.6}
if keyboard_check (vk_left) and !keyboard_check(vk_control)
speed = 4}
if keyboard_check_released (vk_left)
{
sprite_index = sprRanthaSLeft
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSLeft
{
sprite_index = sprRanthaALeft
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWLeft
{
sprite_index = sprRanthaALeft
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaALeft
{
sprite_index = sprRanthaSLeft
image_speed = 0.6
speed = 0
}
/////////////////////RIGHT///////////////////
if keyboard_check_pressed (vk_right)
{
sprite_index = sprRanthaWRight
direction = 0
image_speed = 0.6}
if keyboard_check (vk_right) and !keyboard_check(vk_control)
{speed = 4}
if keyboard_check_released (vk_right)
{
sprite_index = sprRanthaSRight
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSRight
{
sprite_index = sprRanthaARight
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWRight
{
sprite_index = sprRanthaARight
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaARight
{
sprite_index = sprRanthaSRight
image_speed = 0.6
speed = 0
}


en el codigo de arriba solo es para que siga con la velocidad despues del ataque

vida: yo agregaria una variable "golpe" y la usaria asi
create:
golpe=0
draw:

draw_sprite_ext(sprite_index,image_index,x,y,1,1,0,c_white,image_alpha)
if golpe=0
{image_alpha=1}
if golpe=1
{image_alpha=1 golpe+=1}
if golpe=2
{image_alpha=0 golpe+=1}
if golpe=3
{image_alpha=1 golpe+=1}
if golpe=4
{image_alpha=0 golpe+=1}
if golpe=5
{image_alpha=1 golpe+=1}
if golpe=6
{image_alpha=0 golpe=0}


En este no se como uses la colision para recibir daño, pero solo tienes que hacer que cuando golpe=0 puedan hacerte daño, y cuando sea distinto de 0 no

Depth:
esto lo tienes que poner en los objetos para que cambien su depth
step:

if y</*el nombre del objeto que mueves*/
{depth=/*el nombre del objeto que mueves*/.depth-1}
else
{depth=/*el nombre del objeto que mueves*/.depth+1}


PD: nada de los codigos que puse los eh probado, por lo mismo de la version, lo primero de el sprite de ataque no lo entendi y no lo modifique para nada solo lo de la velocidad

Muchas gracias MRafX, los estoy probando, ya te informare que tal va de antemano grasias por tu respuesta.

Cita de: MRafX en Junio 01, 2013, 06:33:03 PM
yo pensaria que ya alguien abria contestado esto, no se bien por que no lo hallan echo , pero bueno, no puedo editar el archivo que dejaste por que es del 8.1 y el mio es 8 pero te edito el codigo
///CONTROL DE MOVIMIENTO/////
/////////////////////UP///////////////////
if keyboard_check_pressed (vk_up)
{
sprite_index = sprRanthaWUp
direction = 90
image_speed = 0.6}

if keyboard_check (vk_up) and !keyboard_check(vk_control)
{speed = 4}
if keyboard_check_released (vk_up)
{
sprite_index = sprRanthaSUp
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSUp
{
sprite_index = sprRanthaAUp
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWUp
{
sprite_index = sprRanthaAUp
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaAUp
{
sprite_index = sprRanthaSUp
image_speed = 0.6
speed = 0
}
/////////////////////DOWN///////////////////
if keyboard_check_pressed (vk_down)
{
sprite_index = sprRanthaWDown
direction = 270
image_speed = 0.6}
if keyboard_check (vk_down) and !keyboard_check(vk_control)
{speed = 4}
if keyboard_check_released (vk_down)
{
sprite_index = sprRanthaSDown
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSDown
{
sprite_index = sprRanthaADown
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWDown
{
sprite_index = sprRanthaADown
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaADown
{
sprite_index = sprRanthaSDown
image_speed = 0.6
speed = 0
}
/////////////////////LEFT///////////////////
if keyboard_check_pressed (vk_left)
{
sprite_index = sprRanthaWLeft
direction = 180
image_speed = 0.6}
if keyboard_check (vk_left) and !keyboard_check(vk_control)
speed = 4}
if keyboard_check_released (vk_left)
{
sprite_index = sprRanthaSLeft
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSLeft
{
sprite_index = sprRanthaALeft
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWLeft
{
sprite_index = sprRanthaALeft
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaALeft
{
sprite_index = sprRanthaSLeft
image_speed = 0.6
speed = 0
}
/////////////////////RIGHT///////////////////
if keyboard_check_pressed (vk_right)
{
sprite_index = sprRanthaWRight
direction = 0
image_speed = 0.6}
if keyboard_check (vk_right) and !keyboard_check(vk_control)
{speed = 4}
if keyboard_check_released (vk_right)
{
sprite_index = sprRanthaSRight
image_speed = 0.6
speed = 0
}
if keyboard_check_pressed (vk_control) and  sprite_index= sprRanthaSRight
{
sprite_index = sprRanthaARight
speed = 0
}
if keyboard_check_pressed (vk_control) and sprite_index = sprRanthaWRight
{
sprite_index = sprRanthaARight
speed = 0
}
if keyboard_check_released (vk_control) and sprite_index = sprRanthaARight
{
sprite_index = sprRanthaSRight
image_speed = 0.6
speed = 0
}


en el codigo de arriba solo es para que siga con la velocidad despues del ataque

vida: yo agregaria una variable "golpe" y la usaria asi
create:
golpe=0
draw:

draw_sprite_ext(sprite_index,image_index,x,y,1,1,0,c_white,image_alpha)
if golpe=0
{image_alpha=1}
if golpe=1
{image_alpha=1 golpe+=1}
if golpe=2
{image_alpha=0 golpe+=1}
if golpe=3
{image_alpha=1 golpe+=1}
if golpe=4
{image_alpha=0 golpe+=1}
if golpe=5
{image_alpha=1 golpe+=1}
if golpe=6
{image_alpha=0 golpe=0}


En este no se como uses la colision para recibir daño, pero solo tienes que hacer que cuando golpe=0 puedan hacerte daño, y cuando sea distinto de 0 no

Depth:
esto lo tienes que poner en los objetos para que cambien su depth
step:

if y</*el nombre del objeto que mueves*/
{depth=/*el nombre del objeto que mueves*/.depth-1}
else
{depth=/*el nombre del objeto que mueves*/.depth+1}


PD: nada de los codigos que puse los eh probado, por lo mismo de la version, lo primero de el sprite de ataque no lo entendi y no lo modifique para nada solo lo de la velocidad
Listo si me funcionaron los 2 primeros códigos el 3 fue el que no me funciono, y el que tengo depth = -y; funciona bien el detalle es que la barra de HP cada ves que pasa cerca de un objeto con este código queda por detrás del objeto al igual que otras cosas de DRAW, aquí dejo el exe para mayor explicación,
flechas de movimiento y Ctrl es el ataque.
https://mega.co.nz/#!zVRzWZQL!OOnwaQ1pbpaZseUBpV1iJ1RBPfMV5gnH6dUh8K7JkWY

ya lo vi, y pues lo unico que quedaba por debajo era la barra  (o almenos lo unico que vi xD) pues cambiale el depth al objeto que dibuja la barra y eso se arreglaria

Cita de: MRafX en Junio 06, 2013, 01:44:24 AM
ya lo vi, y pues lo unico que quedaba por debajo era la barra  (o almenos lo unico que vi xD) pues cambiale el depth al objeto que dibuja la barra y eso se arreglaria
El detalle es que con el código depth =-y no importa si le pones a la opción depth -999999999999999 no lo respeta.

pues supongo que a todos los objetos les pusiste depth=-y no? solo quitaselo al objeto que dibuja la barra y ponle y=-1000000

Cita de: MRafX en Junio 06, 2013, 05:52:29 PM
pues supongo que a todos los objetos les pusiste depth=-y no? solo quitaselo al objeto que dibuja la barra y ponle y=-1000000
Es que hay esta el detalle, no lo tiene el objeto draw de la barra de vida.

no entiendo, no tiene que? xD nadamas agregas trozo de codigo , escribes lo de depth=-100000 y ya xD

Cita de: MRafX en Junio 07, 2013, 04:50:31 AM
no entiendo, no tiene que? xD nadamas agregas trozo de codigo , escribes lo de depth=-100000 y ya xD
Ok, gracias por el tip, y si me disculpo por no darme a entender bien en la anterior respuesta,lo curioso es que cuando se lo puse en la opción de depth que tiene el objeto por default no me la respetaba, ya asta que lo agregue en código funciono.