Das geht ja gar nicht. HM, da ist irgendwie anders der Wurm drin.

Ich habe es grad mal bei mir mit einem x-beliebigen kleinen Model probiert, dass ich am Anfang der Funktion über ent_morph für die (alte) Kiste eingesetzt habe.
Funktioniert! Alles bestens!


Das ist der Code von Dir, wie ich ihn modifiziert hatte und womit es einwandfrei läuft:
Code:
///////////////////////////////
#include <acknex.h>
#include <default.c>

///////////////////////////////

ENTITY* eBox;
ENTITY* ePlayer;
ENTITY* eAim;

var l_level = 1;
STRING* str1 = "Level";
STRING* str2 = ".WMB";
STRING* str3 = "";
STRING* str4 = "";






PANEL* panLevComp =
{
	pos_x = 10;
	pos_y = 10;
	bmap = "level_comp.bmp";
	flags = overlay;
}

function main()
{
	level_load("Level1.WMB");
	wait(2);

}

action player_walk()
{
	ePlayer = me;
	var anim_percW = 0;
	var anim_percD = 0;
	var anim_percS = 0;
	var anim_perc = 0;
	while(1)
	{
		ent_animate(my,"stand", anim_perc, ANM_CYCLE);
		anim_perc+=0.5;
		
		if(key_w)
		{
			my.pan =0;
			c_move(my,nullvector, vector(5,0,0),GLIDE);
			ent_animate(my,"run", anim_percW, ANM_CYCLE);
			anim_percW+=0.5;		
		}
		if(key_a)
		{
			my.pan = 90;
			c_move(my,nullvector, vector(0,5,0),GLIDE);
			ent_animate(my,"run", anim_percW, ANM_CYCLE);
			anim_percW+=0.5;		
		}
		if(key_d)
		{
			my.pan = -90;
			c_move(my,nullvector, vector(0,-5,0),GLIDE);
			ent_animate(my,"run", anim_percD, ANM_CYCLE);
			anim_percD+=0.5;		
		}
		if(key_s)
		{
			my.pan = 180;
			c_move(my,nullvector, vector(-5,0,0),GLIDE);
			ent_animate(my,"run", anim_percS, ANM_CYCLE);
			anim_percS+=0.5;		
		}
		
		wait(1);
	}
}

function Box_Event()
{
	
	if(event_type == EVENT_IMPACT)
	{
		if(key_w)
		{
			my.skill1 = 1;
			
			//eBox.x+=1;
		}
		if(key_s)
		{
			my.skill2 = 1;
			//eBox.x-=1;
		}
		if(key_a)
		{
			my.skill3 = 1;
			//eBox.y+=1;
		}
		if(key_d)
		{
			my.skill4 = 1;
			//eBox.y-=1;
		}

	}
}

action box_move()
{
	eBox = me;
	my.emask |=(ENABLE_IMPACT);
	my.event = Box_Event;
	
	while(1)
	{
	
		if(my.skill1)
		{
			c_move(me, nullvector, vector(0.5,0,0), GLIDE);
			my.skill1 = 0;
		}
		if(my.skill2)
		{
			c_move(me, nullvector, vector(-0.5,0,0), GLIDE);
			my.skill2 = 0;
		}
		if(my.skill3)
		{
			c_move(me, nullvector, vector(0,0.5,0), GLIDE);
			my.skill3 = 0;
		}
		if(my.skill4)
		{
			c_move(me, nullvector, vector(0,-0.5,0), GLIDE);
			my.skill4 = 0;
		}
		wait(1);
}

		
}

function aim_event()
{
	
	if(event_type == EVENT_IMPACT)
	{
	my.event = 0;
//		if(eBox.x == eAim.x || eBox.y == eAim.y)
//		{
			l_level++;
			str_for_num(str4,l_level);
			str_cat(str1,str4);
			str_cat(str1, str2);
			str_cpy(str3, str1);
		

			ptr_remove(eBox);
			set(panLevComp, SHOW);
		
			wait(-3);
		
			level_load(str3);
			reset(panLevComp, SHOW);

			str_trunc(str1,5);
			str_trunc(str4,1);
//		}
		
	}

}
action aim()
{
//	set(me, POLYGON);
	ent_morph(me, "apple.mdl");
	my.z +=100;
	eAim = me;
	my.emask |= (ENABLE_IMPACT);
	my.event = aim_event;
}