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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
; VIP Script by Teppuli (#AndRew @ QuakeNet)
on *:join:#:{
; Join event for VIP script
if (%vip_netsplit) { halt }
if ($readini(vip.ini,$+(settings,$chan),on) == true) {
whois $nick
set -u30 %vipscan_ [ $+ [ $nick ] ] $chan
}
}
on 1:quit:{
; Netsplit checker to disable VIP script during netsplits.
if ($1- == *.net *.split) && (!%netsplit) {
set -u600 %vip_netsplit on
}
}
on 9:text:-vip:#:{
notice $nick Usage: $1 on/off/add/del/list/setmode/status/skin/version
}
on 9:text:-vip *:#:{
if ($2 == on) {
if (!$readini(vip.ini,$+(settings,$chan),status)) { notice $nick You must specify status given to vip. Set it with: $1 setmode | halt }
writeini vip.ini $+(settings,$chan) on true
notice $nick Done
halt
}
if ($2 == off) {
writeini vip.ini $+(settings,$chan) on false
notice $nick Done
halt
}
if ($2 == setmode) {
if (!$3) { notice $nick Usage: $1-2 $+($chr(43),/,$chr(64)) | halt }
if ($3 != $chr(43)) && ($3 != $chr(64)) { notice $nick Usage: $1-2 $+($chr(43),/,$chr(64)) | halt }
writeini vip.ini $+(settings,$chan) status $3
notice $nick Done
halt
}
if ($2 == add) {
if (!$3) { notice $nick Usage: $1-2 <#channel> | halt }
writeini vip.ini $+(channels,$chan) $3 $nick
notice $nick Done
halt
}
if ($2 == del) {
if (!$3) { notice $nick Usage: $1-2 <#channel> | halt }
remini vip.ini $+(channels,$chan) $3
notice $nick Done
halt
}
if ($2 == status) {
notice $nick VIP status for this channel: $iif($readini(vip.ini,$+(settings,$chan),on)==true,ON,OFF)
halt
}
if ($2 == version) {
msg $chan Script file $+(",$remove($script,$scriptdir),") loaded. MSL VIP script by Teppuli (#AndRew@QuakeNet) Linecount: $lines($script)
halt
}
if ($2 == skin) {
if (!$3) { notice $nick Usage: $1-2 <skin> | notice $nick You can use following variables: :id: :chan: :vipchans: :status: :address: :nick: | halt }
writeini vip.ini $+(settings,$chan) skin $3-
notice $nick Done
halt
}
if ($2 == list) {
notice $nick Vip channel list:
var %i = 1
while (%i <= $ini(vip.ini,$+(channels,$chan),0)) {
notice $nick Channel: $ini(vip.ini,$+(channels,$chan),%i) $+ . Added by nickname: $readini(vip.ini,$+(channels,$chan),$ini(vip.ini,$+(channels,$chan),%i))
inc %i
}
notice $nick End of vip channel list
halt
}
notice $nick Usage: $1 on/off/add/del/list/setmode/status/skin/version
}
raw 319:*:{
echo -ag $1-
if (!%vipscan_ [ $+ [ $2 ] ]) { halt }
var %i = 1
if (!$readini(vip.ini,$+(settings,%vipscan_ [ $+ [ $2 ] ]),skin)) { halt }
while (%i <= $ini(vip.ini,$+(channels,%vipscan_ [ $+ [ $2 ] ]),0)) {
var %channel = $ini(vip.ini,$+(channels,%vipscan_ [ $+ [ $2 ] ]),%i)
if (%channel isin $$3-) { var %vipchans = %vipchans %channel }
inc %i
}
if (%vipchans == $null) { unset %vipscan_ [ $+ [ $2 ] ] | halt }
inc %vipid
msg %vipscan_ [ $+ [ $2 ] ] $replace($readini(vip.ini,$+(settings,%vipscan_ [ $+ [ $2 ] ]),skin),:id:,%vipid,:chan:,%vipscan_ [ $+ [ $2 ] ],:vipchans:,%vipchans,:nick:,$2,:address:,$address($2,5),:status:,$readini(vip.ini,$+(settings,%vipscan_ [ $+ [ $2 ] ]),status))
if ($readini(vip.ini,$+(settings,%vipscan_ [ $+ [ $2 ] ]),status) == $chr(66)) {
mode %vipscan_ [ $+ [ $2 ] ] +o $2
}
if ($readini(vip.ini,$+(settings,%vipscan_ [ $+ [ $2 ] ]),status) == $chr(43)) {
mode %vipscan_ [ $+ [ $2 ] ] +v $2
}
unset %vipscan_ [ $+ [ $2 ] ]
}
|