alias pp dialog -m pp pp dialog pp { title "Personal Protection [/pp]" size -1 -1 150 83 option dbu icon icons/Prot.ico, 0 button "OK", 10, 99 69 47 12, ok tab "Deop", 2, 2 0 145 66 box "Deop Protection:", 13, 4 15 140 47, tab 2 check "When Deoped, MSG ChanServ OP Me, Deop Nick", 6, 7 23 132 10, tab 2 check "When Deoped, MSG X OP Me, Deop Nick", 15, 7 36 129 10, tab 2 check "When Deoped, MSG Q/L OP Me, Deop Nick", 20, 7 48 127 10, tab 2 tab "Kick", 1 box "Kick Protection:", 12, 4 15 140 47, tab 1 check "When Kicked, Rejoin Normally, Deop/Kick Nick", 7, 7 23 129 10, tab 1 check "When Kicked, Join Chan, MSG X OP Me, Kick Nick", 14, 7 36 132 10, tab 1 check "When Kicked, Join Chan, MSG Q/L OP Me, Kick Nick", 19, 7 48 121 10, tab 1 tab "Ban", 3 box "Ban Protection:", 23, 4 15 140 47, tab 3 check "When Banned, Unban Normally, Deop/Ban Nick", 8, 7 36 127 10, tab 3 tab "Slap", 4 check "When Slapped, Kick Nick", 9, 7 37 124 8, tab 4 box "Slap Protection:", 5, 4 15 140 47, tab 4 text "Deop/Kick/Ban/Slap Protection", 11, 4 72 80 8, disable } on *:dialog:pp:init:*:{ if ( %deop = On ) { did -c pp 6 | .enable #deop } | else { did -u pp 6 | .disable #deop } if ( %kick = On ) { did -c pp 7 | .enable #kick } | else { did -u pp 7 | .disable #kick } if ( %ukick = On ) { did -c pp 14 | .enable #ukick } | else { did -u pp 14 | .disable #ukick } if ( %udeop = On ) { did -c pp 15 | .enable #udeop } | else { did -u pp 15 | .disable #udeop } if ( %qdeop = On ) { did -c pp 20 | .enable #qdeop } | else { did -u pp 20 | .disable #qdeop } if ( %qkick = On ) { did -c pp 19 | .enable #qkick } | else { did -u pp 19 | .disable #qkick } if ( %ban = On ) { did -c pp 8 | .enable #ban } | else { did -u pp 8 | .disable #ban } if ( %slap = On ) { did -c pp 9 | .enable #slap } | else { did -u pp 9 | .disable #slap } } on *:dialog:pp:sclick:*:{ if ($did == 6) { if ($did($dname,$did).state == 1) { set %deop On | .enable #deop } | else { set %deop Off | .disable #deop } } if ($did == 7) { if ($did($dname,$did).state == 1) { set %kick On | .enable #kick } | else { set %kick Off | .disable #kick } } if ($did == 14) { if ($did($dname,$did).state == 1) { set %ukick On | .enable #ukick } | else { set %ukick Off | .disable #ukick } } if ($did == 15) { if ($did($dname,$did).state == 1) { set %udeop On | .enable #udeop } | else { set %udeop Off | .disable #udeop } } if ($did == 20) { if ($did($dname,$did).state == 1) { set %qdeop On | .enable #qdeop } | else { set %qdeop Off | .disable #qdeop } } if ($did == 19) { if ($did($dname,$did).state == 1) { set %qkick On | .enable #qkick } | else { set %qkick Off | .disable #qkick } } if ($did == 8) { if ($did($dname,$did).state == 1) { set %ban On | .enable #ban } | else { set %ban Off | .disable #ban } } if ($did == 9) { if ($did($dname,$did).state == 1) { set %slap On | .enable #slap } | else { set %slap Off | .disable #slap } } } #deop on on 1:DEOP:#: { if ( $opnick == $me) && ( $nick != $me) { .ChanServ Op $chan $me if ( $nick == chanserv) { halt } else { .timer 1 2 /mode $chan -o $nick } } else { halt } } #deop end #kick on on 1:KICK:#: { if ( $knick == $me) && ( $nick != $me) { .join $chan .timer 1 2 /mode $chan -o $nick kick $chan $nick 4Dont Kick me! } else { halt } } #kick end #udeop off on *:NOTICE:*deopped*:*:{ .timer 1 2 .msg x op %kanal .set %dust $4 .timer 1 4 .msg x deop %kanal %dust } on 1:DEOP:#:{ if ($opnick == $me) { .msg x op $chan .set %kanal $chan } if ($nick != X) && ($opnick == $me) { .timer 1 2 .msg x deop $chan $nick } } on *:OP:#:{ if ($opnick == %dust) && ($nick != X) { .set %trator $nick .timer 1 2 .msg x deop $chan %trator .timer 1 2 .msg x deop $chan %dust .timer 1 20 .unset %dust | .unset %trator } } #udeop end #ukick off On *:kick:#: { if ($knick == $me) { .msg x op # | kick # $nick 4Don't Kick me! } } #ukick end #qdeop off on !*:deop:#:if ($opnick == $me) { .msg $$iif(Q ison $chan, Q, $iif(L ison $chan, L)) op $chan | set %dchan $chan | set %dnick $nick } on *:op:#:if ($opnick == $me && %dchan == $chan) { if (%dnick ison $chan) { mode $chan -o %dnick } | unset %dchan | unset %dnick } #qdeop end #qkick off on *:KICK:#: { if ($knick == $me) { set -u8 %me-kickd-by $nick set -u8 %me-kickd-by-a $address($nick,1) join $chan if (Q ison $chan) { .timer 1 0 .msg Q op $chan } elseif (L ison $chan) { .timer 1 0 .msg L op $chan } .timer 1 2 kick $chan %me-kickd-by 4Don't kick me! } } #qkick end #ban on on @*:ban:*:{ if ($banmask iswm $address($me,5)) { mode # -b $banmask | mode # -o+b $nick $nick } } #ban end #slap off on 1:ACTION:$(*slaps $me *):#:{ kick $chan $nick 4Don't Slap Me! } #slap end