Nehmen wir an, dein Gegner hat eine Aktion:

action enemy()
{
//// ....
/// Hier das Event:
my.emask |= ENABLE_SHOOT;
my.event = enemyEvent;
}

Dann ist die Funktion enemyEvent das Event. Klar?
Also, das sähe dann so aus:
Code:
function enemyEvent()
{
    if(event_type == EVENT_SHOOT)
    {
         // tue folgendes bei Beschuss:
         VECTOR trace_to;
         vec_set(trace_to,vector(100,0,0));
         vec_rotate(trace_to,you.pan);
         vec_add(trace_to,target);
         c_trace(target.x,trace_to,IGNORE_ME | IGNORE_PASSABLE);

        
         if (HIT_TARGET) // target hit?
         {
          PARTICLE* p = ent_decal(you,bmMark,7+random(3),random(360)); // place a random sized decal at the hit entity 
          p->lifespan = 1600; // remove decal after 100 seconds
         }
      }
}



Das würde beim Anschießen einen Blutfleck an der Wand hinter dem Gegner erstellen.
Mit ein paar wait() Anweisungen und etwas mehr traces zu mehr Orten kann man so, schön getimt, viele viele Flecken an viele viele Wände und Decken machen... grin
Bei Unklarheiten, frag noch mal nach.

Last edited by the_clown; 01/05/10 17:39.