RaZgRiZ

Combobind - 29/9/2018

Jun 26th, 2017
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.47 KB | None | 0 0
  1. ///////////////////////////////////////////////////////////////////////////////
  2. //  Combobind / Master Scroll Controller                                     //
  3. ///////////////////////////////////////////////////////////////////////////////
  4.  
  5. msc_multiplier = 8
  6.  
  7. msc_delta = [
  8.     cond $editing [
  9.         if $.followplayer [ follownext $arg1 ] [
  10.             cond [&& $enthavesel [||iskeyheld "1" "2" "3" "4" "5"]] [
  11.                 loop i 5 [ if (iskeyheld (+ $i 1)) [ entattrdelta $i $arg1 ] ]
  12.             ] [iskeyheld "G"] [                                                       // Change grid power
  13.                 gridpower (max 0 (min 12 (+ $arg1 $gridpower) (- $mapscale 1)))
  14.             ] [iskeyheld "R"] [                                                       // Selection rotate / blend brush rotate
  15.                 if $blendpaintmode [ rotateblendbrush $arg1 ] [ editrotate $arg1 ]
  16.             ] [iskeyheld "Q"] [                                                       // Push corner closest to the cursor
  17.                 editfacewsel $arg1 2
  18.             ] [iskeyheld "F"] [                                                       // Push selected face/corners
  19.                 editfacewsel $arg1 0
  20.             ] [iskeyheld "Y"] [                                                       // Change MRU textures
  21.                 edittex $arg1
  22.             ] [iskeyheld "Z"] [                                                       // Change floatspeed
  23.                 floatspeed (clamp (+ $floatspeed (* 50 $arg1)) 50 5000)
  24.             ] [&& $hmapedit [iskeyheld "H"]] [                                        // Change heightmap brush
  25.                 selecthbrush $arg1
  26.             ] $blendpaintmode [                                                       // Change blendmap mode / blend brush
  27.                 if (iskeyheld "B") [
  28.                     arg1 = (+ $blendpaintmode $arg1)
  29.                     cond [< $arg1 1] [ blendpaintmode = 5 ] [> $arg1 5] [ blendpaintmode = 1 ] [ blendpaintmode $arg1 ]
  30.                 ] [ nextblendbrush $arg1 ]
  31.             ] [ editfacewsel $arg1 1 ]
  32.         ]
  33.     ] $mainmenu [
  34.         // NOTHING HERE YET
  35.     ] [isspectator $getclientnum] [
  36.         if $thirdperson [
  37.             loop i 10 [ sleep (* $i 10) [
  38.                 thirdpersondistance (clampf (+f $thirdpersondistance (*f $arg1 0.25)) 10 50)
  39.             ] ]
  40.         ] [ nextfollow $arg1 ]
  41.     ] [ nextweapon $arg1 ]
  42. ]
  43.  
  44.  
  45.  
  46. defnormkey = [
  47.     [:def.norm:@arg1] = $arg2
  48.     [:cus.norm:@arg1] = []
  49.     bind $arg1 [ keyswitch @arg1 [:def.norm:@@arg1] [:cus.norm:@@arg1] ]
  50.     defsvarp [:desc.def.norm:@arg1] $arg3
  51. ]
  52.  
  53. defeditkey = [
  54.     [:def.edit:@arg1] = $arg2
  55.     [:cus.edit:@arg1] = []
  56.     editbind $arg1 [ keyswitch @arg1 [:def.edit:@@arg1] [:cus.edit:@@arg1] ]
  57.     defsvarp [:desc.def.edit:@arg1] $arg3
  58. ]
  59.  
  60. defspeckey = [
  61.     [:def.spec:@arg1] = $arg2
  62.     [:cus.spec:@arg1] = []
  63.     specbind $arg1 [ keyswitch @arg1 [:def.spec:@@arg1] [:cus.spec:@@arg1] ]
  64.     defsvarp [:desc.def.spec:@arg1] $arg3
  65. ]
  66.  
  67. normkey = [ [:cus.norm:@arg1] = $arg2 ; [:desc.cus.norm:@arg1] = $arg3 ]
  68. editkey = [ [:cus.edit:@arg1] = $arg2 ; [:desc.cus.edit:@arg1] = $arg3 ]
  69. speckey = [ [:cus.spec:@arg1] = $arg2 ; [:desc.cus.spec:@arg1] = $arg3 ]
  70.  
  71. keyswitch = [
  72.     [:switch:@arg1] = 1
  73.     onrelease [ [:switch:@@arg1] = 0 ]
  74.     nodebug [ if (=s $$arg3 "") $$arg2 $$arg3 ]
  75. ]
  76.  
  77. iskeyheld = [ = 1 $[:switch:@arg1] ]
  78.  
  79. &&iskeyheld = [
  80.     local k ; k = 0
  81.     nodebug [ loop+ i 1 $numargs [
  82.         k = (+ $k $[:switch:@[arg@i]])
  83.     ] ]
  84.     = $k $numargs
  85. ]
  86.  
  87. ||iskeyheld = [
  88.     local k ; k = 0
  89.     nodebug [ loop+ i 1 $numargs [
  90.         k = (+ $k $[:switch:@[arg@i]])
  91.     ] ]
  92.     > $k 0
  93. ]
  94.  
  95. // example binds:
  96.  
  97.     defnormkey "MOUSEWHEELUP"   [ msc_delta  1 ]
  98.     defnormkey "MOUSEWHEELDOWN" [ msc_delta -1 ]
  99.     defnormkey "F5"  [                                 // Savemap
  100.         if (! $mapname) [ toggleui "dialog_savemap" ] [
  101.             if (iskeyheld "LCTRL") [ toggleui "dialog_savemap" ] savemap
  102.         ]
  103.     ]
  104.     defeditkey "PAGEUP"    [
  105.         if $fullconsole [ conskip 5 ] [
  106.             if $enthavesel [ entautoview 1 ] [
  107.                 vdelta [ vscale 2 ]
  108.             ]
  109.         ]
  110.     ]  
  111.     defeditkey "PAGEDOWN"  [
  112.         if $fullconsole [ conskip -5 ] [
  113.             if $enthavesel [ entautoview -1 ] [
  114.                 vdelta [ vscale 0.5 ]
  115.             ]
  116.         ]
  117.     ]
Advertisement
Add Comment
Please, Sign In to add comment