Witam nowego pana :)
Język angielski chłopie, język angielski.
Nieznana jest zmienna hp. Zdefiniowałeś ją w Create? No i tu w poście piszesz, że jest "health-=5" a z errora wyraźnie widzę, że chodzi o zmienną "hp".
W obiekcie przeciwnika dajesz :
w Create
GML
strzela=0 // definiujesz zmienną świadczącą o tym, czy obiekt strzela. Odpowiednio : 0 - jeśli nie strzela, 1 - jeśli strzela</span></span></span></span></span>
w Step
GML
if distance_to_object(nazwa_obiektu_gracza) < twoja_odległość and strzela=0 /* jeśli dystans do obiektu nazwa_obiektu_gracza wynosi
mniej niż twoja_odległość i obiekt nie strzela */
{
instance_create(x,y,pocisk) // obiekt tworzy pocisk obok siebie
strzela=1 // ustawia zmienną strzela na 1, co oznacza, że jest w trakcie strzelania
alarm[0]=2*room_speed // ustawia alarm 0 na czas około 2 sekund
}
w Alarm 0
GML
strzela=0 // a przy wykonaniu alarmu 0 przestaje strzelać</span></span></span></span></span>
W Create ustaw początkową ilość żyć, energii czy co tam chcesz, oczywiście w taki sposób, aby to dobrze działało. Na przykład, jeśli chcesz, żeby ilość żyć reprezentowała zmienna hp, to w Create dajesz kod
GML
hp=10 // definiujemy zmienną hp, która ustala, że mamy 10 żyć</span></span></span></span></span>
a w kolizji z obiektem "pocisk" albo czymkolwiek, czym strzela wróg
GML
hp-=5 // odejmujemy 5 hp</span></span></span></span></span>
no i w step (to już opcjonalnie, zależy od tego, jaką chcesz mieć reakcję na brak żyć)
GML
if hp<=0 // jeśli nie mamy już żyć
{
show_message('Aleś waleczny! Przegrałeś!') // pokazujemy wiadomość, której treść widzisz w apostrofach
game_end() // i wyłączamy grę
}
E: trochę spóźniony ;/
E2: dobra Karolku, niech Ci będzie - czeindżuję kod na wypadek, gdyby chciał sobie zmienić wartość obrażeń.