Hmm pointer.x/y sollten eigentlich keine werte nur bis 99 anzeigen...
Wie hast du das denn getestet?

nebenbei, ich würde die function move_player auf die linke maustaste legen und dann in der function selber
ein "while(mouse_left)" einbauen.
Ich hab das mal eben geschrieben und getestet, funktioniert wunderbar, in der main function wird einfach "toggle_mouse(2);" aufgerufen der rest ist hier:
Code:

bmap cursor_map = <arrow.pcx>;

function toggle_mouse(mmode)
{
mouse_mode = mmode;
mouse_map = cursor_map;
mouse_pos.x = screen_size.x / 2;
mouse_pos.y = screen_size.y / 2;
while(mouse_mode)
{
mouse_pos.x = pointer.x;
mouse_pos.y = pointer.y;
wait(1);
}
mouse_map = null;
}

action player_act
{
player = me;
}

function turn_player()
{
var mouse_spot[3];
while(mouse_left)
{
mouse_spot.x = pointer.x;
mouse_spot.y = pointer.y;
mouse_spot.z = 0;
vec_for_screen(mouse_spot,camera);
mouse_spot.z = player.z;
vec_sub(mouse_spot,player.x);
vec_to_angle(player.pan,mouse_spot);
wait(1);
}
}

on_mouse_left = turn_player;



mfg Thunder