Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
|
Op olduğunuz kanallardan herhangi birinde kicklenen biri kicksnbans.#kanal-adı.txt dosyasına "kick #kanal-adı kicklenen-nick:kicklenen-nick-ipsi:kickleyen-nick kicklendiği-zaman kick-sebebi" şeklinde kaydediliyor. Daha sonra eğer bu nick banlanırsa, kicksnbans.#kanal-adı.txt'de kick varsa bu kick kbanla değişiyor ve banmaskı da ekleniyor, bu kişi kanala geri girdiğinde .txt dosyasından o kişiyle ilgili bilgi siliniyor ya da banı açıldığında .txt dosyasındaki bilgi siliniyor. Özelinize gelip !unban #kanal-adı yazdığında ise #kanal-adı kanalından kicklendiği/banlandığı/kickbanlandığı ve ne zaman kim tarafından hangi sebeble atıldığı yazıyor. Kodu denedim ve çalışıyor, tek yapmanız gereken mIRC'de Remote'a koymak. İstenilirse daha da geliştirilebilir, İşte kod: on @*:KICK:#:{ var %. = $+(kicksnbans.,#,.txt) if $read(%.,w,ban # $knick $+ :*) { write $+(-l,$readn) %. kban # $+($knick,:,$gettok($wildsite,2,64),:,$gettok($get tok($read(%.,$readn),3,32),3,58)) $nick $ctime $strip($1-) } | else { write %. kick # $+($knick,:,$gettok($wildsite,2,64)) $nick $ctime $strip($1-) } } on @*:BAN:#:{ var %: = $ialchan($banmask,#,0) | while %: { var %. = $ialchan($banmask,#,%:) if $gettok(%.,1,33) != $nick { write $iif($read($+(kicksnbans.,#,.txt),w,kick # $gettok(%.,1,33) $+ *),$+(-l,$readn) $+(kicksnbans.,#,.txt) kban,$+(kicksnbans.,#,.txt) ban) # $+($gettok(%.,1,33),:,$gettok(%.,2,64),:,$banmask) $nick $ctime $gettok($read($+(kicksnbans.,#,.txt),$readn),6-,32) } dec %: } } on @*:UNBAN:#:{ var %. = $+(kicksnbans.,#,.txt) | if $read(%.,w,*ban # *: $+ $banmask $+ *) { write $+(-dl,$readn) %. } } on @*:JOIN:#:{ var %. = $+(kicksnbans.,#,.txt) | if $read(%.,w,kick # $nick $+ :*) || $read(%.,w,*ban # $nick $+ : $+ $gettok($wildsite,2,64) $+ :*) { write $+(-dl,$readn) %. } } on *:text:!unban &:?:{ if $me isop $2 { var %' = $+(kicksnbans.,$2,.txt) if $read(%',w,kban $2 $nick $+ :*) || $read(%',w,kick $2 $nick $+ :*) { var %d = $readn | .msg $nick $2 kanalında $+(,$duration($calc($ctime - $gettok($read(%',%d),5,32))),) önce $+(,$gettok($read(%',%d),4,32),) tarafından $+(",$gettok($read(%',%d),6-,32),") sebebiyle $iif($gettok($read(%',%d),1,32) == kban,$+(,$gettok($gettok($read(%',%d),3,32),3,58) ,) banmaskın banlandı ve) kicklendin. } elseif $read(%',w,ban $2 $nick $+ :*) { var %d = $readn | .msg $nick $2 kanalında $+(,$duration($calc($ctime - $gettok($read(%',%d),5,32))),) önce $+(,$gettok($read(%',%d),4,32),) tarafından $+(,$gettok($gettok($read(%',%d),3,32),3,58),) banmaskın banlandı. } elseif $checkibl($2,$wildsite) { .msg $nick $2 kanalında banlısın. $v1 } if $checkibl($2,$+($nick,!*@*)) { .msg $nick $2 kanalında banlısın. $v1 } else { .msg $nick $2 kanalında kick/ban/kickban kaydın bulunamadı. } } else { .msg $nick $+(,$2,) kanalında op değilim. } } alias checkibl { if $me isop $1 && $2 { var %: = $ibl($1,0), %ç | while %: { if $ibl($1,%:) iswm $2 { %ç = $addtok(%ç,$+(banmask:,$chr(160),,$v1,,$chr(160) ,banlayan:,$chr(160),$ibl($1,%:).by,,$chr(160),. .,$duration($calc($ctime - $ibl($1,%:).ctime)) önce),32) } | dec %: } | return $iif(%ç,%ç,$false) } }
Umarım işinize yarar..
Edit: Biraz daha geliştirdim, eğer kanal kick ve banlarının saklandığı dosyada nickle ilgili kayıt yoksa kanal ban listesine bakıyor ve orda varsa ordaki bilgileri nicke yansıtıyor. Denedim çalışıyor.
Konu el33t tarafından (12 Mart 2006 Saat 01:49 ) değiştirilmiştir.
|