Ich habe dein Code mal komplett umgeschrieben ich hoffe das ist nicht schlimm...
Code:
var faktor=5;
VECTOR* temp=nullvector;

function dragon_physik(){
	while(!me){wait(1);}
	dragon=me;
	while(me){
		camera.x=my.x-200*cos(my.pan);
		camera.y=my.y-200*sin(my.pan);
		camera.z=my.z+200;
		camera.pan=my.pan;
		camera.tilt=-30;
		my.skill1=faktor*(key_w-key_s)*time_step;
		my.pan+=5*(key_a-key_d)*time_step;
		result=c_trace(my.x,vector(my.x,my.y,my.z-10000),IGNORE_ME|USE_BOX);
		if(result>5&&my.skill4==0){
			my.z-=(result/5)*time_step;
		}else{
			if(result<2&&my.skill4==0){
				my.z+=2*time_step;
			}
		}
		if(key_space&&my.skill4==0&&(result>2&&result<5)){
			while(key_space){wait(0.1);}
			my.skill4=50;
		}
		if(my.skill4>0){
			my.z+=(my.skill4/10)*time_step;
			my.skill4-=5*time_step;
		}else{
			my.skill4=0;
		}
		c_move(my,vector(my.skill1,0,my.skill3),nullvector,GLIDE|IGNORE_PASSABLE);
		wait(1);
	}
}

function main(){
//.... irgendwas anderes
ent_create("dragon.mdl",vector(0,0,200),dragon_physik);

Hoffe das alles so ist wie du es wolltest.
MFG Ralph

Last edited by Ralph; 10/04/08 18:30.