View difference between Paste ID: yPC1Hb4v and 4tvcwsTU
SHOW: | | - or go back to the newest paste.
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
13+
	_str = $arg1
14-
	bool = [? $arg1 $char_high $char_low]
14+
	_bool = [? $arg1 $char_high $char_low]
15
	loop c (strlen $arg1) [
16-
		char = (substr $str $c 1)
16+
		_char = (substr $_str $c 1)
17-
		if (> (strstr (bool (! $arg2)) $char) -1) [
17+
		if (> (strstr (_bool (! $arg2)) $_char) -1) [
18-
			str = (strreplace $str $char (substr (bool $arg2) (strstr (bool (! $arg2)) $char) 1))
18+
			_str = (strreplace $_str $_char (substr (_bool $arg2) (strstr (_bool (! $arg2)) $_char) 1))
19
		]
20
	]
21-
	result $str
21+
	result $_str
22
]
23
24
isnum = [
25-
	bool = 1
25+
	_bool = 1
26
	loop n (strlen $arg1) [
27-
		if (< (strstr "0123456789." (substr $arg1 $n 1)) 0) [bool = 0]
27+
		if (< (strstr "0123456789." (substr $arg1 $n 1)) 0) [_bool = 0]
28
	]
29-
	result $bool
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
// Alias variables for the first use
41
42-
createine qc_servlist ""
42+
createine _qc_servlist ""
43
createine _qc_servname ""
44
45
// Define some commands as helpers
46
47-
_qc_findserv = [listfind i $qc_servlist [=s $arg1 (at $i 0)]]
47+
_qc_findserv = [listfind i $_qc_servlist [=s $arg1 (at $i 0)]]
48
_qc_complete = [
49
	_qc_servname = ""
50-
	looplist i $qc_servlist [append _qc_servname (at $i 0)]
50+
	looplist i $_qc_servlist [append _qc_servname (at $i 0)]
51
	_qc_servname = (substr $_qc_servname 1)
52
	listcomplete qc $_qc_servname
53
	listcomplete qcdelserv $_qc_servname
54
	listcomplete qcviewserv $_qc_servname
55
]
56
_qc_info = [
57-
	qc_sel = (at $qc_servlist (_qc_findserv $arg1))
57+
	_qc_sel = (at $_qc_servlist (_qc_findserv $arg1))
58-
	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))
58+
	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))
59
]
60
61
// Below here lies the magic, user commands.
62
63
qcaddserv = [
64
	cond (|| (> (_qc_findserv $arg1) -1) (isip $arg1)) [
65
		error "^f3QC entry already exists or is invalid!"
66
	] (
67
		? (>= $numargs 2) (
68
			? (< (indexof $tld (charcase (at (strreplace $arg2 . " ") (- (listlen (strreplace $arg2 . " ")) 1)))) 0) (! (isip $arg2))
69
		) (! (isconnected))
70
	) [
71
		error "^f3IP or Domain is invalid!"
72
	] [
73-
		append qc_servlist (
73+
		append _qc_servlist (
74
			format ["%1 %2 %3"] @arg1 (
75
				? (> @numargs 1) $arg2 (connectedip)
76
			) (
77
				? (> @numargs 2) $arg3 (? (isconnected) (connectedport) 28785)
78
			)
79
		)
80
		echo "^f2QC ^f7entry^f2" $arg1 "^f7has been included successfully!"
81
		_qc_complete
82
	]
83
]
84
85
qcdelserv = [
86
	if (< (_qc_findserv $arg1) 0) [
87
		error "^f3QC entry does not exist!"
88
	] [
89-
		qc_servlist = (listdel $qc_servlist (format ["%1"] (at $qc_servlist (_qc_findserv $arg1))))
89+
		_qc_servlist = (listdel $_qc_servlist (format ["%1"] (at $_qc_servlist (_qc_findserv $arg1))))
90
		echo "^f2QC ^f7entry^f2" $arg1 "^f7has been deleted successfully!"
91
		_qc_complete
92
	]
93
]
94
95
qclistserv = [
96-
	if (=s $qc_servlist "") [error "^f3No registered entries!"] [
96+
	if (=s $_qc_servlist "") [error "^f3No registered entries!"] [
97
		if $numargs [looplist i $_qc_servname [_qc_info $i]] [
98
			echo (format "^f2%1^f7 Available servers: ^f2%2" (listlen $_qc_servname) (strreplace (prettylist $_qc_servname) "," "^f7,^f2"))
99
		]
100
	]
101
]
102
103
qcviewserv = [
104
	if (< (_qc_findserv $arg1) 0) [
105
		error "^f3QC entry does not exist!"
106
	] [_qc_info $arg1]
107
]
108
109
qc = [
110-
	if (=s $qc_servlist "") [error "^f3No registered entries!"] [
110+
	if (=s $_qc_servlist "") [error "^f3No registered entries!"] [
111-
		connect (at (at $qc_servlist (_qc_findserv $arg1)) 1) (at (at $qc_servlist (_qc_findserv $arg1)) 2)
111+
		connect (at (at $_qc_servlist (_qc_findserv $arg1)) 1) (at (at $_qc_servlist (_qc_findserv $arg1)) 2)
112
	]
113
]
114
115
// Compile tab completion upon execution, just in case
116
117-
_qc_complete
117+
_qc_complete