Thanks Codger, nice little function there. I think I have worked it out for myself though. Like you said, just have to keep a constant height and not let the camera pan
This is what I came up with:
scroll_map:
xpos# = CAMERA POSITION X()
ypos# = CAMERA POSITION Y()
zpos# = CAMERA POSITION Z()
xmouse# = MOUSEX()
ymouse# = MOUSEY()
IF UPKEY() = 1 THEN POSITION CAMERA xpos#+1.2, ypos#, zpos#+1.2
IF DOWNKEY() = 1 THEN POSITION CAMERA xpos#-1.2, ypos#, zpos#-1.2
IF LEFTKEY() = 1 THEN POSITION CAMERA xpos#-0.6, ypos#, zpos#+1.2
IF RIGHTKEY() = 1 THEN POSITION CAMERA xpos#+0.6, ypos#, zpos#-1.2
IF xmouse# < 10 THEN POSITION CAMERA xpos#-0.6, ypos#, zpos#+1.2
IF xmouse# > screenw-10 THEN POSITION CAMERA xpos#+0.6, ypos#, zpos#-1.2
IF ymouse# < 10 THEN POSITION CAMERA xpos#+1.2, ypos#, zpos#+1.2
IF ymouse# > screenh-10 THEN POSITION CAMERA xpos#-1.2, ypos#, zpos#-1.2
`up/left
IF xmouse# < 10 AND ymouse# < 10 THEN POSITION CAMERA xpos#+0.6, ypos#, zpos#+1.2
`down/left
IF xmouse# < 10 AND ymouse# > screenh-10 THEN POSITION CAMERA xpos#-1.8, ypos#, zpos#
`up/right
IF xmouse# > screenw-10 AND ymouse# < 10 THEN POSITION CAMERA xpos#+1.8, ypos#, zpos#
`down/right
IF xmouse# > screenw-10 AND ymouse# > screenh-10 THEN POSITION CAMERA xpos#-0.6, ypos#, zpos#-1.2
RETURN