OK, here is short example of my script:
Code:
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#define dist_x skill1
#define dist_y skill2
#define dist_z skill3
#define absdist_x skill4
#define absdist_y skill5
#define absdist_z skill6
#define force_x skill7
#define force_y skill8
#define force_z skill9
#define move_spd skill10
#define turn_spd skill11
#define armor skill99 // used for health
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
ENTITY* turret;
ENTITY* body;
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
function handle_size(ENTITY* ent,X,Y,Z)
{
	ent.scale_x = X;
	ent.scale_y = Y;
	ent.scale_z = Z;
}
function handle_gravity(ENTITY* ent)
{
	VECTOR temp;
	vec_set(temp.x,ent.x);
	temp.z -= 200;
	my.absdist_z = -c_trace(ent.x,temp.x,IGNORE_FLAG2|IGNORE_PASSABLE|USE_POLYGON|USE_BOX) - ent.min_z - 5;
}
function set_camera()
{
	camera.pan += ang(turret.pan - camera.pan) * time_step * 0.8; 
	camera.tilt = -90;
	camera.arc = 70;
	vec_set(camera.x,vector(my.x,my.y,my.z + 500));
}
function set_tank()
{
	VECTOR temp;
	proc_mode = PROC_LATE;
	body = ent_create("body.mdl",my.x,NULL); // body's model
	turret = ent_create("turret.mdl",my.x,NULL); // turret's model
	set(body,FLAG2);
	handle_size(body,1,1,1);
	set(turret,FLAG2);
	handle_size(turret,1,1,1);
	while(1)
	{
		vec_set(body.x,my.x);
		vec_set(body.pan,my.pan);
		body.tilt = 0;
		vec_for_bone(temp,body,"TURRET"); // bone's name
		vec_set(turret.x,temp.x);
		turret.pan -= 0.5 * mickey.x * time_step;
		turret.tilt = 0;
		wait(1);
	}
}
action tank()
{
	player = my;
	set(my,TRANSLUCENT|FLAG2);
	my.alpha = 5;
	handle_size(my,1,1,1);
	my.armor = 200; // health 
	my.move_spd = 10; 
	my.turn_spd = 10;
	set_tank(); // create tank parts
	while(my.armor > 0)
	{
		my.force_x = my.move_spd * (key_w - 0.8 * key_s) * time_step;
		accelerate(my.dist_x,my.force_x,0.8);
		my.force_y = 0; 
		my.force_z = 0;
		my.dist_y = 0;
		my.dist_z = 0;
		handle_gravity(my); // apply gravity
		my.pan += my.turn_spd * (key_a - key_d) * time_step;
		c_move(my,my.dist_x,my.absdist_x,IGNORE_PASSABLE|IGNORE_FLAG2|USE_POLYGON|GLIDE);
		set_camera(); // set camera position
		wait(1);
	}
}
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////




Looking for free stuff?? Take a look here: http://badcom.at.ua
Support me on: https://boosty.to/3rung