Ok, hier ist was ich bislang habe:

Dieser Code funktioniert soweit recht gut, außer dass nach einer Rotation die
PAN/Scroll Richtungen nicht mehr stimmen.
(Wenn man z.B. dann nach rechts panned, geht die Kamera stattdessen nach vorne, etc).

Könnte mir bitte jemand damit helfen? Danke!

Code:

var worldCenter;

function main
{
level_load ("cam.wmb");
wait(2); // wait until the level is loaded
mouse_mode = 1;
vec_set(camera.x,vector(-205, 0, 42));
camera.tilt = 1;
camera.arc = 90; // widen the FOV
vec_set(worldCenter,vector(-205, 0, 42));

while(1)
{

///////////////////////////////////////////////////////////////////////////////////////////
// Move camera

if(mouse_middle == 1) // Rotate with middle MB ---------------------------------------
{
camera.pan += mouse_force.x * 20 * time_step; // mouse movement changes PAN
camera.tilt += mouse_force.y * 20 * time_step; // mouse movement changes TILT
}

if(mouse_right == 1) // PAN with right MB ----------------------------------------------
{
worldCenter.x -= mouse_force.y * 40 * time_step;
worldCenter.y += mouse_force.x * 40 * time_step;

camera.x = worldCenter.x;
camera.y = worldCenter.y;
}

if(mickey.z != 0) // zoom with mouse wheel ---------------------------------------------
{
vec_diff(temp,target.x,camera.x);
vec_scale(temp,((mickey.z * 1)/480));
vec_add(camera.x,temp);

worldCenter.x = camera.x;
worldCenter.y = camera.y;
worldCenter.z = camera.z;
}

mouse_pos.x = mouse_cursor.x; // update mouse position
mouse_pos.y = mouse_cursor.y; // update mouse position

wait(1);
}

}