Koruma admin ve aop olmak üzre iki ayrı modda çalışmakta. Admin mod sunucu girişlerindeki ip leri, Operator mod ise kanal girişindeki hostları baz alarak çalışmaktadır. Bol seçenekli bişey yapmaya çalıştım. Sorun yaşarsanız başlık altında belirtebilirsiniz.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
#ServerCp off
on $*:snotice:/client\s(connecting|exiting)/Si: {
var %_reg = $regml(1),%_ip = $remove($gettok($10,2,64),$chr(41))
if ($(,%_reg) = connecting) {
hinc -m _ips %_ip 1
if ($hget(_ips,%_ip) = %csayi) {
if (%cShun == on) { shun $9 +10m %clogo | hdel _ips %_ip }
if (%ckill == on) { kill $9 %clogo | hdel _ips %_ip }
if (%cakill == on) { os killclones $9 | hdel _ips %_ip }
if (%cz-Line == on) { zline $9 +10m %clogo | hdel _ips %_ip }
}
if ($(,%_reg) = exiting) $iif($hget(_ips,%_ip),hdec _ips %_ip 1)
}
}
#ServerCp end
#chanCp on
on @*:join:#: {
if ($regex($site,/(*admin|*oper|ircop|helper)/i)) { halt }
if ($ialchan($wildsite,#,0) > %csayi) {
if ($nick isop #) && (%c@plar == on) { return }
if ($nick isvo #) && (%c+v == on) { return }
if (%cban == on) { ban $iif(%csure isnum,-u $+ %csure) # $nick 2 }
if (%ckick == on) { kick # $ialchan($wildsite,#,1).nick %clogo }
}
}
#chanCp end
alias cprot { .dialog -m cprot cprot }
dialog cprot {
title "by WeiL"
size -1 -1 173 71
option dbu
box "ayarLa", 1, 1 1 87 69
check " Z-Line ", 8, 130 50 27 10
check " KiLL", 9, 92 59 21 10
edit "", 10, 114 32 23 10
text "Saniye", 11, 138 33 20 8
box "Ayir", 12, 89 1 40 26
box "ceza", 112, 89 26 83 44
check "@plar", 13, 93 7 34 10
check "+v", 14, 93 16 30 10
check " AKiLL", 7, 130 59 27 10
check " Kick", 15, 92 41 21 10
check " Ban", 16, 92 32 21 10
check " Shun", 17, 92 50 26 10
box "Mod", 18, 132 1 40 26
radio "admin", 21, 135 7 26 10
radio "aop", 22, 135 16 26 10
button "kaydet ve çık", 5, 27 34 58 12, ok
edit "", 2, 6 9 13 8
text ">= cLone sayısı", 19, 19 9 42 9
edit "", 20, 19 21 66 10, disable
text "Şuan:", 23, 3 22 16 8
button "iptaL", 24, 4 34 21 12, cancel
box "", 3, 3 46 83 22
}
on *:dialog:cprot:init:*:{
did -a $dname 2 %csayi
did -a $dname 10 %csure
if %c@plar == on { did -c $dname 13 }
if %c+v == on { did -c $dname 14 }
if %cz-Line == on { did -c $dname 8 }
if %ckill == on { did -c $dname 9 }
if %cakill == on { did -c $dname 7 }
if %cShun == on { did -c $dname 17 }
if %cban == on { did -c $dname 16 }
if %cKick == on { did -c $dname 15 }
if ($group(#ServerCp) == on) { did -c $dname 21 }
if ($group(#chanCp) == on) { did -c $dname 22 }
}
on *:dialog:cprot:sclick:*:{
if ($did == 5) { set %csayi $did(2) | set %clogo cLone Yasak | set %cduruma admin mod devrede | set %cdurumo operator mod devrede }
if $istok(7 8 9 13 14 15 16 17 ,$did,32) { $iif($did($did).state == 1,set %c $+ $gettok($did($did).text,1,32) on,.set %c $+ $gettok($did($did).text,1,32) off) }
if ($did = 21) { .disable #chanCp | .enable #ServerCp | did -b cprot 10,11,13,14,15,16 | did -e cprot 7,8,9,17 | did -r $dname 20 | did -a $dname 20 %cduruma }
if ($did = 22) { .disable #ServerCp | .enable #chanCp | did -e cprot 10,11,13,14,15,16 | did -b cprot 7,8,9,17 | did -r $dname 20 | did -a $dname 20 %cdurumo }
}
on *:dialog:cprot:edit:*:{
%csure = $did(10)
}