so you using C-Script smirk , for me very difficult write on C-Script, but i try
there we go

Code:
entity* molen_arm;
var gcon;

action swing_gondela {
	var con;
	var aang[3];
	while(molen_arm==null) {
		wait(1);
	}
	
	phent_settype(my,PH_RIGID,PH_SPHERE);
	phent_setmass(my,1,PH_SPHERE);
	con = phcon_add(PH_HINGE,my,molen_arm);
	
	vec_set(aang,molen_arm.x);
	vec_sub(aang,my.x);
	vec_normalize(aang,1);
	vec_rotate(aang,vector(90,0,0));// there is error, i just forget rotate axis in previous code :p
	
	phcon_setparams1(con,vector(my.x,my.y,molen_arm.z),vector(aang.x,aang.y,0),nullvector);
	phcon_setparams2(con,vector(-360,360,0),nullvector,nullvector);
	
	//debug
	var pos[3];
	vec_set(pos,vector(my.x,my.y,molen_arm.z));
	while (1)
	{
		vec_set(aang,pos);vec_rotate(aang,molen_arm.pan);
		draw_line3d(aang,NULL,100);draw_line3d(my.x,vector(0,0,255),100);
		wait(1);
	}
}


action molen {
	
	my.passable = on;
	
	phent_settype(my,PH_RIGID,PH_BOX);
	phent_setmass(my,1,PH_SPHERE);
	gcon = phcon_add(PH_HINGE,my,NULL);
	phcon_setparams1(gcon,my.x,vector(0,0,1),nullvector);
	phcon_setparams2(gcon,vector(-360,360,0),nullvector,nullvector);
	molen_arm = my;
	
	
}
function main ()
{
	level_load ("map.wmb");
	ph_setgravity (vector(0,0,-300));
	while(molen_arm==null) {wait(1);}
	while (1)
	{
		phcon_setmotor (gcon,vector(3,10,0),nullvector,nullvector);
		wait(1);
	}
}


Last edited by XD1v0; 04/18/09 20:17.

A7 Commercial cool
Celeron 1700, GeForce 5500 FX 256mb, 1 Gb Ram