1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
on 9:text:.saveop:#:{
var %i = 1
var %countop = 0
unset %saveops_ [ $+ [ $chan ] ]
while (%i <= $nick($chan,0)) {
if ($nick($chan,%i) isop $chan) {
set %saveops_ [ $+ [ $chan ] ] $addtok(%saveops_ [ $+ [ $chan ] ],$nick($chan,%i),32)
inc %countop
}
inc %i
}
notice $nick Done. Saved %countop ops for channel $chan $+ .
}
on 9:text:.reop:#:{
if (!%saveops_ [ $+ [ $chan ] ]) { notice $nick No saved ops for this channel. Use .saveop | halt }
var %i = 1
while (%i <= $numtok(%saveops_ [ $+ [ $chan ] ],32)) {
if ($gettok(%saveops_ [ $+ [ $chan ] ],%i,32) !isop $chan) {
var %mustop = $addtok(%mustop,$gettok(%saveops_ [ $+ [ $chan ] ],%i,32),32)
}
inc %i
}
var %i = 1
var %opd = 0
unset %saveops_ [ $+ [ $chan ] ]
while (%i <= $numtok(%mustop,32)) {
if ($numtok(%mustop,32) >= 6) {
mode $chan +ooooooo $gettok(%mustop,1-6,32)
var %mustop = $deltok(%mustop,1-6,32)
var %expr = %opd $+ + $+ 6
var %opd = $calc(%expr)
}
if ($numtok(%mustop,32) < 6) {
mode $chan +ooooooo $gettok(%mustop,1-6,32)
var %expr = %opd $+ + $+ $numtok(%mustop,32)
var %opd = $calc(%expr)
notice $nick Done. Restored %opd ops on channel $chan
halt
}
inc %i
}
notice $nick Done. Restored %opd ops on channel $chan
halt
}
|