You can make a sniper effect by changing the camera fov (field of view).
rem Initialisation
sync on
sync rate 30
hide mouse
autocam off
rem Make a level
make matrix 1,5000,5000,25,25
for i=1 to 20
make object box i,200,200,200
position object i,int(rnd(5000)),100,int(rnd(5000))
next i
rem Starting positions
position camera 2500,100,2500
fov#=80
do
rem Mouselook, with coefficient to steady aim based on zoom level
cx#=wrapvalue(cx#+(mousemovey()*0.01*fov#))
cy#=wrapvalue(cy#+(mousemovex()*0.01*fov#))
rem Simple movement
if upkey()=1 then move camera 10
if downkey()=1 then move camera -10
rem Zoom with right mouse button
if mouseclick()=2 then fov#=curvevalue(10,fov#,10)
if mouseclick()=0 then fov#=curvevalue(80,fov#,10)
rem This is what sets the fov
set camera fov fov#
rotate camera cx#,cy#,0
sync
loop
Interestingly, if you scale it the other way,
if mouseclick()=2 then fov#=curvevalue(150,fov#,10)
it stretches the screen out making it look like everything is moving faster. This could be useful for warp speed and turbo effects. They use this in Zelda: Majora's Mask, if you put on the Goron mask and roll around then the fov changes to make it look like you're going faster than you actually are.