10-01-2017, 11:50 PM
Code:
on *:load: {
.echo -aq $input(Author: SaNCaK $+ $crlf $+ $crlf $+ Addon: Mute Ban $chr(40) $+ v5.4 $+ $chr(41) $+ $crlf $+ $crlf $+ Released at: 03 28 2014 $+ $crlf $+ $crlf $+ Contact: sancak@outlook.com.tr $+ $crlf $+ $crlf $+ Thank you for using this Addon,igo,Addon: Mute Ban $chr(40) $+ v5.4 $+ $chr(41))
.echo -s _____________________________________________________
.echo -s 0,1 Loading Mute Ban Add-On...
.echo -s 0,1 You are running mIRC $version on $os $+ .
.echo -s ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
}
on *:unload: {
.echo -aq $input(Author: SaNCaK $+ $crlf $+ $crlf $+ Addon: Mute Ban $chr(40) $+ v5.4 $+ $chr(41) $+ $crlf $+ $crlf $+ Released at: 03 28 2014 $+ $crlf $+ $crlf $+ Contact: sancak@outlook.com.tr $+ $crlf $+ $crlf $+ Unloading...,igo,Addon: Mute Ban $chr(40) $+ v5.4 $+ $chr(41))
}
menu nicklist {
-
.Mute
..$iif(!$hget(MuteEnforce,$+($network,$chan,$address($$1,2))),$style(2)) RemoveMute $$1: {
var %mask $+($network,$chan,$address($$1,2))
hdel MuteEnforce %mask
if ($timer(%mask).com) {
$v1
.notice $$1 Your ban has been lifted early! You may now speak in $+($chan,.) Please try not to repeat the same activity that caused you to be muted.
$+(.timer,%mask) off
}
else mode $chan -b $+(m:,$address($$1,2))
}
..Mute $$1
...3 Minutes:mute $$1 180 $$?="Reason for Muting $$1"
...5 Minutes:mute $$1 300 $$?="Reason for Muting $$1"
...10 Minutes:mute $$1 600 $$?="Reason for Muting $$1"
...30 Minutes:mute $$1 1800 $$?="Reason for Muting $$1"
...60 Minutes:mute $$1 3600 $$?="Reason for Muting $$1"
...Set Time: {
var %length $$?="Length of ban in minutes"
mute $$1 $calc(%length * 60) $$?="Reason for Muting $$1"
}
}
alias -l mute {
var %nick $$1
if (%nick ison $chan) && ($regex($nick(#,$me).pnick,/[~&!@%]/)) {
ialcheck %nick
var %usermodes $replace($remove($nick(#,%nick).pnick,%nick),~,q,&,a,!,a,@,o,%,h,+,v), %addy $iif($address(%nick,2),$v1,%nick)
mode $chan $+(+b-,%usermodes) $+(m:,%addy) $str($+(%nick,$chr(32)),$len(%usermodes))
hadd -m MuteEnforce $+($network,$chan,%addy) mute
if ($$2 isnum) {
$+(.timer,$network,$chan,%addy) 1 $$2 removeMute $+($network,$chan,%addy) $chan $+(-b+,%usermodes) $+(m:,%addy) $str($+(%nick,$chr(32)),$len(%usermodes))
msg $chan $+(,%nick,) You have been Muted! Duration: $duration($2) Reason: $iif($3-,$3-,Intolerable Behavior!)
}
else msg $chan %nick You have been Muted! $+(Reason:,$iif($2-,$2-,Intolerable Behavior!))
}
else echo -a Error: Either %nick is not on $chan or you do not have the correct privileges to use the mute command.
}
alias -l ialcheck {
if (!$ial($1)) .who $1
}
alias -l removeMute {
if ($($+($,$0),2) !ison $2) mode $2 -b $4
else mode $2-
hdel MuteEnforce $1
}
alias -l parseMode {
tokenize 32 $1
var %start 1, %finish $len($1), %+-, %modes -1, %location $+(parseMode,$chr(3),$network,$chr(3),$chan)
while (%start <= %finish) {
if ($mid($1,%start,1) isin +-) { %+- = $replace($v1,+,1,-,-1) | inc %modes }
elseif ($mid($1,%start,1) isin qaohvb) {
var %mode $+($v1,$($+($,$calc(%start - %modes)),2))
hadd -m %location %mode $calc($hget(%location,%mode) + %+-)
}
inc %start
}
var %hash $regsubex($regsubex($str(.,$hget(%location,0).item),/(.)/g,$+($hget(%location,\n).data,$hget(%location,\n).item,$chr(32))),/(\b0[^\s]*)/g,)
if ($hget(%location)) hfree $v1
var %count 1, %max $numtok(%hash,32), %return, %temp
while (%count <= %max) {
%temp = $gettok(%hash,%count,32)
%return = $+(%return,$chr(32),$iif($left(%temp,1) == -,$+(-,$mid(%temp,3)),$+(+,$mid(%temp,2))))
inc %count
}
return %return
}
On !*:rawmode:#: {
checkMutes $network $chan $parsemode($1-)
}
alias -l checkMutes {
var %network $1, %chan $2, %modes $3-
tokenize 32 %modes
checkMute %network %chan $*
}
alias -l checkMute {
var %mode $left($3,2), %target $mid($3,3)
if ((%mode isincs +v+h+o+a+q) && ($hget(MuteEnforce,$+($1,$2,$address(%target,2))))) mode $2 $replace(%mode,+,-) %target
elseif ((%mode == -b) && ($hget(MuteEnforce,$+($1,$2,$gettok(%target,-1,58))))) mode $chan +b %target
}
;Syntax /m Nick TimeinMinutes Reason
alias m mute $$1 $iif($2 isnum,$calc($2 * 60),180 $2) $3-