Потестил в 3D стрелялке.
Вот рабочий вариант. Камеру, у меня по крайней мере, не дергает.
IF(ISKEYDOWN(1)=1)
   WAITMS(35)
   LUP(INT($_xmax/2),INT($_ymax/2))
ELSE
   WAITMS(10)
END_IF
Если выстрел не срабатывает или плохо срабатывает, увеличь задержку WAITMS(35) 
Опять же если требуется стрелять короткими очередями увеличь задержку еще сильнее (подбирается опытным путем.)
А вот вариант с включением/отключением одиночных выстрелов на клавишу N
IF(ISKEYDOWN(#N)=1)
   WHILE(ISKEYDOWN(#N)=1)
      WAITMS(5)
   END_CYC
   IF($t1 = 0)
      $t1 = $t1^1
      SETTHREAD (t1, 1)
      BEEP(1000,200)       
   ELSE
      $t1 = $t1^1
      SETTHREAD (t1, 2)
      BEEP(500,200)
   END_IF
ELSE
   WAITMS(20)
END_IF
THREAD(t1, 0)
   WAITMS(0)
   IF(ISKEYDOWN(1)=1)
      WAITMS(35)
      LUP(INT($_xmax/2),INT($_Ymax/2))
   ELSE
      WAITMS(10)
   END_IF
END_THREAD