This page includes script files for Urban Terror.

Copy the script and paste it into a text editor. Then save it with a .cfg extension in your Game path. To execute, type /exec <script name> in Console.
For more information, see Installing Scripts.

See Category:Scripts & Configs for more information about scripts, scripting, and additional sample scripts.


by iynque Edit

For reviewing demos.

  • / (think of it as ?) toggles r_shownormals (to check for wallhacks)
  • Left arrow slows time down
  • Right arrow seeds time up
  • Down arrow pauses
  • Shift toggles to third-person view
  • Page Down backs view away (third-person view)
  • Page Up zooms in again (third-person view)
  • End moves view right (third-person view)
  • Home moves view left (third-person view)
  • F10 starts recording to AVI video (F10 again stops). I recommend setting this to whichever key you normally use to record a demo in-game. Also, it records the video at your game resolution. You may want to lower WAY down (like 640 x 480) before you try to record.

Based on a script by TaggedZi, which uses code by Nexu.


  1. //Special settings for viewing demos
  2. set com_cameramode  "1"
  4. //////////////////////////////////////////////
  5. // Playback Controls
  6. bind /              "vstr normals_toggle"   // Toggle Normals on display
  7. bind LEFTARROW      "vstr set_speed_minus"  // Slow Down Time Scale
  8. bind DOWNARROW      "toggle cl_freezeDemo; ut_echo ^7[^4Pause^7]"   // Pause
  9. bind RIGHTARROW     "vstr set_speed_plus"   // Fast Forward (speed up time scale)
  10. bind SHIFT          "vstr 3rd_toggle"       // Toggle Record AVI
  11. bind PGDN           "vstr incrange"         // Back up from Character in 3rd person View
  12. bind PGUP           "vstr decrange"         // Get closer to character in 3rd person view
  13. bind END            "vstr incangle"         // Move Clockwise arround character in 3rd person view
  14. bind HOME           "vstr decangle"         // Move Counter Clockwize around character in 3rd person view
  15. bind F10            "vstr record_AVI"       // Record AVI movie--suggest setting to your normal record demo key
  17. //////////////////////////////////////////////
  18. // Show Normals Toggle by <taggedzi>
  19. set normals_on  "set r_shownormals 1; ut_echo ^7[^4Show Normals ^2ON^7]; set normals_toggle vstr normals_off"
  20. set normals_off "set r_shownormals 0; ut_echo ^7[^4Show Normals ^1OFF^7]; set normals_toggle vstr normals_on"
  21. set normals_toggle "vstr normals_on"
  23. //////////////////////////////////////////////
  24. //  First/Third Toggle by <taggedzi>
  25. set 3rd_on  "set cg_thirdperson 1; wait 15; ut_echo ^7[^4Third-person perspective^7]; set 3rd_toggle vstr 3rd_off"
  26. set 3rd_off "set cg_thirdperson 0; wait 15; ut_echo ^7[^4First-person perspective^7]; set 3rd_toggle vstr 3rd_on"
  27. set 3rd_toggle "vstr 3rd_on" //set default
  29. //////////////////////////////////////////////
  30. // AVI Demo Record Toggle by <taggedzi>, modified by iynque
  31. set cl_aviMotionJpeg    "1"                 // keeps files from being huge
  32. set cl_aviframerate     "25"                // Sets frame rate to 25 fps
  33. set record_AVI_start    "video; wait 15;    set record_AVI vstr record_AVI_stop;    cg_smoothclients 1; ut_echo ^7[^4AVI video ^2RECORDING^7];  play sound/items/itemon.wav"
  34. set record_AVI_stop     "                   set record_AVI vstr record_AVI_start;   cg_smoothclients 0; ut_echo ^7[^4AVI video ^1STOPPED^7];    play sound/items/itemoff.wav;   wait 15;    stopvideo"
  35. set record_AVI          "vstr record_AVI_start"
  37. //////////////////////////////////////////////
  38. // Control Third Person Range by <nexu>, modified by iynque
  39. set null        "play sound\misc\menu4.wav"
  40. set ra000       "cg_thirdPersonRange 000;   set incrange vstr ra020;    set decrange vstr null;     ut_echo ^7[^4Range ^8|^4---------------^7]"
  41. set ra020       "cg_thirdPersonRange 020;   set incrange vstr ra040;    set decrange vstr ra000;    ut_echo ^7[^4Range -^8|^4--------------^7]"
  42. set ra040       "cg_thirdPersonRange 040;   set incrange vstr ra060;    set decrange vstr ra020;    ut_echo ^7[^4Range --^8|^4-------------^7]"
  43. set ra060       "cg_thirdPersonRange 060;   set incrange vstr ra080;    set decrange vstr ra040;    ut_echo ^7[^4Range ---^8|^4------------^7]"
  44. set ra080       "cg_thirdPersonRange 080;   set incrange vstr ra100;    set decrange vstr ra060;    ut_echo ^7[^4Range ----^8|^4-----------^7]"
  45. set ra100       "cg_thirdPersonRange 100;   set incrange vstr ra120;    set decrange vstr ra080;    ut_echo ^7[^4Range -----^8|^4----------^7]"
  46. set ra120       "cg_thirdPersonRange 120;   set incrange vstr ra140;    set decrange vstr ra100;    ut_echo ^7[^4Range ------^8|^4---------^7]"
  47. set ra140       "cg_thirdPersonRange 140;   set incrange vstr ra160;    set decrange vstr ra120;    ut_echo ^7[^4Range -------^8|^4--------^7]"
  48. set ra160       "cg_thirdPersonRange 160;   set incrange vstr ra180;    set decrange vstr ra140;    ut_echo ^7[^4Range --------^8|^4-------^7]"
  49. set ra180       "cg_thirdPersonRange 180;   set incrange vstr ra200;    set decrange vstr ra160;    ut_echo ^7[^4Range ---------^8|^4------^7]"
  50. set ra200       "cg_thirdPersonRange 200;   set incrange vstr ra220;    set decrange vstr ra180;    ut_echo ^7[^4Range ----------^8|^4-----^7]"
  51. set ra220       "cg_thirdPersonRange 220;   set incrange vstr ra240;    set decrange vstr ra200;    ut_echo ^7[^4Range -----------^8|^4----^7]"
  52. set ra240       "cg_thirdPersonRange 240;   set incrange vstr ra260;    set decrange vstr ra220;    ut_echo ^7[^4Range ------------^8|^4---^7]"
  53. set ra260       "cg_thirdPersonRange 260;   set incrange vstr ra280;    set decrange vstr ra240;    ut_echo ^7[^4Range -------------^8|^4--^7]"
  54. set ra280       "cg_thirdPersonRange 280;   set incrange vstr ra300;    set decrange vstr ra260;    ut_echo ^7[^4Range --------------^8|^4-^7]"
  55. set ra300       "cg_thirdPersonRange 300;   set incrange vstr null;     set decrange vstr ra280;    ut_echo ^7[^4Range ---------------^8|^4^7]"
  56. set incrange    "vstr ra000"
  57. set decrange    "vstr null"
  59. //////////////////////////////////////////////
  60. // Control Third Person Angle by <nexu>, modified by iynque
  61. set an000       "cg_thirdPersonAngle 000;   set incangle vstr an045;    set decangle vstr an315;    ut_echo ^7[^4Angle ^)| ^2Front^7]"
  62. set an045       "cg_thirdPersonAngle 045;   set incangle vstr an090;    set decangle vstr an000;    ut_echo ^7[^4Angle ^)/ ^2Front^4-^5Right^7]"
  63. set an090       "cg_thirdPersonAngle 090;   set incangle vstr an135;    set decangle vstr an045;    ut_echo ^7[^4Angle ^)- ^5Right^7]"
  64. set an135       "cg_thirdPersonAngle 135;   set incangle vstr an180;    set decangle vstr an090;    ut_echo ^7[^4Angle ^)\ ^8Back^4-^5Right^7]"
  65. set an180       "cg_thirdPersonAngle 180;   set incangle vstr an225;    set decangle vstr an135;    ut_echo ^7[^4Angle ^)| ^8Back^7]"
  66. set an225       "cg_thirdPersonAngle 225;   set incangle vstr an270;    set decangle vstr an180;    ut_echo ^7[^4Angle ^)/ ^8Back^4-^6Left^7]"
  67. set an270       "cg_thirdPersonAngle 270;   set incangle vstr an315;    set decangle vstr an225;    ut_echo ^7[^4Angle ^)- ^6Left^7]"
  68. set an315       "cg_thirdPersonAngle 315;   set incangle vstr an000;    set decangle vstr an270;    ut_echo ^7[^4Angle ^)\ ^2Front^4-^6Left^7]"
  69. set incangle    "vstr an045"
  70. set decangle    "vstr an315"
  72. //////////////////////////////////////////////
  73. // TimeScale Slider by <taggedzi>, modified by iynque
  74. set speed_00    "cl_freezeDemo 1;   timescale 0.01;     ut_echo ^7[^4Time scale x0.00 ^6|^4........^7]; set set_speed_plus vstr speed_01;               set set_speed_minus play sound\misc\menu4.wav"
  75. set speed_01    "cl_freezeDemo 0;   timescale 0.10;     ut_echo ^7[^4Time scale x0.10 ^6|^4........^7]; set set_speed_plus vstr speed_02;               set set_speed_minus vstr speed_00"
  76. set speed_02    "                   timescale 0.25;     ut_echo ^7[^4Time scale x0.25 ^6|^4........^7]; set set_speed_plus vstr speed_03;               set set_speed_minus vstr speed_01"
  77. set speed_03    "                   timescale 0.50;     ut_echo ^7[^4Time scale x0.50 ^6|^4........^7]; set set_speed_plus vstr speed_04;               set set_speed_minus vstr speed_02"
  78. set speed_04    "                   timescale 0.75;     ut_echo ^7[^4Time scale x0.75 ^6|^4........^7]; set set_speed_plus vstr speed_05;               set set_speed_minus vstr speed_03"
  79. set speed_05    "                   timescale 1.00;     ut_echo ^7[^4Time scale x^21.00 ^4.^6|^4.......^7]; set set_speed_plus vstr speed_06;           set set_speed_minus vstr speed_04"
  80. set speed_06    "                   timescale 1.25;     ut_echo ^7[^4Time scale x1.25 .^6|^4.......^7]; set set_speed_plus vstr speed_07;               set set_speed_minus vstr speed_05"
  81. set speed_07    "                   timescale 1.50;     ut_echo ^7[^4Time scale x1.50 .^6|^4.......^7]; set set_speed_plus vstr speed_08;               set set_speed_minus vstr speed_06"
  82. set speed_08    "                   timescale 2.00;     ut_echo ^7[^4Time scale x2.00 ..^6|^4......^7]; set set_speed_plus vstr speed_09;               set set_speed_minus vstr speed_07"
  83. set speed_09    "                   timescale 4.00;     ut_echo ^7[^4Time scale x4.00 ....^6|^4....^7]; set set_speed_plus vstr speed_10;               set set_speed_minus vstr speed_08"
  84. set speed_10    "                   timescale 8.00;     ut_echo ^7[^4Time scale x8.00 ........^6|^4^7]; set set_speed_plus play sound\misc\menu4.wav;   set set_speed_minus vstr speed_09"
  85. set set_speed_plus "vstr speed_06"
  86. set set_speed_minus "vstr speed_04"
  88. //created by iynque
  89. ut_echo ^7[^4iy_demoset.cfg loaded^7];echo iy_demoset.cfg loaded