Hi, i've just written a little snippet that should do the job. Just add this to your script file, and then assign the action in wed.
action orbit_player()
{
var centerx = 0; // centre of circle (x)
var centery = 0; // centre of circle (y)
var radius = 400; // radius of circle
var theta = 0; // degrees done around the circle
player = me;
camera.genius = me;
while(1)
{
camera.pan = my.pan;
camera.tilt = clamp(camera.tilt,-70,70);
if(mouse_right)
{
theta+=1*time_step;
me.x = centerx +(radius * sinv(theta));
me.y = centery + (radius * cosv(theta));
vec_set(temp,centrex);
vec_sub(temp,my.x);
vec_to_angle(my.pan,temp); // now MY looks at YOU
vec_set(camera.x,my.x);
}
wait(1);
}
}
This doesn't do exactly what you wanted, but when you hold the right-mouse button the camera will orbit a central point.
1) Change centerx and centery to get a different pivot point.
2) Increase radius to get a wider orbit.
3) Change the 1 in theta=1*time_step to speed up or slow down the camera.
If you wanted to orbit around an entity or a specific object, you can set the vector to them like this...
vec_set(temp,weapon.x);
vec_sub(temp,my.x);
vec_to_angle(my.pan,temp);
weapon is a pointer to an entity, make sure you have created pointers properly before using this.
Anyway, it should work, i've tested it.