Kod: Kodu kopyalamak için üzerine çift tıklayın!
####################################################
############ Strong Wall System (SWS) v1.0 ############
####################################################
################# Coded by XcLusive #################
####################################################
*/
alias wall { $iif($dialog(wall),dialog -v wall,dialog -m wall wall) }
alias viewspath return $shortfn($scriptdirviews.mdx)
alias mdxpath return $shortfn($scriptdirmdx.dll)
alias walli { $iif($input($2,owdia,$1),haltdef,haltdef) }
dialog wall {
title "Strong Wall System (SWS) Coded by XcLusive"
size -1 -1 210 257
option dbu
tab "Algılanacak Kelimeler", 1, 6 3 198 233
box "Algılanacak Kelimeler", 2, 53 23 102 166, tab 1
list 3, 60 32 87 151, tab 1 size
button "Ekle", 5, 55 192 29 10, tab 1 flat
button "Sil", 6, 88 192 29 10, tab 1 flat
button "Temizle", 14, 122 192 29 10, tab 1 flat
tab "Değiştirilecek Karakterler", 4
list 9, 60 32 87 151, tab 4 size
box "Değiştirilecek Karakterler", 10, 53 23 102 166, tab 4
button "Ekle", 11, 55 192 29 10, tab 4 flat
button "Sil", 12, 88 192 29 10, tab 4 flat
button "Temizle", 13, 122 192 29 10, tab 4 flat
tab "Silinecek Karakterler", 7
list 19, 60 32 87 151, tab 7 size
box "Silinecek Karakterler", 20, 53 23 102 166, tab 7
button "Ekle", 21, 55 192 29 10, tab 7 flat
button "Sil", 22, 88 192 29 10, tab 7 flat
button "Temizle", 23, 122 192 29 10, tab 7 flat
button "Muaf Kanal", 24, 56 221 40 10, flat
button "Muaf Nick", 8, 111 221 40 10, flat
button "KAPAT", 25, 6 240 199 12, cancel
check "Boşlukları Sil", 16, 74 206 43 10
check "Rakamları Sil", 15, 19 206 45 10
check "Uzatılmış Karakterleri Sil", 17, 124 206 68 10
}
on *:dialog:wall:*:*:{
if $devent == init {
if (!$isfile($shortfn($scriptdirwall.xc))) { write $scriptdirwall.xc 1 | write -c $scriptdirwall.xc }
if (!$isfile($shortfn($scriptdirascii.xc))) { write $scriptdirascii.xc 1 | write -c $scriptdirascii.xc }
if (!$isfile($shortfn($scriptdirchr.xc))) { write $scriptdirchr.xc 1 | write -c $scriptdirchr.xc }
dll $mdxpath SetMircVersion $version
dll $mdxpath MarkDialog $dname
dll $mdxpath SetControlMDX $dname 9 ListView report nosortheader showsel single rowselect grid > $viewspath
did -i $dname 9 1 headerdims 85 85
did -i $dname 9 1 headertext +c Karakter $chr(9) Karşıtı
walllist
asciilist
chrlist
if %sws.bosluk == on did -c $dname 16
if %sws.rakam == on did -c $dname 15
if %sws.karakter == on did -c $dname 17
}
if $devent == sclick {
if $did == 5 { var %x $$?="Eklenecek Kelimeyi Girin" | walladd %x | walllist }
if $did == 6 { walldel $did(3).seltext | walllist }
if $did == 14 { cleanwall }
if $did == 11 { var %x $$?="Eklenecek Karakteri Girin" | var %y $$?="Karakter Karşıtını Girin" | asciiadd %x %y | asciilist }
if $did == 12 { asciidel $remove($did(9).seltext,$chr(9),+fs,0) | asciilist }
if $did == 13 { cleanascii }
if $did == 24 { muafclist }
if $did == 8 { muafnlist }
if $did == 21 { var %x $$?="Silinecek Karakteri Girin" | chradd %x | chrlist }
if $did == 22 { chrdel $did(19).seltext | chrlist }
if $did == 23 { cleanchr }
if $did == 16 {
if %sws.bosluk == on { set %sws.bosluk off }
else { set %sws.bosluk on }
}
if $did == 15 {
if %sws.rakam == on { set %sws.rakam off }
else { set %sws.rakam on }
}
if $did == 17 {
if %sws.karakter == on { set %sws.karakter off }
else { set %sws.karakter on }
}
}
}
alias walladd {
var %! = $left($calc($ctime * $rand(1000,9999)),7)
if (!$1) { $walli(Wall System,Eklenecek Kelime Girmediniz) | halt }
elseif ($hfind(wall,$1,0,W).data) { $walli(Wall System,Bu Kelime Daha Önceden Eklenmiş) | halt }
else { hadd -m wall %! $1 | hsave -o wall $shortfn($scriptdirwall.xc) | $walli(Wall System,$1 Tabloya Eklendi) }
}
alias walldel {
if (!$1) { $walli(Wall System,Silinecek Kelime Girmediniz) | halt }
elseif (!$hfind(wall,$1,0,W).data) { $walli(Wall System,Bu Kelime Tabloda Ekli Değil) | halt }
else { hdel -m wall $hfind(wall,$1,1,W).data | hsave -o wall $shortfn($scriptdirwall.xc) | $walli(Wall System,$1 Tablodan Silindi) }
}
alias wallfind {
if ($hfind(wall,$1-,1,W).data) { return 1 }
else { return 0 }
}
alias walllist {
if (!$dialog(wall)) { halt }
did -r wall 3
var %i = 1, %t = $hget(wall,0).data
while (%i <= %t) {
did -a wall 3 $hget(wall,%i).data
inc %i 1
}
}
alias cleanwall {
var %y/n = $input(Duvar Tablosunu Komple Silmek İstediğinize Eminmisiniz!?,ivy,DİKKAT!)
if %y/n = $yes { write -c $shortfn($scriptdirwall.xc) | $walli(Wall System,Wall.xc Tablosu Boşaltıldı!) | .hfree -sw wall | hmake wall | walllist }
else { halt }
}
alias cleanascii {
var %y/n = $input(Ascii Tablosunu Komple Silmek İstediğinize Eminmisiniz!?,ivy,DİKKAT!)
if %y/n = $yes { write -c $shortfn($scriptdirascii.xc) | $walli(Wall System,Ascii.xc Tablosu Boşaltıldı!) | .hfree -sw ascii | hmake ascii | asciilist }
else { halt }
}
alias cleanchr {
var %y/n = $input(Karakter Tablosunu Komple Silmek İstediğinize Eminmisiniz!?,ivy,DİKKAT!)
if %y/n = $yes { write -c $shortfn($scriptdirchr.xc) | $walli(Wall System,Chr.xc Tablosu Boşaltıldı!) | .hfree -sw chr | hmake chr | chrlist }
else { halt }
}
alias asciiadd {
if (!$1) || (!$2) { $walli(Wall System,Eklenecek Karakter Girmediniz) | halt }
elseif ($hfind(ascii,$1,0,W).item) { $walli(Wall System,Bu Karakter Daha Önceden Eklenmiş) | halt }
else { hadd -m ascii $1 $2 | hsave -b ascii $shortfn($scriptdirascii.xc) | $walli(Wall System,$1 - $2 Olarak Tabloya Eklendi) }
}
alias asciidel {
if (!$1) { $walli(Wall System,Silinecek Karakteri Girmediniz) | halt }
elseif (!$hfind(ascii,$1,0,W).item) { $walli(Wall System,Bu Karakter Tabloda Ekli Değil) | halt }
else { hdel -m ascii $1 | hsave -b ascii $shortfn($scriptdirascii.xc) | $walli(Wall System,$1 - $2 Tablodan Silindi) }
}
alias asciifind {
if ($hfind(wall,$1-,1,W).data) { return 1 }
else { return 0 }
}
alias asciilist {
if (!$dialog(wall)) { halt }
did -r wall 9
var %i = 1, %t = $hget(ascii,0).data
while (%i <= %t) {
did -a wall 9 $hget(ascii,%i).item $chr(9) $hget(ascii,%i).data $chr(9)
inc %i 1
}
}
alias chradd {
var %! = $left($calc($ctime * $rand(1000,9999)),7)
if (!$1) { $walli(Wall System,Eklenecek Kelime Girmediniz) | halt }
elseif ($hfind(chr,$1,0,n).data) { $walli(Wall System,Bu Karakter Daha Önceden Eklenmiş) | halt }
else { hadd -m chr %! $1 | hsave -o chr $shortfn($scriptdirchr.xc) | $walli(Wall System,$1 Tabloya Eklendi) }
}
alias chrdel {
if (!$1) { $walli(Wall System,Silinecek Kelime Girmediniz) | halt }
elseif (!$hfind(chr,$1,0,n).data) { $walli(Wall System,Bu Karakter Tabloda Ekli Değil) | halt }
else { hdel -m chr $hfind(chr,$1,1,n).data | hsave -o chr $shortfn($scriptdirchr.xc) | $walli(Wall System,$1 Tablodan Silindi) }
}
alias chrfind {
if ($hfind(chr,$1-,1,W).data) { return 1 }
else { return 0 }
}
alias chrlist {
if (!$dialog(wall)) { halt }
did -r wall 19
var %i = 1, %t = $hget(chr,0).data
while (%i <= %t) {
did -a wall 19 $hget(chr,%i).data
inc %i 1
}
}
on *:start:{
if (!$hget(wall)) { hmake wall | hload wall $shortfn($scriptdirwall.xc) }
if (!$hget(ascii)) { hmake ascii | hload -b ascii $shortfn($scriptdirascii.xc) }
if (!$hget(chr)) { hmake chr | hload chr $shortfn($scriptdirchr.xc) }
}
alias mlist {
did -r $1 11
var %b = 1,%a = $ulist(*,$1,0)
while (%b <= %a) {
did -a $1 11 $ulist(*,$1,%b)
inc %b 1
}
}
alias muafnlist { $iif($dialog(muafnlist),dialog -v muafnlist,dialog -m muafnlist muafnlist) }
dialog muafnlist {
title "Muaf Nick Listesi"
size -1 -1 150 100
option dbu
text "Nicki YazIp Ekleyin:", 10, 10 5 95 10
combo 11, 10 15 95 85, sort
button "Ekle", 1, 110 27 37 12
button "Sil", 2, 110 47 37 12
button "Tamam", 3, 110 67 37 12,cancel
}
on *:dialog:muafnlist:*:*:{
if $devent == init {
var %a = 1,%b = $ulist(*,muafnlist,0)
while %a <= %b {
did -a $dname 11 $ulist(*,muafnlist,%a)
inc %a 1
}
}
if $devent == sclick {
if $did == 1 {
if (!$did(11).text) { $walli(Wall System,Eklenecek Nick'i Girmediniz) | halt }
else { .auser muafnlist $did(11).text | mlist $dname }
}
if $did == 2 {
if (!$did(11).text) { $walli(Wall System,Silinecek Nick'i Seçmediniz) | halt }
else { .ruser muafnlist $did(11).seltext | mlist $dname }
}
}
}
alias muafclist { $iif($dialog(muafclist),dialog -v muafclist,dialog -m muafclist muafclist) }
dialog muafclist {
title "Muaf Kanal Listesi"
size -1 -1 150 100
option dbu
text "Kanalı YazIp Ekleyin:", 10, 10 5 95 10
combo 11, 10 15 95 85, sort
button "Ekle", 1, 110 27 37 12
button "Sil", 2, 110 47 37 12
button "Tamam", 3, 110 67 37 12,cancel
}
on *:dialog:muafclist:*:*:{
if $devent == init {
var %a = 1,%b = $ulist(*,muafclist,0)
while %a <= %b {
did -a $dname 11 $ulist(*,muafclist,%a)
inc %a 1
}
}
if $devent == sclick {
if $did == 1 {
if (!$did(11).text) { $walli(Wall System,Eklenecek Kanalı Girmediniz) | halt }
else { .auser muafclist $did(11).text | mlist $dname }
}
if $did == 2 {
if (!$did(11).text) { $walli(Wall System,Silinecek Kanalı Seçmediniz) | halt }
else { .ruser muafclist $did(11).seltext | mlist $dname }
}
}
}
alias duvar {
var %::rtext = $remove($1-,$chr(44),$chr(40),$chr(41)),%xc
%::rtext = $lower(%::rtext)
var %i = $hget(ascii,0).item
while %i {
%::rtext = $replace(%::rtext,$hget(ascii,%i).item,$hget(ascii,%i).data)
dec %i 1
}
var %q = $hget(chr,0).item
while %q {
%xc = $hget(chr,%q).data
%::rtext = $remove(%::rtext,%xc)
dec %q
}
if %sws.bosluk == on { %::rtext = $regsubex(%::rtext,/([[:space:]])/g,$null) }
if %sws.rakam == on { %::rtext = $regsubex(%::rtext,/([[:digit:]])/g,$null) }
if %sws.karakter == on { %::rtext = $regsubex(%::rtext,/(.)\1+/g,\1) }
if ($hfind(wall,%::rtext,1,W).data) { return $true }
else { return $false }
}
#wall off
on *:text:*:#:{
if ($level($nick) == muafnlist) { halt }
if ($level($chan) == muafclist) { halt }
if $me !isop $chan && !$regex($remove($usermode,+),/(o|O|N|C|a|A)) { halt }
if ($duvar($1-)) { ban -k $chan $nick 2 SWS! }
}
on *:action:*:#:{
if ($level($nick) == muafnlist) { halt }
if ($level($chan) == muafclist) { halt }
if $me !isop $chan && !$regex($remove($usermode,+),/(o|O|N|C|a|A)) { halt }
if ($duvar($1-)) { ban -k $chan $nick 2 SWS! }
}
on *:notice:*:#:{
if ($level($nick) == muafnlist) { halt }
if ($level($chan) == muafclist) { halt }
if $me !isop $chan && !$regex($remove($usermode,+),/(o|O|N|C|a|A)) { halt }
if ($duvar($1-)) { ban -k $chan $nick 2 SWS! }
}
#wall end
on *:load:{
if (!$hget(wall)) { hmake wall | hload wall $shortfn($scriptdirwall.xc) }
if (!$hget(ascii)) { hmake ascii | hload -b ascii $shortfn($scriptdirascii.xc) }
if (!$hget(chr)) { hmake chr | hload chr $shortfn($scriptdirchr.xc) }
set %sws.bosluk on | set %sws.rakam on | set %sws.karakter on
wall
return $walli(Wall System,Strong Wall System (SWS) Yüklendi! $crlf $+ Coded By XcLusive)
}
menu menubar,status,channel,query {
SWS
.$iif($group(#wall) == on,$style(2)) Aç:.enable #wall | $walli(Wall System,Koruma Açıldı!)
.$iif($group(#wall) == off,$style(2)) Kapat:.disable #wall | $walli(Wall System,Koruma Kapatıldı!)
.Ayarlar:wall
}