buenas chicos!!
os comento.. quiero que mi enemigo(obj_abeja)me ataque pero no seguidamnte y cada vez que realice un ataque se dibuje la animacion del ataque sobre mi... (nombre de la animacion del ataque"fisico22")
lo que tengo puesto es lo siguiente:
[obj_abeja]step:
if global.cooldown=0
{global.atacar=1 global.cooldown=10}
if global.cooldown!=0 gloval.cooldown-=1
colision contra mi player:
if global.atacar=1
{
global.vida-=1
}
hola d nuevo chicos ^^ e conseguido que el enemigo me ataque pero ahora solo me ataca si colisiono contra el y si sigo caminando contra el enemigo... si estoi quieto me sigue pero no me ataca... e puesto esto:
[obj_abeja](enemigo)
(create)
if global.cooldown=0
{global.atacar=1 global.atacar=60}
if global.cooldown!=0 global.cooldown-=1
if (distance_to_obj(obj_player) < 100) && (distance_to_object(obj_player) > 50)
{
if global.atacar=1
{global.vida-=1}
}
else
{
global.atacar=0
}
lo dicho... solo me ataca si colisiono con el y camino acia el chocando... y la vida se resta continuamnte... no se como acer para que el sprite (fisico22) se dibuje sobre mi
pj cada vez que la abeja realice un ataque... y como acer para que me ataque sin tener que colisionar... osea un ataque decente jahahaha
La vida se resta continuamente porque la resta está en STEP y no hay ninguna condición que evite que sólo reste una vez, necesitas otra variable para evitar que se quite vida constantemente
if (atacar) and (daniar)
{
restar 1
daniar = false
alarm[0] = room_speed * 2 //conceder dos segundos de invencibilidad al jugador
}
ALARM[0]
{
daniar = 1
}
No entiendo bién por qué usas esta condición
if (distance_to_obj(obj_player) < 100) && (distance_to_object(obj_player) > 50)
Yo la dejaría en
if (distance_to_obj(obj_player) < 100)
Para hacer que el ataque se dibuje debes usar
sprite_index = spr_ataque
pero necesitas ser cuidadoso con los estados o pasará lo mismo que con la resta de vida, se podría repetir más de una vez la animación.
me sucede un error!!!! ahora solo ataca a la primera abeja y luego no me deja atacar ami a ninguna abeja mas .... pero el tiempo de espera etc si que funciona... le tengo puesto esto...
estep1: (code)
///para que el enemigo nos siga
if(distance_to_object(obj_player)<100)// distancia a la que nos empezara a seguir.. y donde se parara
{
move_towards_point(obj_player.x,obj_player.y,2)//2 velocidad a la que nos sigue
}
else
{
speed=0
}
step2:(code)
///ataque hacia nuestro player
if global.cooldown=0
{global.atacar=0 global.cooldown=10}
if global.cooldown!=0 global.cooldown-=1
if (global.atacar) and (global.noatacar)
{
global.vida-=1
global.noatacar=false
alarm[0] = room_speed*2//conceder 2 segundos sin ser atacado al jugador (2) es el tiempo de cooldown
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha)
draw_sprite(fisico22,1,obj_player,obj_player)
}
{alarm[0]=global.noatacar = 1
}
buenas chicos... e cambiado un poquito las cosas os comento.... tengo esto:
[obj_abeja]step:
if global.cooldown=0 ////// e provado a quitar lo del cooldown
{global.atacar=0 global.cooldown=10} //////y la verdad esque de esa manera me permite atacara todos los enemigos
if global.cooldown!=0 global.cooldown-=1 ////// y que todos me ataquen ami, pero si lo quito me resta vida continuamente y sin parar
if (global.atacar) and (global.noatacar)
{
global.vida-=1
global.noatacar = false
alarm[0] = room_speed*2//conceder 2 segundos sin ser atacado al jugador (2) es el tiempo de cooldown
}
{
alarm[0]=global.noatacar = true
}