Advertisement
Guest User

Haudrauf's non-blocking quakeworld weapon script

a guest
Oct 21st, 2012
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 1.06 KB | None | 0 0
  1. set weaponstack ""
  2.  
  3. proc lremove {thelist value} {
  4.   set idx [lsearch -exact $thelist $value]
  5.   set var [lreplace $thelist $idx $idx]
  6.   return $var
  7. }
  8.  
  9. alias +h_quick {weapon} {
  10.   global weaponstack
  11.  
  12.  
  13.   lappend weaponstack $weapon
  14.  
  15.   cmd h_weapon$weapon
  16.   if {$::h_debug == 1} {
  17.     cmd echo w: $weapon stack: $weaponstack
  18.   }
  19.   cmd +attack
  20. }
  21.  
  22. alias -h_quick {weapon} {
  23.   global weaponstack
  24.  
  25.   set weaponstack [lremove "$weaponstack" "$weapon"]
  26.  
  27.   if {$::h_debug == 1} {
  28.     cmd echo "released w: $weapon stack: $weaponstack"
  29.   }
  30.  
  31.   set itemcnt [llength $weaponstack]
  32.   if {$itemcnt == 0} {
  33.     cmd -attack
  34.   } else {
  35.     set next_in_stack [lindex $weaponstack end]
  36.     if {$::weaponnum != $next_in_stack} {
  37.       cmd h_weapon$next_in_stack
  38.     }
  39.   }
  40. }
  41.  
  42. # SNG, NG .. see h_weapon5 above.
  43. cmd bind alt    "+h_quick 5"
  44.  
  45. # RL .. see h_weapon7 above.
  46. cmd bind mouse1 "+h_quick 7"
  47.  
  48. # GL h_weapon6
  49. cmd bind space  "+h_quick 6"
  50.  
  51. # LG h_weapon8
  52. cmd bind ctrl   "+h_quick 8"
  53.  
  54. # SG, SSG h_weapon 3
  55. cmd bind shift  "+h_quick 3"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement