Code:
#include <acknex.h>



void cube2()
{
	vec_set(my.pan, vector(random(360), random(360), random(360)));
	vec_set(my.scale_x, vector(0.5, 0.5, 2));

	VECTOR position_offset;
	ANGLE angle_offset;	
	vec_set(position_offset, my.x);
	vec_to_ent(position_offset, you);
	ang_diff(angle_offset, my.pan, you.pan);
	
	while(1)
	{
		vec_set(my.x, position_offset);
		vec_rotate(my.x, you.pan);
		vec_add(my.x, you.x);
		
		vec_set(my.pan, you.pan);
		ang_rotate(my.pan, angle_offset);
		
		wait(1);
	}
}

void cube1()
{
	vec_set(my.pan, vector(random(360), random(360), random(360)));
	ent_create(CUBE_MDL, vector(100, 0, 20), cube2);
	while(1)
	{
		vec_add(my.pan, vector(2 * time_step, 0.5 * time_step, time_step));
		wait(1);
	}
}

void main()
{
	randomize();
	level_load("");
	ent_create(CUBE_MDL, vector(100, 0, 0), cube1);
}


hm... bei mir scheint es so zu funktionieren. hab es aber nur ganz kurz getestet.