Hi Lord,
sorry das es etwas gedauert hat. Leider funktioniert das Script noch nicht, die Box am Kopf lässt alle Schüsse durch! Hab´s überprüft, dass Script kommt nie bis zur headshotkill() Funktion!
Was ich nicht verstehe, denn in meinem Level hab ich Beispielsweise auch Fässer mit einer anderen Action. Auf diese schiess ich mit den selben Waffen und sie fragt ebenfalls my.enable_shoot=on, um die Fässer zum explodieren zu bringen, und das klappt.
Kann es daran liegen, dass die Head_entity erst durch Script erzeugt wird und nicht schon im Level steht??
PS: Die Zeile my.health-=damage; bezieht sich doch auf die Head_entity, oder?
Darunter hab ich noch den Code eingefügt der dann den Gegner killen soll!
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 -= 100; //...ziehe den Waffenschaden von meinem Leben ab
//Diese Zeilen brauche ich um den Gegner zu Killen!!
temp.pan = 360;
temp.tilt = 180;
temp.z = 200;
my.enable_scan = on;
scan_entity(my.x, temp);
if ((result > 0) && (result < 200)) // detected an entity
{
BEEP(); //Zur Kontrolle!!
you._health__003 -= 2000; //Schaden am Gegner !!!
}
}
}