Dann versuchen wir's mal anzugehen. Du brauchst ein Knochen-Modell (bone.mdl) und eine Blutflecken-Sprite (blut.bmp). Wie erschaffst Du die Knochen? Mit EMIT ?? -> dann musst Du halt selbst eine Knochen-Definition scheiben z.B. (definition_flying_bones). Ich hab den Code so geschrieben, dass Du einfach beispielsweise 7x einen Knochen erschaffen kannst, bevor Du das Ewige segnest, geht das ok.
...
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
...
wait 1;
REMOVE (ME);
...

OK, dann mein Code (hab ihn nicht getestet, hat vielleicht noch ein paar Fehler drin).

//BIND <blut.bmp>;
//BIND <bone.mdl>;

DEFINE _COUNTER_1, SKILL32;
DEFINE _COUNTER_2, SKILL33;
DEFINE _ARRAY_X,SKILL34;
DEFINE _ARRAY_Y,SKILL35;
DEFINE _ARRAY_Z,SKILL36;
DEFINE _ARRAY_PAN,SKILL37;
DEFINE _ARRAY_TILT,SKILL38;
DEFINE _ARRAY_ROLL,SKILL39;

VAR angles[3];
VAR bounce_pos[3];

//Prototypes

FUNCTION flying_bones();
FUNCTION blut_function();
FUNCTION bone_bounce();
FUNCTION blut_init();

//FUNCTION der fliegenden Knochen

FUNCTION flying_bones
{
MY.SCALE_X = YOU.SCALE_X/2.5;
MY.SCALE_Y = YOU.SCALE_Y/2.5;
MY.SCALE_Z = YOU.SCALE_Z/2.5;
MY._ARRAY_X = (40 - RANDOM (80)) * TIME;
MY._ARRAY_Y= (40 - RANDOM (80)) * TIME;
MY._ARRAY_Z= RANDOM (20) * TIME;

MY._ARRAY_PAN=(20 - RANDOM (40)) * TIME;
MY._ARRAY_TILT=(20 - RANDOM (40)) * TIME;
MY._ARRAY_ROLL=(20 - RANDOM (40)) * TIME;
MY._COUNTER_1 = 1000;
MY._COUNTER_2 = 1 + RANDOM (3);

MY.EVENT = bone_bounce;
MY.ENABLE_BLOCK = ON;
MY.ENABLE_ENTITY = ON;

WHILE (MY._COUNTER_1 > 0)
{
MY._COUNTER_1 -= MY._COUNTER_2;
MY.PAN += MY._ARRAY_PAN;
MY.TILT += MY._ARRAY_TILT;
MY.ROLL += MY._ARRAY_ROLL;
ent_move (NULLVECTOR, MY._ARRAY_X);
wait (1);
}
REMOVE (ME);
}

//FUNCTION der abprallenden Knochen

FUNCTION bone_bounce()
{
IF ((EVENT_TYPE == EVENT_BLOCK) || (EVENT_TYPE == EVENT_ENTITY))
{
TO_ANGLE angles,BOUNCE; // BOUNCE
MY.PAN -= MY._ARRAY_PAN;
MY.TILT -= MY._ARRAY_TILT;
MY.ROLL -= MY._ARRAY_ROLL;
blut_init();
CREATE(<blut.bmp>,bounce_pos,blut_function);
}
}

//FUNCTION der blut sprites

FUNCTION blut_function
{
MY.FACING = ON;
wait 200;
REMOVE (ME);
}

//FUNCTION der gebouncten Knochen (Vectorübergabe)

FUNCTION blut_init()
{
VEC_SET(blut_pos,MY.X);
VEC_SET(NULLVECTOR, MY._ARRAY_X);
}