rendered paste bodyon *:dialog:qm:init:0:{
if ($qm.config(blockall)) did -c $dname 6
if ($qm.config(allowall)) did -c $dname 9
if ($qm.config(blacklist)) did -c $dname 8
if ($qm.config(whitelist)) did -c $dname 7
if ($qm.config(autoclose)) did -ra $dname 27 $ifmatch
var %x = 0
while (%x < $qm.text(0).title) {
inc %x
did -a $dname 31 $qm.text(%x).title
}
did -fc $dname 31 1
did -ra $dname 34 $qm.text($did($dname,31))
qm.list $dname
}
on *:dialog:qm:edit:27:{
if ($did($dname,$did) isnum) { qm.config autoclose $ifmatch }
}
on *:dialog:qm:sclick:14:{
var %know = $did($dname,12).sel
if ($input(Please enter the nickname here:,e,edit nick from whitelist,$did($dname,12).seltext,)) {
var %known = $ifmatch
did -d $dname 12 %know
did -a $dname 12 %known
qm.white -r %know
qm.white %known
}
}
on *:dialog:qm:sclick:20:{
var %know = $did($dname,19).sel
if ($input(Please enter the nickname here:,e,edit nick from blacklist,$did($dname,19).seltext,)) {
var %known = $ifmatch
did -d $dname 19 %know
did -a $dname 19 %known
qm.white -r %know
qm.white %known
}
}
on *:dialog:qm:sclick:15:{
qm.white $input(Please enter the nickname here:,e,add nick to whitelist,,)
qm.list $dname
}
on *:dialog:qm:sclick:18:{
qm.black $input(Please enter the nickname here:,e,add nick to blacklist,,)
qm.list $dname
}
on *:dialog:qm:sclick:13:{
qm.white -r $did($dname,12).seltext
qm.list $dname
}
on *:dialog:qm:sclick:21:{
qm.black -r $did($dname,19).seltext
qm.list $dname
}
on *:dialog:qm:sclick:6:{
qm.config blockall $did($dname,$did).state
}
on *:dialog:qm:sclick:7:{
qm.config whitelist $did($dname,$did).state
}
on *:dialog:qm:sclick:8:{
qm.config blacklist $did($dname,$did).state
}
on *:dialog:qm:sclick:9:{
qm.config allowall $did($dname,$did).state
}
on *:dialog:qm:sclick:31:{
did -ra $dname 34 $qm.text($did($dname,31))
}
on *:dialog:qm:sclick:32:{
qm.text $did($dname,31) $did($dname,34)
}
on *:dialog:qm:sclick:33:{
qm.text -d $did($dname,31)
did -ra $dname 34 $qm.text($did($dname,31))
}
on *:dialog:qm:sclick:25:{ run http://mircboard.de }
dialog qminform {
title "Query, autoblock in: 10sec"
size -1 -1 160 71
option dbu
text "Name:", 2, 14 11 19 9, right
box "Information", 3, 3 2 154 53
text "$nick", 5, 35 11 119 8
text "ComChan:", 4, 8 20 25 8
text "$comchan", 6, 35 20 119 14
button "allow", 1, 3 57 37 12, flat ok
button "block", 7, 42 57 37 12, flat cancel
button "blacklist", 8, 120 57 37 12, flat
button "whitelist", 9, 81 57 37 12, flat
text "Message:", 10, 8 35 25 8, right
text "", 11, 35 35 119 17
}
on ^*:open:?:{
echo $color(info2 text) -ts * Incomming query: $nick
.timer -h 1 20 window -h $nick
if (($qm.config(blacklist)) && ($qm.black($nick))) {
.msg $nick $qm.text(blacklist)
.timer $+ $nick 1 20 close -m $nick
haltdef
halt
}
if (($qm.config(whitelist)) && ($qm.white($nick))) {
.msg $nick $qm.text(whitelist)
.timer -h 1 30 window -wa $nick
return
}
if ($qm.config(allowall)) {
.timer -h 1 30 window -w $nick
}
if ($qm.config(blockall)) { haltdef | halt }
else {
.msg $nick $qm.text(wait)
.timer -h 1 30 qm.inform $nick
}
}
on *:start:{ right }
alias qm.inform { ; nick
dialog -m $+(qminform.,$1) qminform
}
on *:dialog:qminform.*:init:0:{
if ($qm.config(autoclose) > 0) .timer $+ $gettok($dname,2,46) $qm.config(autoclose) 1 qm.time $dname
else dialog -t $dname Query
did -a $dname 5 $gettok($dname,2,46)
var %x = 0, %text
while (%x < $comchan($gettok($dname,2,46),0)) {
inc %x
%text = %text $comchan($gettok($dname,2,46),%x)
}
did -a $dname 6 $iif(%text,$ifmatch,no)
did -a $dname 11 $gettok($line($query($gettok($dname,2,46)),1),$+($calc($findtok($line($query($gettok($dname,2,46)),1),$wildtok($line($query($gettok($dname,2,46)),1),$+(*,$gettok($dname,2,46),*),1,32),32) + 1),-),32)
; $gettok($line($query(Salz`),1),$+($calc($findtok($line($query(Salz`),1),$wildtok($line($query(Salz`),1),$+(*,Salz`,*),1,32),32) + 1),-),32)
}
on *:dialog:qminform.*:close:0:{
.timer $+ $gettok($dname,2,46) off
}
on *:dialog:qminform.*:sclick:8:{
qm.black $gettok($dname,2,46)
.timer -h 1 20 close -m $gettok($dname,2,46)
dialog -c $dname
}
on *:dialog:qminform.*:sclick:9:{
qm.white $gettok($dname,2,46)
.timer -h 1 20 window -a $gettok($dname,2,46)
dialog -k $dname
}
on *:dialog:qminform.*:sclick:1:{
.msg $gettok($dname,2,46) $qm.text(allow)
window -aw $gettok($dname,2,46)
}
on *:dialog:qminform.*:sclick:7:{
.msg $gettok($dname,2,46) $qm.text(block)
.ignore -pu10 $gettok($dname,2,46)
close -m $gettok($dname,2,46)
}
alias qm.time { ;dialog
if (!$qm.config(autoclose)) return
if (!$dialog($1)) return
if ($dialog($1).title == Query) dialog -t $1 Query, autoblock in: $duration($qm.config(autoclose))
if ($duration($gettok($dialog($1).title,2,58)) > 0) {
dialog -t $1 Query, autoblock in: $duration($calc($duration($gettok($dialog($1).title,2,58)) -1))
}
if (!$duration($gettok($dialog($1).title,2,58))) { dialog -c $1 }
}
alias right {
window -pdhC +b @right -1 -1 160 100
var %do = drawtext @right $color(info text)
%do 10 20 AddonScript made by Salz`
%do 24 30 irc.quakenet.org
%do 24 40 #mirc-scripting
%do 24 60 www.mIRCscripte.de
%do 24 70 www.mIRCboard.de
.timer 1 8 window -c @right
}
on *:load:{
qm.default | right
}
alias qm.default {
if (!$exists($qm.path)) { mkdir $qm.path }
if (!$exists($qm.path(qm.config))) {
var %do = writeini $qm.path( qm.config)
%do config blacklist 1
%do config whitelist 1
%do config allowall 0
%do config blockall 0
%do config autoclose 60
%do text blacklist Sorry, no chance for you :)
%do text whitelist hello my friend :)
%do text wait plz hold in line...
%do text allow Talk To Me :)
%do text block sorry, no time To Talk.
}
}
alias qm.text {
if ($1 isnum) {
if ($prop == title) {
if ($1 > 0) { return $ini($qm.path( qm.config),text,$1) }
else { return $ini($qm.path(qm.config),text,0) }
}
else {
if ($1 > 0) { return $readini($qm.path(qm.config),text,$ini($qm.path(qm.config),text,$1)) }
else { return $ini($qm.path( qm.config),text,0) }
}
}
if (!$isid) {
if ($1 == -d) {
if ($2 == blacklist) .timer 1 0 qm.text $2 You have been perm ignored By Me.
if ($2 == whitelist) .timer 1 0 qm.text $2 hello my friend :)
if ($2 == wait) .timer 1 0 qm.text $2 plz hold in line to see if i can talk...
if ($2 == allow) .timer 1 0 qm.text $2 Accepted please talk.... :)
if ($2 == block) .timer 1 0 qm.text $2 sorry, no time }
else { writeini $qm.path( qm.config) text $1- }
}
else { return $readini($qm.path(qm.config),text,$1) }
}
alias qm.path {
if (!$isid) return
if ($1) return $+(",$scriptdir,qm\,$1-,")
else return $+(",$scriptdir,qm\,")
}
alias qm.list {
did -r $1 19
did -r $1 12
var %x = 0
while (%x < $qm.black(0)) {
inc %x
did -a $1 19 $qm.black(%x)
}
var %x = 0
while (%x < $qm.white(0)) {
inc %x
did -a $1 12 $qm.white(%x)
}
}
alias qm.black {
if (!$isid) {
if ($1 == -r) .ruser qmblack $2 $iif(*!*@* !iswm $2,3)
else .guser qmblack $1 $iif(*!*@* !iswm $2,3)
}
if (($isid) && ($1 isnum)) return $ulist(*,qmblack,$1)
else return $iif($ulist($address($1,3),qmblack,0),$true,$false)
}
alias qm.white {
if (!$isid) {
if ($1 == -r) .ruser qmwhite $2 $iif(*!*@* !iswm $2,3)
else .guser qmwhite $1 $iif(*!*@* !iswm $2,3)
}
if (($isid) && ($1 isnum)) return $ulist(*,qmwhite,$1)
else return $iif($ulist($address($1,3),qmwhite,0),$true,$false)
}
alias qm.config {
:start
if (!$exists($qm.path)) { qm.default | goto start }
if (!$isid) { writeini $qm.path(qm.config) config $1- }
else { return $readini($qm.path(qm.config),config,$1) }
}
alias QM { qm.default | dialog -m QM QM }
menu menubar {
Query Manager [/QM]:/QM
}
menu Query,Nicklist {
Query Manager
. $iif($qm.config(whitelist),$iif(!$qm.white($1),whitelist $1 )):qm.white $1
. $iif($qm.config(whitelist),$iif($qm.white($1),unwhitelist $1 )): qm.white -r $1
. $iif($qm.config(blacklist),$iif(!$qm.black($1),blacklist $1 )):qm.black $1
. $iif($qm.config(blacklist),$iif($qm.black($1),unblacklist $1)):qm.black -r $1
. $iif(($qm.config(blacklist)) || ($qm.config(blacklist)),-)
. Configure:/qm