1persistidents 0
2
3newmenu settings
4
5menuitem [Video settings]           [ showmenu video ]
6menuitem [Head-Up Display settings] [ showmenu HUD ]
7menuitem [Gameplay settings]        [ showmenu gameplay ]
8menuitem [Keyboard settings]			  [ showmenu Keyboard ]
9menuitem [Mouse settings]			      [ showmenu Mouse ]
10menuitem [Sound settings]           [ showmenu sound ]
11menuitem [Misc settings]            [ showmenu Misc ]
12menuitem [] -1
13menuitem [Reset all settings] [ showmenu [Reset settings] ]
14
15const isprimary [ return (|| (|| (|| (= $arg1 $SNIPER) (= $arg1 $SHOTGUN)) (|| (= $arg1 $AR) (= $arg1 $SMG))) (= $arg1 $CARBINE)) ]
16
17const getcustomprimarydirs [
18  customprimarydirs = []
19  loop gcp $NUM_WEAPONS [
20    if (! (isprimary $gcp)) [ add2list customprimarydirs (addpunct [ ]) ] [
21      add2list customprimarydirs (at $ALTERNATIVE_WEAPONS (+ (* $gcp 3) 2))
22    ]
23  ]
24  return $customprimarydirs
25]
26
27const loadcustomprimary [
28  nargs = $numargs
29  if (> $nargs 0) [
30    li = $arg1
31    if (isprimary $li) [
32      tmp = (getalias (at $WEAPONS $li))
33      customphud = (format modmdlweap%1 $tmp)
34      custompwld = (format modmdlvwep%1 $tmp)
35      if (> $nargs 1) [ // revert to default primary HUD model if any 2nd argument is given
36        delalias $customphud; delalias $custompwld
37      ] [ // else try loading the custom primary models
38        cdirlist = (getcustomprimarydirs)
39        if (listlen $cdirlist) [
40          dirtotry = (at $cdirlist $li)
41          if (strlen $dirtotry) [
42            $customphud = $dirtotry
43            $custompwld = $dirtotry
44          ]
45        ]
46      ]
47    ]
48  ]
49]
50
51const DEFAULT_PRIMARIES ["MTP-57 Assault Rifle" "A-ARD/10 Submachine Gun" "Precision Tech AD-81 Sniper Rifle" "V-19 Combat Shotgun" "TMP-M&A Carbine"]
52const DEFAULT_PRALIASES [AR SMG SNIPER SHOTGUN CARBINE]
53const DEFAULT_PRMDLDIRS [assault subgun sniper shotgun carbine]
54
55const CUSTOM_PRIMARIES ["AR-15 Assault Rifle" "Mac11 Submachine Gun" "Dragunov SVD Sniper Rifle" "Sawed-off Shotgun" "Marlin Guide Carbine 1895"]
56const CUSTOM_PRMDLDIRS [assault2 subgun2 sniper2 shotgun2 carbine2]
57
58newmenu Weapons
59
60menumdl weapons/assault/menu mapmodel 75 12
61loop gwm (listlen $DEFAULT_PRIMARIES) [
62  execute (format [menuitem [%1] [ nextprimary (getalias %2); loadcustomprimary (getalias %2) 0; echo %1 selected ] [ chmenumdl Weapons weapons/%3/menu mapmodel 75 12 ]] (at $DEFAULT_PRIMARIES $gwm) (at $DEFAULT_PRALIASES $gwm) (at $DEFAULT_PRMDLDIRS $gwm))
63]
64// menuitem [] -1
65// menuitem [Alternative weapons...] [ showmenu [Alternative Weapons] ]
66
67// newmenu [Alternative Weapons]
68
69// menumdl weapons/assault2/menu mapmodel 75 12
70// loop cwm (listlen $CUSTOM_PRIMARIES) [
71//   execute (format [menuitem [%1] [ nextprimary (getalias %2); loadcustomprimary (getalias %2); echo %1 selected ] [ chmenumdl [Alternative Weapons] weapons/%3/menu mapmodel 75 12 ]] (at $CUSTOM_PRIMARIES $cwm) (at $DEFAULT_PRALIASES $cwm) (at $CUSTOM_PRMDLDIRS $cwm))
72// ]
73// menuitem [] -1
74// menuitem [Other alternative weapons...] [ showmenu [Alternative Weapon Models] ]
75
76newmenu CLA
77
78menuinit [ menuselection CLA (player1 skin_cla) ]
79menumdl playermodels/CLA/01 all 50 4
80menuitem [Comandante] [ skin_cla 0 ] [ chmenumdl CLA playermodels/CLA/01 all 50 4 ]
81menuitem [Psycho]     [ skin_cla 1 ] [ chmenumdl CLA playermodels/CLA/02 all 50 4 ]
82menuitem [Bomber]     [ skin_cla 2 ] [ chmenumdl CLA playermodels/CLA/03 all 50 4 ]
83menuitem [Ripper]     [ skin_cla 3 ] [ chmenumdl CLA playermodels/CLA/04 all 50 4 ]
84
85newmenu RVSF
86
87menuinit [menuselection RVSF (player1 skin_rvsf)]
88menumdl playermodels/RVSF/01 all 50 4
89menuitem [Alpha]  [ skin_rvsf 0 ] [ chmenumdl RVSF playermodels/RVSF/01 all 50 4 ]
90menuitem [Tango]  [ skin_rvsf 1 ] [ chmenumdl RVSF playermodels/RVSF/02 all 50 4 ]
91menuitem [Cobra]  [ skin_rvsf 2 ] [ chmenumdl RVSF playermodels/RVSF/03 all 50 4 ]
92menuitem [Viper]  [ skin_rvsf 3 ] [ chmenumdl RVSF playermodels/RVSF/04 all 50 4 ]
93menuitem [Swat]   [ skin_rvsf 4 ] [ chmenumdl RVSF playermodels/RVSF/05 all 50 4 ]
94menuitem [Police] [ skin_rvsf 5 ] [ chmenumdl RVSF playermodels/RVSF/06 all 50 4 ]
95
96newmenu [QUICK setup]
97
98menuitemtextinput [Nickname:] [] [ name $arg1 ]
99menuitemtextinput [Resolution (Width): ] "$scr_w"           [ scr_w $arg1 ]
100menuitemtextinput [Resolution (Height): ] "$scr_h"          [ scr_h $arg1 ]
101menuitemtextinput [Mouse sensitivity: ] "$sensitivity"      [ sensitivity $arg1 ]
102menuitemcheckbox [Reduced violence mode: ] "$poniesmodeon"  [ reducedviolencemode $arg1 ]
103menuitemslider [Graphics detail: ] 1 6 "$gfxqualityalias" 1 [Horrible Low Medium Good High "INSANE! (May perform slowly on older gfx)"] [ new_gfx_quality $arg1 ]
104menuitemslider [Sound detail: ] 1 3 "$soundqualityalias" 1 [Low Medium High] [ new_sound_quality $arg1 ]
105menuitemslider [Field of view: ] 75 120 "$fov" 2 [] [ fov $arg1 ]
106menuitem [] -1
107menuitem "0			        [ OK; View FAQ ]" [ closemenu [QUICK setup]; resetgl; showmenu faq ]
108menuitem "2			        [ OK ]" [ closemenu [QUICK setup]; resetgl ]
109
110const new_gfx_quality [
111  if (= $arg1 6) [ // "INSANE!" gfx quality
112    fsaa 8
113    minlod 250
114    gfxqualityalias = 6
115    fpsrange 100 1000
116    watersubdiv 1
117    dynlight 1
118    waterreflect 1
119    stencilbits 8
120    stencilshadow 40
121    dynshadow 40
122    lighterror 1
123    scorch 1
124    bullethole 1
125    blood 1
126    gib 1
127    gibnum 16
128    shotline 1
129    echo Be mighty careful! This setting puts any & every graphics setting as high as absolutely possible!
130    trilinear 1
131    waterrefract 1
132    texreduce 0
133    hidebigmenuimages 0
134  ] [
135    if (= $arg1 5) [ // High gfx quality
136      fsaa 4
137      minlod 200
138      gfxqualityalias = 5
139      fpsrange 100 1000
140      watersubdiv 2
141      dynlight 1
142      waterreflect 1
143      stencilbits 8
144      stencilshadow 40
145      dynshadow 40
146      lighterror 1
147      scorch 1
148      bullethole 1
149      blood 1
150      gib 1
151      gibnum 12
152      shotline 1
153      trilinear 1
154      waterrefract 0
155      texreduce 0
156      hidebigmenuimages 0
157    ] [
158      if (= $arg1 4) [ // Good gfx quality
159        fsaa 0
160        minlod 100
161        gfxqualityalias = 4
162        fpsrange 60 60
163        watersubdiv 2
164        dynlight 1
165        waterreflect 1
166        stencilbits 8
167        stencilshadow 40
168        dynshadow 40
169        lighterror 4
170        scorch 1
171        bullethole 1
172        blood 1
173        gib 1
174        gibnum 8
175        shotline 1
176        trilinear 1
177        waterrefract 0
178        texreduce 0
179        hidebigmenuimages 0
180      ] [
181        if (= $arg1 3) [ // Medium gfx quality (DEFAULT)
182          fsaa 0
183          minlod 60
184          gfxqualityalias = 3
185          fpsrange 30 40
186          watersubdiv 4
187          dynlight 1
188          // Makes sure the 3D card is powerful enough for water reflection/shadow stencils...
189          if (glext "GL_ARB_fragment_program") [ waterreflect 1 ] [ waterreflect 0 ]
190          if (|| (glext "GL_EXT_stencil_two_side") (glext "GL_ATI_separate_stencil")) [
191            stencilbits 8
192            stencilshadow 40
193          ] [
194            stencilbits 0
195            stencilshadow 0 ]
196            dynshadow 40
197            lighterror 4
198            scorch 1
199            bullethole 1
200            blood 1
201            gib 1
202            gibnum 6
203            shotline 1
204            trilinear 1
205            waterrefract 0
206            texreduce 0
207            hidebigmenuimages 0
208        ] [
209          if (= $arg1 2) [ // Low gfx quality
210            fsaa 0
211            minlod 60
212            gfxqualityalias = 2
213            fpsrange 20 25
214            watersubdiv 16
215            dynlight 0
216            waterreflect 0
217            stencilshadow 0
218            stencilbits 0
219            dynshadow 0
220            lighterror 10
221            scorch 0
222            bullethole 0
223            blood 0
224            gib 0
225            shotline 0
226            trilinear 1
227            waterrefract 0
228            texreduce 1
229            hidebigmenuimages 1
230          ] [ // Horrible gfx quality
231            fsaa 0
232            minlod 60
233            gfxqualityalias = 1
234            fpsrange 20 25
235            watersubdiv 64
236            dynlight 0
237            waterreflect 0
238            stencilshadow 0
239            stencilbits 0
240            dynshadow 0
241            lighterror 16
242            scorch 0
243            bullethole 0
244            blood 0
245            gib 0
246            shotline 0
247            trilinear 0
248            waterrefract 0
249            texreduce -1
250            hidebigmenuimages 1
251          ]
252        ]
253      ]
254    ]
255  ]
256]
257
258const new_sound_quality [
259  if (= $arg1 3) [ // high sound (DEFAULT)
260    soundqualityalias = 3
261    maxsoundsatonce 10
262    footsteps 1
263    bulletairsound 1
264    bulletbouncesound 1
265  ] [
266    if (= $arg1 2) [ // medium
267      soundqualityalias = 2
268      maxsoundsatonce 8
269      footsteps 1
270      bulletairsound 0
271      bulletbouncesound 1
272    ] [ // low
273      soundqualityalias = 1
274      maxsoundsatonce 5
275      footsteps 0
276      bulletairsound 0
277      bulletbouncesound 0
278    ]
279  ]
280]
281
282newmenu [Reset settings]
283menuinit [ resetyes = 0 ] // Ensures this menu works correctly.
284menuitemcheckbox [Yes, reset all settings: ] [ resetyes = 1 ] [ resetyes = $arg1 ]
285menuitem "2         [ Apply! ]        " [ if $resetyes [ resetcfg 1; quit ] [ showmenu [] ] ] [ echo (c 3)If the above option is ticked, AssaultCube will now quit and your settings will be reset. ] // If checkbox is ticked, reset settings and quit, otherwise, close menus.
286
287newmenu Keyboard
288
289menuitem [Select an action and press ENTER to bind a new key:] -1
290menuitem [] -1
291menuitemkeyinput [Forwards: ]        forward
292menuitemkeyinput [Left: ]            left
293menuitemkeyinput [Backwards: ]       backward
294menuitemkeyinput [Right: ]           right
295menuitemkeyinput [Attack: ]          attack
296menuitemkeyinput [Special action: ]  altaction
297menuitemkeyinput [Jump: ]            jump
298menuitemkeyinput [Crouch: ]          crouch
299menuitemkeyinput [Reload: ]          reload
300menuitemkeyinput [Weapon menu: ]     "showmenu Weapons"
301menuitemkeyinput [Next weapon: ]     "universaldelta 1"
302menuitemkeyinput [Previous weapon: ] "universaldelta -1"
303menuitemkeyinput [Show scores: ]     showscores
304menuitemkeyinput [Chat: ]            saycommand
305menuitemkeyinput [Team chat: ]       "saycommand %"
306menuitemkeyinput [Commandline: ]     "saycommand /"
307menuitemkeyinput [Console output: ]  toggleconsole
308menuitemkeyinput [Screenshot: ]      screenshot
309menuitemkeyinput [Map overview: ]    toggleshowmap
310menuitemkeyinput [Drop CTF flag: ]   dropflag
311menuitemkeyinput [Fullscreen: ]      fullscreenscript
312menuitem [] -1
313menuitemtextinput [Lookup a keybind: ] [] [ echo []; echo (concatword (c 9) [Contents of keybind ] $arg1 :); echo (keybind $arg1) ] [] 256
314menuitemcheckbox [Use old editing binds?] [ $old_editbinds ] [ old_editbinds = $arg1 ]
315menuitem [] -1
316menuitem [Reset keybinds to default settings...] [ showmenu [Reset Binds] ]
317
318newmenu Mouse
319menuitemcheckbox [Invert mouse: ] "$invmouse" [ invmouse $arg1 ]
320menuitemcheckbox [Automatic Sniper-scope sensitivity: ] "$autoscopesens"  [ autoscopesens $arg1 ]
321menuitemtextinput [Mouse Sensitivity:                    ] "$sensitivity" [ sensitivity $arg1 ]
322menuitemtextinput [Mouse Acceleration:                    ] "$mouseaccel" [ mouseaccel $arg1 ]
323menuitemtextinput [Filter mouse (for bad ones):  ] "$mfilter"             [ mfilter $arg1 ]
324menuitemtextinput [Sniper-scope sensitivity scale:  ] "$scopesensscale"   [ scopesensscale $arg1 ]
325menuitem [] -1
326menuitemslider [Crosshair size: ] 0 50 "$crosshairsize" 5 [] [ crosshairsize $arg1 ]
327menuitem [Change crosshair...                ]               [ showmenu Crosshairs ]
328menuitem [Change scope crosshair...            ]             [ showmenu [Scope crosshairs] ]
329
330newmenu Crosshairs
331menudirlist "packages/crosshairs" png [ loadcrosshair (concatword $arg1 .png) ] 1
332
333newmenu [Scope crosshairs]
334menudirlist "packages/crosshairs" png [ loadcrosshair (concatword $arg1 .png) scope ] 1
335
336newmenu [Reset Binds]
337menuinit [ resetbindsyes = 0 ] // Ensures this menu works correctly.
338menuitemcheckbox [Yes, reset all binds: ] [ resetbindsyes = 1 ] [ resetbindsyes = $arg1 ]
339menuitem "2         [ Apply! ]        " [ if $resetbindsyes resetbinds [ showmenu [] ] ]
340
341newmenu video
342
343menuitemtextinput [Screen width:                 ] "$scr_w" [ scr_w $arg1 ] [] 11
344menuitemtextinput [Screen height:                ] "$scr_h" [ scr_h $arg1 ] [] 11
345menuitemslider [Graphics detail: ] 1 6 "$gfxqualityalias" 1 [Horrible Low Medium Good High "INSANE! (May perform slowly on older gfx)"] [ new_gfx_quality $arg1 ]
346menuitem [] -1
347menuitemslider [Field of view: ] 75 120 "$fov" 2 []                 [ fov $arg1 ]
348menuitemslider [Gamma: ] 30 300 "$gamma" 5 []                       [ gamma $arg1 ]
349menuitemcheckbox [Fullscreen: ] "$fullscreen"                       [ fullscreen $arg1 ]
350menuitemslider [Vsync: ] -1 1 "$vsync" 1 [Default Disabled Enabled] [ vsync $arg1 ]
351menuitem [] -1
352menuitem [Advanced video settings...] [ showmenu [Advanced video settings] ]
353menuitem [] -1
354menuitem "2			  [ Apply now! ]"   [ resetgl ]
355
356const fsaa_valuemap [-1 2 4 8 16]
357const minlod_valuemap [60 100 200 250]
358const watersubdiv_valuemap [16 8 4 2 1]
359
360newmenu [Advanced video settings]
361
362menuitemslider [Scope FOV: ] 5 60 "$scopefov" 5 [] [ scopefov $arg1 ]
363menuitemslider [Antialiasing (FSAA): ] 0 4 "(findlist $fsaa_valuemap $fsaa)" 1 [Off 2 4 8 16] [ fsaa (at $fsaa_valuemap $arg1) ]
364menuitemslider [Minimal level of detail: ] 0 3 "(findlist $minlod_valuemap $minlod)" 1 [Low Decent Good Best] [ minlod (at $minlod_valuemap $arg1) ]
365menuitemslider [Light error: ] 1 100 "$lighterror" 5 [] [ lighterror $arg1 ]
366menuitemslider [Water subdivision: ] 0 4 "(findlist $watersubdiv_valuemap $watersubdiv)" 1 ["Lowest quality" "Low quality" "Medium quality" "High quality" "Highest quality"] [ watersubdiv (at $watersubdiv_valuemap $arg1) ]
367menuitemslider [Dynamic shadows: ] 0 2 getshadowq 1 [Off Blob Stencil] [ setshadowq $arg1 ]
368menuitemslider [Tex-reduce: ] -1 3 "$texreduce" 1 []  [ texreduce $arg1 ]
369menuitemcheckbox [Water reflection: ] "$waterreflect" [ waterreflect $arg1 ]
370
371const getshadowq [
372  if (&& $stencilshadow (>= $stencilbits 8)) [result 2] [
373    if $dynshadow [result 1] [result 0]
374  ]
375]
376
377const setshadowq [
378  if (= $arg1 2) [
379    stencilshadow 40
380    stencilbits 8
381    dynshadow 40
382  ] [
383    if (= $arg1 1) [
384      stencilshadow 0
385      stencilbits 0
386      dynshadow 40
387    ] [
388      stencilshadow 0
389      stencilbits 0
390      dynshadow 0
391    ]
392  ]
393]
394
395menuitemcheckbox [Dynamic lights: ] "$dynlight" [ dynlight $arg1 ]
396menuitemcheckbox [Bulletholes: ] "$bullethole"  [ bullethole $arg1 ]
397menuitemcheckbox [Scorch: ] "$scorch"           [ scorch $arg1 ]
398menuitem [Enable 0.93 FOV compatiblity...]      [ fovcompat; sleep 100 fovcompatmenu ]
399menuitem [] -1
400menuitem [FPS Range...] [ showmenu [FPS Range] ]
401menuitem [] -1
402menuitem "2		        [ Apply now! ]" [ resetgl ]
403
404const fovcompatmenu [ showmenu settings; showmenu video; showmenu [Advanced video settings] ]
405
406newmenu [FPS Range]
407
408menuitem [My 486 0wnz y00       (8-10 FPS)]   [ closemenu [FPS Range]; fpsrange 8 10 ]
409menuitem [Slow machine           (20-25 FPS)] [ closemenu [FPS Range]; fpsrange 20 25 ]
410menuitem [Sensible default       (30-40 FPS)] [ closemenu [FPS Range]; fpsrange 30 40 ]
411menuitem [FPS whore           (60-60 FPS)]    [ closemenu [FPS Range]; fpsrange 60 60 ]
412menuitem [I don't understand LOD (100+ FPS)]  [ closemenu [FPS Range]; fpsrange 100 1000 ]
413
414
415const default_bursts [3 2 2]
416const refreshWSM [ closemenu [Weapon Settings]; showmenu [Weapon Settings] ]
417
418newmenu [Weapon Settings]
419menuitemslider [Play hit sounds: ] 0 2 "$hitsound" 1 [Off "When server detects hits" "When client detects hits"] [ hitsound $arg1 ]
420menuitemcheckbox [Auto weapon reload: ] "$autoreload" [ autoreload $arg1 ]
421menuitemcheckbox [Auto switch to akimbo upon pickup: ] "$akimboautoswitch" [ akimboautoswitch $arg1 ]
422menuitemslider [Akimbo end action: ] 0 3 "$akimboendaction" 1  ["Switch to knife" "Stay with pistol" "Switch to grenades" "Switch to primary"] [ akimboendaction $arg1 ]
423menuitemcheckbox [SMG - Full Auto?] "(= (burstshots $SMG -1) 0)" [ if (= $arg1 0) [ burstshots $SMG (at $default_bursts 0) ] [ burstshots $SMG 0 ]; refreshWSM ]
424menuitemcheckbox [AR - Full Auto?] "(= (burstshots $AR -1) 0)" [ if (= $arg1 0) [ burstshots $AR (at $default_bursts 1) ] [ burstshots $AR 0 ]; refreshWSM ]
425menuitemcheckbox [Akimbo - Full Auto?] "(= (burstshots $AKIMBO -1) 0)" [ if (= $arg1 0) [ burstshots $AKIMBO (at $default_bursts 2) ] [ burstshots $AKIMBO 0 ]; refreshWSM ]
426menuitemslider [SMG - Shots per burst: ] 0 29 "(burstshots $SMG -1)" 1 [] [ burstshots $SMG $arg1; refreshWSM ]
427menuitemslider [AR - Shots per burst: ] 0 19 "(burstshots $AR -1)" 1 [] [ burstshots $AR $arg1; refreshWSM ]
428menuitemslider [Akimbo - Shots per burst: ] 0 19 "(burstshots $AKIMBO -1)" 1 [] [ burstshots $AKIMBO $arg1; refreshWSM ]
429
430if (! (checkalias nickhighlight)) [ nickhighlight = 0 ]
431
432newmenu gameplay
433menuitemtextinput [Nickname:        ] "result $curname" [ name $arg1 ]
434menuitemslider [Player skins: ] 0 2 "$teamdisplaymode" 1 [Normal "Colored vests" "Full color"] [ teamdisplaymode $arg1 ]
435menuitemslider [Custom player skins: ] 0 2 "$hidecustomskins" 1 ["Always show" "Show in non-team modes" "Never show"] [ hidecustomskins $arg1 ]
436menuitem [] -1
437menuitemcheckbox [Reduced violence mode: ] "$poniesmodeon" [ reducedviolencemode $arg1 ]
438menuitemslider [Gib gore: ] 0 4 "$__gibsgore" 1 [Off Normal Good Messy Unrealistic] [ gibsgore $arg1 ]
439menuitemslider [Name highlight color: ] 0 9 "$nickhighlight" 1 [ "0green 5(default)" "1blue" "2yellow" "3red" "4gray" "white" "6dark brown" "7dark red" "8purple" "9orange" ] [ nickhighlight = $arg1; HIGHLIGHT = (c $nickhighlight) ]
440menuitemcheckbox [Show scores on death: ] "$showscoresondeath" [ showscoresondeath $arg1 ]
441menuitem [Change to the enemy team]                            changeteam
442menuitem [Change weapon...]                                    [ showmenu Weapons ]
443menuitem [Change player skin...]                               [ showmenu (at [CLA RVSF] (player1 team)) ]
444menuitem [Weapon settings...]                                  [ showmenu [Weapon Settings] ]
445menuitem [Edit kill messages...]                               [ showmenu [Kill Messages] ]
446menuitem [Bot settings...]                                     [ showmenu [Bot settings] ]
447
448__screenshottype = 0 // Initial setting for status of screenshots so AC doesn't give errors.
449
450newmenu Misc
451menuitemcheckbox [Auto map download: ] "$autogetmap"                 [ autogetmap $arg1 ]
452menuitemcheckbox [Show gamemodes as acronyms: ] "$modeacronyms"      [ modeacronyms $arg1 ]
453menuitemcheckbox [Show quit dialog when quitting: ] "$askquit"       [ askquit = $arg1 ]
454menuitemcheckbox [Auto-screenshot: ] "$autoscreenshot"               [ autoscreenshot $arg1 ]
455menuitemcheckbox [Allow HUD echos: ] "$allowhudechos"                [ allowhudechos $arg1 ]
456menuitemslider [Servers to ping at once: ] 0 50 "$maxservpings" 5 [] [ maxservpings $arg1 ]
457menuitemslider [Milliseconds between pinging servers: ] 1000 60000 "$servpingrate" 1000 [] [ servpingrate $arg1 ]
458menuitemslider [Screenshot type: ] -1 4 "$__screenshottype" 1 ["JPEG (Terrible Quality)" "JPEG (Bad Quality)" "JPEG (Good Quality)" "JPEG (Best Quality)" "PNG (Lossless)" "BMP (Lossless)"] [ if (= $arg1 -1) [ screenshottype 1; jpegquality 50; __screenshottype = -1 ] [ if (= $arg1 0) [ screenshottype 1; jpegquality 70; __screenshottype = 0 ] [ if (= $arg1 1) [ screenshottype 1; jpegquality 85; __screenshottype = 1 ] [ if (= $arg1 2) [ screenshottype 1; jpegquality 100; __screenshottype = 2 ] [ if (= $arg1 3) [ screenshottype 2; __screenshottype = 3 ] [ if (= $arg1 4) [ screenshottype 0; __screenshottype = 4 ] ] ] ] ] ] ]
459menuitemslider [Console size: ] 0 20 "$consize" 1 [] [ consize $arg1 ]
460menuitemslider [Font type: ] 0 2 "$__fontsetting" 1 [Default Serif Monospace] [ if (= $arg1 1) [ setfont serif ] [ if (= $arg1 2) [ setfont mono ] [ setfont default ] ] ]
461menuitemslider [Mini-map background style: ] 0 2 "$showmapbackdrop" 1 ["Fully Transparent" Black White/Transparent] [ showmapbackdrop $arg1 ]
462menuitemcheckbox [Enable compatibility with older cubescripts: ] "$compatibilitymode" [ compatibilitymode $arg1; echo (c 3) This setting requires a restart to take effect. ]
463menuitemcheckbox [Enable per-official map dynamic gamma: ] "$dyngamma" [ dyngamma = $arg1 ]
464menuitemtextinput [Set default gamma for this map: ] "(at $ofc_gamma_list (findlist $defaultmaps (curmap 1)))" [ setgamma $arg1 ]
465
466// Reduced game violence mode...
467const reducedviolencemode [
468  if (= $arg1 1) [
469    poniesmodeon = 1
470    blood 0
471    gib 0
472    mutesound 48 0; loop i 8 [ mutesound (+ $i 26) 0 ] // Mute pain sounds: 26 to 33 and 48
473    echo (c 2)OMG! (concatword (c 8) PW (c 1) NI (c 3) ES (c 5) !) mode enabled - Violent game content has now been reduced.
474  ] [ // Violent
475    poniesmodeon = 0
476    blood 1
477    gib 1
478    mutesound 48 1; loop i 8 [ mutesound (+ $i 26) 1 ] // Un-mute pain sounds
479    echo (c 2)OMG! (concatword (c 8) PW (c 1) NI (c 3) ES (c 5) !) mode has been disabled.
480  ]
481]
482
483const DEFAULT_SCOREBOARD_NAMES [Flags Frags Deaths Ratio Score Lag "Client number" Name]
484const DEFAULT_SCOREBOARD_ORDER [sc_flags sc_frags sc_deaths sc_ratio sc_score sc_lag sc_clientnum sc_name]
485const DEFAULT_SCOREBOARD_POSITIONS [0 1 2 -1 4 5 6 7]
486const SCOREBOARD_DISABLE_ITEMS [sc_deaths sc_ratio sc_score sc_lag]
487
488const refreshScoreboardMenu [ closemenu [Customize your scoreboard]; sleep 0 [ showmenu [Customize your scoreboard] ] ]
489
490newmenu [Customize your scoreboard]
491menuitem [0 has the highest priority...] -1
492menuitem [-1 disables the item entirely...] -1
493menuitem [] -1
494loop tsl (listlen $DEFAULT_SCOREBOARD_ORDER) [
495  ccn = (at $DEFAULT_SCOREBOARD_ORDER $tsl)
496  cfn = (at $DEFAULT_SCOREBOARD_NAMES (findlist $DEFAULT_SCOREBOARD_ORDER $ccn))
497  if (!= (findlist $SCOREBOARD_DISABLE_ITEMS $ccn) -1) [
498    execute (format [menuitemslider [%1: ] -1 7 "(getalias %2)" 1 [] [ %2 $arg1 ]] $cfn $ccn)
499  ] [
500    execute (format [menuitemslider [%1: ] 0 7 "(getalias %2)" 1 [] [ %2 $arg1 ]] $cfn $ccn)
501  ]
502]
503menuitem [] -1
504menuitem [Reset to default scoreboard...] [ loop rsl (listlen $DEFAULT_SCOREBOARD_ORDER) [ (at $DEFAULT_SCOREBOARD_ORDER $rsl) (at $DEFAULT_SCOREBOARD_POSITIONS $rsl) ]; refreshScoreboardMenu ]
505menuitem [Close] [ closemenu [Customize your scoreboard] ]
506
507newmenu HUD
508
509menuitem [Show:] -1
510menuitemcheckbox [   Gun ] "$hudgun"                                           [ hudgun $arg1 ]
511menuitemcheckbox [   Team icon ] "(= $hideteam 0)"                             [ hideteam (= $arg1 0) ]
512menuitemcheckbox [   Icons ] "(= $hidehudequipment 0)"                         [ hidehudequipment (= $arg1 0) ]
513menuitemcheckbox [   Console ] "(= $hideconsole 0)"                            [ hideconsole (= $arg1 0) ]
514menuitemcheckbox [   Player names ] "$showtargetname"                          [ showtargetname $arg1 ]
515menuitemcheckbox [   Spectator info ] "(= $hidespecthud 0)"                    [ hidespecthud (= $arg1 0) ]
516menuitemcheckbox [   Quick messages ] "(= $hidehudmsgs 0)"                     [ hidehudmsgs (= $arg1 0) ]
517menuitemcheckbox [   Damage direction indicator ] "(= $hidedamageindicator 0)" [ hidedamageindicator (= $arg1 0) ]
518menuitemcheckbox [   Damage screen flash    ] "$damagescreen"                  [ damagescreen $arg1 ]
519menuitemcheckbox [   Crosshair team-sign ] "$crosshairteamsign"                [ crosshairteamsign $arg1 ]
520menuitemcheckbox [   CTF icons ]    "(= $hidectfhud 0)"                        [ hidectfhud (= $arg1 0) ]
521menuitemcheckbox [   Radar ] "(= $hideradar 0)"                                [ hideradar (= $arg1 0) ]
522menuitemslider   [   Radar zoom: ] 5 500                                       [ $radarheight ] 5 [][ radarheight $arg1 ]
523menuitemslider   [   Votes: ] 0 2 "$hidevote" 1 ["Always show" "Show until you vote" "Never show"] [ hidevote $arg1 ]
524menuitemslider   [   Graphics statistics: ] 0 2 "$showstats" 1 [None "FPS Only" All] [ showstats $arg1 ]
525menuitemslider   [   Extra messages: ] 0 3 "$hudextras" 1 ["No extra messages" "Show extra messages in console" "Pop up extra messages!" "SPAM EXTRA MESSAGES!"] [ hudextras $arg1 ]
526menuitemslider   [   Hand alignment: ] 0 1 "$righthanded" 1 [Left-handed Right-handed] [ righthanded $arg1 ]
527menuitemslider   [   Max-roll: ] 0 20 "$maxroll" 1 [] [ maxroll $arg1 ]
528menuitemslider   [   Spectator max-roll: ] 0 1 "$maxrollremote" 1 [Off On] [ maxrollremote $arg1 ]
529menuitem [] -1
530menuitem [Customize your scoreboard...] [ showmenu [Customize your scoreboard] ]
531
532newmenu sound
533
534menuitemslider [Sound volume: ] 0 255 "$soundvol" 16 [] [ soundvol $arg1 ]
535menuitemslider [Music volume: ] 0 255 "$musicvol" 16 [] [ musicvol $arg1 ]
536menuitemslider [Sound detail: ] 1 3 "($soundqualityalias)" 1 [Low Medium High] [ new_sound_quality $arg1 ]
537menuitem [] -1
538menuitem [Mute/Un-mute specific sounds...] [ showmenu [Mute specific sounds] ]
539menuitem [] -1
540menuitem [Advanced settings:] -1
541menuitemcheckbox [   Footsteps: ] "$footsteps"                                [ footsteps $arg1 ]
542menuitemcheckbox [   Disable own footsteps: ] "(= $localfootsteps)"           [ localfootsteps (! $arg1) ]
543menuitemslider [   Sounds at once: ] 0 100 "$maxsoundsatonce" 2 []            [ maxsoundsatonce $arg1 ]
544menuitemslider [   Voice-coms: ] 0 2 "$voicecomsounds" 1 [Off On "Team only"] [ voicecomsounds $arg1 ]
545menuitemslider [   Heartbeat: ] 0 99 "$heartbeat" 1 [] [ heartbeat $arg1 ]
546
547
548const muteitem [ menuitemcheckbox (concatword $arg1 [: ]) (concat ! "(soundmuted" $arg2 ")") (concat mutesound $arg2 "$arg1") ]
549
550newmenu [Mute specific sounds]
551
552menuitem [Weapon sounds]           [ showmenu [Mute weapon sounds] ]
553menuitem [Bullet/explosion sounds] [ showmenu [Mute bullet/explosion sounds] ]
554menuitem [Pain/death sounds]       [ showmenu [Mute pain/death sounds] ]
555menuitem [Pickup sounds]           [ showmenu [Mute pickup sounds] ]
556menuitem [Movement sounds]         [ showmenu [Mute movement sounds] ]
557menuitem [Voice-com sounds]        [ showmenu [Mute voice-coms] ]
558menuitem [Other sounds]            [ showmenu [Mute other sounds] ]
559menuitem [] -1
560menuitem [Un-mute all sounds...] [ unmuteallsounds; heartbeat $oldheartbeat ]
561
562newmenu  [Mute weapon sounds]
563
564muteitem [Knife] 7
565muteitem [Pistol] 8
566muteitem [Pistol reloading] 9
567muteitem [Carbine] 10
568muteitem [Carbine reloading] 11
569muteitem [Shotgun] 12
570muteitem [Shotgun reloading] 13
571muteitem [Submachine gun] 14
572muteitem [Submachine gun reloading] 15
573muteitem [Sniper] 16
574muteitem [Sniper reloading] 17
575muteitem [Assault Rifle] 18
576muteitem [Assault Rifle reloading] 19
577muteitem [Grenade pull] 41
578muteitem [Grenade throw] 42
579muteitem [Grenade bounce 1] 43
580muteitem [Grenade bounce 2] 44
581muteitem [Akimbo reload] 45
582muteitem [Change weapon] 46
583muteitem [Empty clip] 24
584
585newmenu [Mute pickup sounds]
586
587muteitem [Ammo pickup] 20
588muteitem [Health pickup] 21
589muteitem [Armour pickup] 22
590muteitem [Akimbo pickup] 23
591muteitem [Akimbo finished] 25
592muteitem [Helmet pickup] 99
593
594oldheartbeat = 0
595
596newmenu [Mute pain/death sounds]
597
598muteitem [Pain 1] 26
599muteitem [Pain 2] 27
600muteitem [Pain 3] 28
601muteitem [Pain 4] 29
602muteitem [Pain 5] 30
603muteitem [Pain 6] 31
604muteitem [Die 1] 32
605muteitem [Die 2] 33
606muteitem [Gib sounds] 48
607muteitem [Tinnitus] 62
608menuitemcheckbox [Heartbeat] "$heartbeat" [ if (! $arg1) [ oldheartbeat = $heartbeat; heartbeat 0 ] [ heartbeat $oldheartbeat ] ]
609
610newmenu [Mute movement sounds]
611
612menuitemcheckbox [Footsteps: ] "$footsteps" [ footsteps $arg1 ]
613muteitem [Crouch] 54
614muteitem [Water footsteps] 55
615muteitem [Water crouching] 56
616muteitem [Crouch-in] 57
617muteitem [Crouch-out] 58
618muteitem [Jump] 0
619muteitem [Soft landing] 1
620muteitem [Hard landing] 2
621muteitem [Splash 1] 35
622muteitem [Splash 2] 36
623muteitem [Underwater] 61
624
625newmenu [Mute bullet/explosion sounds]
626
627muteitem [Ricochet air 1] 3
628muteitem [Ricochet air 2] 4
629muteitem [Ricochet hit] 5
630muteitem [Bullet (water impact)] 6
631muteitem [Grenade explosion] 34
632menuitemcheckbox [Bullet hit: ] "$bulletbouncesound" [ bulletbouncesound $arg1 ]
633menuitemcheckbox [Bullet near-miss: ] "$bulletairsound" [ bulletairsound $arg1 ]
634muteitem [HitSound: ] "(! $hitsound)" [ hitsound (! $hitsound) ]
635
636newmenu [Mute other sounds]
637
638muteitem [Flag drop] 37
639muteitem [Flag pickup] 38
640muteitem [Flag return] 39
641muteitem [Flag score] 40
642muteitem [Headshot] 49
643muteitem [Call vote] 50
644muteitem [Pass vote] 51
645muteitem [Fail vote] 52
646muteitem [Menu select] 59
647muteitem [Menu enter] 60
648
649newmenu [Mute voice-coms]
650
651muteitem [Affirmative] 63
652muteitem [All-right sir] 64
653muteitem [Come on, move] 65
654muteitem [Coming in with the flag] 66
655muteitem [Cover me] 67
656muteitem [Defend the flag] 68
657muteitem [Enemy down] 69
658muteitem [Go get 'em boys!] 70
659muteitem [Good job team] 71
660muteitem [I got one!] 72
661muteitem [I made contact] 73
662muteitem [I'm attacking] 74
663muteitem [I'm on defense] 75
664muteitem [I'm on your team] 76
665muteitem [Negative] 77
666muteitem [No can do] 78
667muteitem [Recover the flag] 79
668muteitem [Sorry] 80
669muteitem [Spread out] 81
670muteitem [Stay here] 82
671muteitem [Stay together] 83
672muteitem [There's no way sir] 84
673muteitem [We did it!] 85
674muteitem [Yes] 86
675muteitem [Under way] 87
676muteitem [On the move] 88
677muteitem [Got your back] 89
678muteitem [Got you covered] 90
679muteitem [In position] 91
680muteitem [In position now] 92
681muteitem [Report In!] 93
682muteitem [Nice shot] 94
683muteitem [Thanks] 95
684muteitem [Thanks, man] 96
685muteitem [Awesome (1)] 97
686muteitem [Awesome (2)] 98
687
688newmenu [Kill Messages]
689menuitemvar [concat (orange)Frag messages: ] [] []
690menuitemtextinput [Pistol: ]  [fragmessage 1] [ fragmessage 1 $arg1 ] [] 15
691menuitemtextinput [Carbine: ] [fragmessage 2] [ fragmessage 2 $arg1 ] [] 15
692menuitemtextinput [Shotgun: ] [fragmessage 3] [ fragmessage 3 $arg1 ] [] 15
693menuitemtextinput [SMG: ]     [fragmessage 4] [ fragmessage 4 $arg1 ] [] 15
694menuitemtextinput [Sniper: ]  [fragmessage 5] [ fragmessage 5 $arg1 ] [] 15
695menuitemtextinput [AR: ]      [fragmessage 6] [ fragmessage 6 $arg1 ] [] 15
696menuitemtextinput [CPistol: ] [fragmessage 7] [ fragmessage 7 $arg1 ] [] 15
697menuitemtextinput [Akimbo: ]  [fragmessage 9] [ fragmessage 9 $arg1 ] [] 15
698menuitem [] -1
699menuitemvar [concat (orange)Gib messages: ] [] []
700menuitemtextinput [Knife: ]    [gibmessage 0] [ gibmessage 0 $arg1 ] [] 15
701menuitemtextinput [Shotgun: ]  [gibmessage 3] [ gibmessage 3 $arg1 ] [] 15
702menuitemtextinput [Sniper: ]   [gibmessage 5] [ gibmessage 5 $arg1 ] [] 15
703menuitemtextinput [Grenades: ] [gibmessage 8] [ gibmessage 8 $arg1 ] [] 15
704
705persistidents 1
706