Achso, du verwendest die Templates. Mal sehen, ob ich da was zusammenbekomme. In diesem Fall brauchen wir wohl keinen Push-Wert.
Code:
string Head_entity,<Head_entity.mdl>; //Definiert das eigene MDL-Model
function ent_headshot();
function entity_bewegen();
function headshotkill();
//------------------------------------------
function ent_headshot()
{
ent_create(Head_entity,nullvector,Entity_Bewegen);
}
function entity_bewegen()
{
proc_late(); //Diese Funktion wird am Ende ausgeführt, nach der erstellenden Entity
my.health = 1; //Pseudowert
my.passable = on; //Passable, damit es nicht an der erstellenden Entity hängt
my.enable_shoot = on; //Ich bin empfänglich für das Shoot-Event
//my.enable_scan = on;
my.event = headshotkill; //Falls ich von dem Shoot-Event getroffen werde, führe mein Event "headshotkill" aus
my.invisible = off; //ich bin sichtbar
while(my.health > 0) // Solange meine Gesundheit größer als 0 ist
{
vec_set(my.x,you.x);
vec_set(my.pan,you.pan);
my.frame = you.frame; // Koordinieren der Animationen
my.next_frame = you.next_frame; // Koordinieren der Animationen
wait(1);
}
ent_remove(my); // Löschen der Entity
}
function headshotkill()
{
if(event_type == event_shoot) //Falls ich vom Shoot-Event getroffen wurde...
{
my.health -= damage; //...ziehe den Waffenschaden von meinem Leben ab
}
}
Das könnte helfen. Wir geben also dem Kopf einen Pseudolebenspunkt, damit wir eine Bedingung haben, um die While-Schleife beenden zu können.
"my.enable_shoot = on;" muss nur einmal aufgerufen werden, dann ist es gültig, bis wir etwas anderes bestimmen. Es muss also nicht in die While-Schleife.
Die While-Schleife führen wir solange aus, bis der Health-Wert des Kopfes <= 0 ist. Bei einem Lebenspunkt ist das schnell erreicht. Wenn du mehrere Treffer auf den Kopf zulassen möchtest, dann erhöhe einfach den Wert bei "my.health".
Probier es mal aus und schreib, falls es nicht funktioniert.
mfg
Lordi