Hi,

Thanks for you answer, here is another example keys are (r) => rotate and (up), (down), (left), (right) for moving, and they still do the same thing :

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

function main()
{	
	physX_open();
	level_load("");
	
	vec_set(camera.x,vector(-500,-23,200));
	vec_set(camera.pan, vector(0, -30, 0));
		
	ENTITY *ground = ent_createterrain(NULL, NULL, 32, 32, 1000);
	bmap_fill(bmap_for_entity(ground, 0), vector(0, 0, 255), 100);
	pXent_settype(ground, PH_STATIC, PH_BOX);
	
	
	ENTITY *e = ent_create(CUBE_MDL, vector(20, 20, 17), NULL);
	pXent_settype(e, PH_CHAR, PH_BOX);
	
	var angle = 0;
	while(1)
	{
		if (key_r)
			angle += 5 * time_step;	
		//pXent_moveglobal(e, NULL, NULL);
		
		VECTOR temp;
		vec_set(&temp, vector((key_cuu - key_cud) * 5 * time_step, (key_cul - key_cur) * 5 * time_step, 0));
		
		// These two functions do the same thing
		//pXent_moveglobal(e, &temp, vector(angle, 0, 0));
		pXent_movelocal(e, 0, &temp, vector(angle, 0, 0));
			
		wait(1);
	}
}