Решение сразу для всех трёх условий.
В этом примере создание хелсбара происходит когда у моба отнимается хп, и если спустя 3 секунды урон ему не наносился хелсбар пропадает.
Итак, в объекте моба в событии Create пишем:
Код
hp = 100 //Хп моба
showdamage = 0 //Виден ли хелсбар 0 - нет
В событии Draw
Код
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha); //Отрисовка моба
if (showdamage = 1) //Если хелсбар виден, то рисуем его
{
draw_sprite(spr_healthbar_enemy, 0, x - 32, y - 32) //Рисуем фон
draw_sprite_part(spr_healthbar_enemy, 1, 0, 0, sprite_get_width(spr_healthbar_enemy) * (hp / 100//Делим на максимальное кол-во жизней),
sprite_get_height(spr_healthbar_enemy), x - 32, y - 32) //Рисуем жизни на фоне
}
Теперь в событие Столкновения с пулей
Код
if (showdamage = 0) //Если хелсбар не виден
{
showdamage = 1 //Показывем хелсбар
alarm[0] = room_speed*3 //Через 3 секунды запустится таймер
}
hp-=20 //Отнимаем 20 хп
В Аларм 0
Код
showdamage = 0 //Убираем хелсбар