Advertisement
RaZgRiZ

QuickConnect 2.51

Nov 16th, 2011
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Some generic lists that may be used elsewhere
  2.  
  3. tld = [com net org de us cz fr gb jp ro ru se uk ws]
  4. char_high = [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
  5. char_low  = [abcdefghijklmnopqrstuvwxyz]
  6.  
  7. // Some generic commands that may be used elsewhere
  8.  
  9. createine = [if (=s (getalias $arg1) "") [$arg1 = $arg2]]
  10. append = [$arg1 = (concat (getalias $arg1) $arg2)]
  11.  
  12. charcase = [
  13.     _str = $arg1
  14.     _bool = [? $arg1 $char_high $char_low]
  15.     loop c (strlen $arg1) [
  16.         _char = (substr $_str $c 1)
  17.         if (> (strstr (_bool (! $arg2)) $_char) -1) [
  18.             _str = (strreplace $_str $_char (substr (_bool $arg2) (strstr (_bool (! $arg2)) $_char) 1))
  19.         ]
  20.     ]
  21.     result $_str
  22. ]
  23.  
  24. isnum = [
  25.     _bool = 1
  26.     loop n (strlen $arg1) [
  27.         if (< (strstr "0123456789." (substr $arg1 $n 1)) 0) [_bool = 0]
  28.     ]
  29.     result $_bool
  30. ]
  31.  
  32. isip = [
  33.     && (
  34.         = (listlen (strreplace $arg1 . " ")) 4
  35.     ) (
  36.         < (listfind i (strreplace $arg1 . " ") [|| (> $i 255) (< $i 0)]) 0
  37.     ) (isnum $arg1)
  38. ]
  39.  
  40. mins = [
  41.     _str = (at $arg1 0)
  42.     looplist i $arg1 [if (<s $i $_str) [_str = $i]]
  43.     result $_str
  44. ]
  45.  
  46. maxs = [
  47.     _str = (at $arg1 0)
  48.     looplist i $arg1 [if (>s $i $_str) [_str = $i]]
  49.     result $_str
  50. ]
  51.  
  52. sortlist = [
  53.     _list = ""
  54.     loop p (listlen $arg1) [
  55.         append _list (
  56.             format ["%1"] ((? $arg2 maxs mins) (listdel $arg1 $_list))
  57.         )
  58.     ]
  59.     result $_list
  60. ]
  61.  
  62. // Alias variables for the first use
  63.  
  64. createine _qc_servlist ""
  65. createine _qc_servname ""
  66.  
  67. // Define some commands as helpers
  68.  
  69. _qc_findserv = [listfind i $_qc_servlist [=s $arg1 (at $i 0)]]
  70. _qc_complete = [
  71.     _qc_servname = ""
  72.     looplist i $_qc_servlist [append _qc_servname (at $i 0)]
  73.     _qc_servname = (substr (sortlist $_qc_servname) 1)
  74.     looplist i "qc qcdelserv qcviewserv" [
  75.         listcomplete $i $_qc_servname
  76.     ]
  77. ]
  78. _qc_info = [
  79.     _qc_sel = (at $_qc_servlist (_qc_findserv $arg1))
  80.     echo (format "^f7Name: ^f2%1 ^f7%2: ^f2%3 ^f7Port: ^f2%4" (at $_qc_sel 0) (? (isip (at $_qc_sel 1)) IP Domain) (at $_qc_sel 1) (at $_qc_sel 2))
  81. ]
  82.  
  83. // Below here lies the magic, user commands.
  84.  
  85. qcaddserv = [
  86.     cond (|| (> (_qc_findserv $arg1) -1) (isip $arg1)) [
  87.         error "^f3QC entry already exists or is invalid!"
  88.     ] (
  89.         ? (>= $numargs 2) (
  90.             ? (< (indexof $tld (charcase (at (strreplace $arg2 . " ") (- (listlen (strreplace $arg2 . " ")) 1)))) 0) (! (isip $arg2))
  91.         ) (! (isconnected))
  92.     ) [
  93.         error "^f3IP or Domain is invalid!"
  94.     ] [
  95.         append _qc_servlist (
  96.             format ["%1 %2 %3"] @arg1 (
  97.                 ? (> @numargs 1) $arg2 (connectedip)
  98.             ) (
  99.                 ? (> @numargs 2) $arg3 (? (isconnected) (connectedport) 28785)
  100.             )
  101.         )
  102.         echo "^f2QC ^f7entry^f2" $arg1 "^f7has been included successfully!"
  103.         _qc_complete
  104.     ]
  105. ]
  106.  
  107. qcdelserv = [
  108.     if (< (_qc_findserv $arg1) 0) [
  109.         error "^f3QC entry does not exist!"
  110.     ] [
  111.         _qc_servlist = (listdel $_qc_servlist (format ["%1"] (at $_qc_servlist (_qc_findserv $arg1))))
  112.         echo "^f2QC ^f7entry^f2" $arg1 "^f7has been deleted successfully!"
  113.         _qc_complete
  114.     ]
  115. ]
  116.  
  117. qclistserv = [
  118.     if (=s $_qc_servlist "") [error "^f3No registered entries!"] [
  119.         if $numargs [looplist i $_qc_servname [_qc_info $i]] [
  120.             echo (format "^f2%1^f7 Available servers: ^f2%2" (listlen $_qc_servname) (strreplace (prettylist $_qc_servname) "," "^f7,^f2"))
  121.         ]
  122.     ]
  123. ]
  124.  
  125. qcviewserv = [
  126.     if (< (_qc_findserv $arg1) 0) [
  127.         error "^f3QC entry does not exist!"
  128.     ] [_qc_info $arg1]
  129. ]
  130.  
  131. qc = [
  132.     if (=s $_qc_servlist "") [error "^f3No registered entries!"] [
  133.         connect (at (at $_qc_servlist (_qc_findserv $arg1)) 1) (at (at $_qc_servlist (_qc_findserv $arg1)) 2)
  134.     ]
  135. ]
  136.  
  137. // Compile tab completion upon execution, just in case
  138.  
  139. _qc_complete
  140.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement