Hi,
ich arbeite gerade an einem neuen Projekt, und erstelle gerade den Movementcode. Allerdings bleibt das Spielermodell in der Luft, fällt also nicht zu Boden. Hier meine Schwerkraftfunktion:

Code:
function schwerkraft()
{
	while(1){
	if (c_trace(my.x, vector(my.x,my.y,my.z-100000000), IGNORE_ME | IGNORE_PASSABLE | USE_POLYGON) >0)
		distanz_zum_boden = my.z + vFuesse.z - target.z;
	else
		distanz_zum_boden = 0;
		
	if (distanz_zum_boden > 0)
		distanz_zum_boden = clamp(distanz_zum_boden,0,accelerate(fallgeschwindigkeit,5,0.1));
	else
		fallgeschwindigkeit = 0;
		wait(1);
	}
	
}



Und hier mein ganzer Code, der dem Spielermodell zugewiesen ist:
Code:
var fallgeschwindigkeit = 0;
var distanz_zum_boden;
VECTOR vFuesse;
vec_for_min(vFuesse,me);

function kamera()
{
	while(1){
	camera.x = my.x;
	camera.y = my.y;
	camera.z = my.z;
	camera.pan = my.pan;
	wait(1);
	}
}

function schwerkraft()
{
	while(1){
	if (c_trace(my.x, vector(my.x,my.y,my.z-100000000), IGNORE_ME | IGNORE_PASSABLE | USE_POLYGON) >0)
		distanz_zum_boden = my.z + vFuesse.z - target.z;
	else
		distanz_zum_boden = 0;
		
	if (distanz_zum_boden > 0)
		distanz_zum_boden = clamp(distanz_zum_boden,0,accelerate(fallgeschwindigkeit,5,0.1));
	else
		fallgeschwindigkeit = 0;
		wait(1);
	}
	
}

function bewegen()
{
	while(1){
	my.pan += 2*(key_a-key_d)*time_step; 
	wait(1);
	}
	
}


action spieler()
{
	kamera();
	schwerkraft();
	bewegen();
}



Alles andere funktioniert, alles bis auf die "Schwerkraft".

Danke schonmal im Voraus,
TheShooter laugh


Staub ist das neue Prime!!

Programming is like sex:
One mistake and you have to support it for the rest of your life.

Aktuelles Projekt: http://thisiswargame.bplaced.net/index.html

A8 Commercial *freu*