K. So my player_action:

Code:
action player_action()//this is the player action executed on all machines
{
	while(GSTNet_Handle(my) == 0)
	{
		wait(1);
	}
	GSTNet_TrackEntity(me,1+2);//track the position and rotation of this entity, parameters will be send to all PCs, but they wont be send from the server to the client that created this ent(userful :) )
	GSTNet_TrackSkills(me,1,3);//track skills 1-3 of this entity. Same situation as above
	while(1)
	{
		my.event = pl_hurt;
		my.emask = ENABLE_IMPACT;
		c_move(my,nullvector,my.force_x,IGNORE_PASSABLE|GLIDE);
		VECTOR vFeet;
	   vec_for_min(vFeet,me);
	   c_trace(me.x,vector(me.x,me.y,me.z-200), IGNORE_ME | IGNORE_PASSABLE);
	  	me.z = hit.z - vFeet.z+100;
		wait(1);
	}	
}



And a few lines of my player_movement:

Code:
function control_player()//this is the control function of the player, only executed on the given client
{
	mouse_mode = 0;
	player.STATE = 7;
	player.CLASS = 4;
	shoot2();
	set(player, FLAG2);
	
	while(player == NULL)
	{
		wait(1);
	}	
	ent_morph(player, "Models\\Weapons\\m24\\m24_take.mdl");
	while(1)
	{
		player.force_x = (key_w-key_s)*pl_speed*time_step;
		player.force_y = (key_a-key_d)*12*time_step;
		player.force_z = 0;
		player.pan -= mouse_force.x*2;
		player.tilt += mouse_force.y*2;
                .....