Mute Ban (Susturma)

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
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir