Hi littlejacky
hier ist ein code fürs Steigungsmessen

Code:
///////////////////////////////
#include <acknex.h>
#include <default.c>

var walk_percentage;

var dist=200;
var tracy=-10;//für c_trace
ENTITY*box1;

var movement_speed = 10; // movement speed

VECTOR temp;
VECTOR temp2;
VECTOR one;
VECTOR two;
ANGLE temp_angles;

///////////////////////////////
action Spieler()
{
	player=my;
	c_updatehull(my,1);
	while(1)
	{
		
		
		
		
		
		if(key_a)//wenn der ,der das "Spiel" spielt die a Taste drückt
		{
			//my.pan+=10*time_step;//für die Drehung des Spielers my.pan+=1; ist genau das gleiche wie my.pan=my.pan+1;
			c_rotate(my,vector(10*time_step,0,0),GLIDE | IGNORE_PASSABLE);
		}
		
		if(key_d)//wenn der ,der das "Spiel" spielt die d Taste drückt
		{
			c_rotate(my,vector(-10*time_step,0,0),GLIDE | IGNORE_PASSABLE);//für die Drehung des Spielers my.pan+=1; ist genau das gleiche wie my.pan=my.pan+1;
			
		}
		
		if(key_w&&key_shift)//wenn der ,der das "Spiel" spielt die w Taste und die Shift Taste drüct drückt
		{
			c_move(my,vector(20*time_step,0,0),nullvector,GLIDE | IGNORE_PASSABLE);//Spieler bewegt sich schneller nach vorne  
			ent_animate(my, "walk", walk_percentage, ANM_CYCLE); // Geh-Animation
			walk_percentage += 4 * time_step; // Geschwindigkeit für die Gehanimation
		}
		
		if(key_w)//wenn der ,der das "Spiel" spielt die w Taste drückt
		{
			c_move(my,vector(5*time_step,0,0),nullvector,GLIDE | IGNORE_PASSABLE);  //Spieler bewegt sich nach vorne  
			ent_animate(my, "walk", walk_percentage, ANM_CYCLE); // Geh-Animation
			walk_percentage += 4* time_step; // Geschwindigkeit für die Gehanimation
		}
		
		if(key_s)//wenn der ,der das "Spiel" spielt die w Taste drückt
		{
			c_move(my,vector(-5*time_step,0,0),nullvector,GLIDE | IGNORE_PASSABLE);  //Spieler bewegt sich nach vorne  
			ent_animate(my, "walk", walk_percentage, ANM_CYCLE); // Geh-Animation
			walk_percentage += 4* time_step; // Geschwindigkeit für die Gehanimation
		}
		
		
		
		
		
		
		//camera.x = player.x - 200 * cos(player.pan); // 200 = distance

		//	camera.y = player.y - 200 * sin(player.pan); // same value here

		//camera.z = player.z + 20; // above the player

		//camera.pan = player.pan;

		camera.tilt = 0; // look down at the player

		camera.roll = 0;
		
		
		vec_set(temp.x, vector(10000, 0, -20)); // trace 1000 quants in front of the camera (the player)

		vec_rotate(temp.x, player.pan); // rotate "temp" in the direction (angles) given by the camera (the player)

		vec_add(temp.x,player.x); // add the resulting vector to camera's (player's) position
		
		vec_set(temp2.x, vector(10000, 0, 20)); // trace 1000 quants in front of the camera (the player)

		vec_rotate(temp2.x, player.pan); // rotate "temp" in the direction (angles) given by the camera (the player)

		vec_add(temp2.x, player.x); //
		
		if(c_trace (vector(player.x,player.y,player.z-20), temp.x, IGNORE_ME | USE_POLYGON )>0)
		{
			vec_set(one,hit);
			draw_line3d(vector(player.x,player.y,player.z-20), NULL, 100);
			
			draw_line3d(hit.x, vector(0, 0, 0), 100);
			dist=vec_dist(one,two);
		}
		if(c_trace (vector(player.x,player.y,player.z+20), temp2.x, IGNORE_ME | USE_POLYGON )>0)
		{
			vec_set(two,hit);
			draw_line3d(vector(player.x,player.y,player.z+20), NULL, 100);
			
			// draw a blue line that connects s1 and s2

			draw_line3d(hit.x, vector(255, 0, 0), 100);
			dist=vec_dist(one,two);
		}
		if(c_trace (player.x,vector(player.x,player.y,player.z-1000), IGNORE_ME | USE_POLYGON )>0)
		{
			
			c_move (my, nullvector, vector( 0, 0, tracy*time_step), GLIDE | IGNORE_PASSABLE);
		}	
		
		
			draw_line3d(one, NULL, 100);
			
			draw_line3d(two, vector(0, 0, 0), 100);
		
		if(dist<70)
		{
			tracy=-100;
		}	
		else
		{
			tracy=-10;
		}
		wait(1);
	}
}




function main()
{
	level_load("test.wmb");
	
}


WFG Progger

Last edited by Progger; 09/06/10 15:24.

asking is the best Way to get help laugh laugh laugh