IRCForumu.Net - Türkiye'nin IRC ve mIRC Kullanıcılarının Buluştuğu Forum

IRCForumu.Net - Türkiye'nin IRC ve mIRC Kullanıcılarının Buluştuğu Forum (https://www.ircforumu.net/)
-   Hazır Kodlar (https://www.ircforumu.net/hazir-kodlar/)
-   -   Karısık İsteğe Göre Yazılmıs Kodlar (https://www.ircforumu.net/hazir-kodlar/829-karisik-istege-gore-yazilmis-kodlar.html)

immortaL 04 Haziran 2016 15:57

Karısık İsteğe Göre Yazılmıs Kodlar
 
Bu kod #kanal kanalında voice verilen nicklerin host adreslerini kayıt eder ve #kanal@ kanalında !info komutunu uyguladığınızda bu liste kanala yansıtılır.
Not: Kod on text üzerine kuruludur. Dolayısıyla başkaları için !komut olarak uygulanabilir. Kendiniz için kullanacaksanız on input kullanabilirsiniz.

Kod:


on *:start:{
  if ($exists(voice.hash)) hmake voice | hload -i voice voice.hash
}
on *:voice:#kanal:{
  if ($nick != $me) {
    var %q = $+($address($vnick,2),%,$time,&,$date)
    hadd -m voice %q $nick
    hsave -i voice voice.hash
  }
}
on @*:text:!info *:#kanal@: {
  if ($hfind(voice,$2,0).data >= 2) {
    var %2 = $v1,%1 = 1
    msg # $2 rumuzunun voice girdileri:
    while (%1 <= %2) {
      var %d = $hfind(voice,$2,%1).data
      msg # $+(%1,-) Host: $gettok(%d,1,37) - Saat/tarih: $regsubex($gettok(%d,2,37),&,$chr(32))
      inc %1
    }
    else msg # $qt($nick) $2 rumuzu için kayıt bulunamadı.
  }
}


Bu kod kanal ve özele gönderdiğiniz text/yazı(ların) «YAZI» şeklinde çıkmasını sağlar.


Kod:

on *:input:*:{
  if ($regex($window($active).type,^(query|channel)$) && (!$regex($left($1,1),\/))) {
    say $+(«,$chr(160),$1-,$chr(160),»)
    haltdef
  }
}




Bu kod kanala giriş yapan kullanıcının varsa daha önceki nicklerini giriş bilgisinde gösterir.
Not: Tüm veriler HD-ye kaydolur ve açılışta yükletilir.


Kod:

on !^*:join:#: {
  hadd -m # $nick $site
  hsave -i # # $+ .chans
  if ($hfind(#,$site,0).data >= 2) {
    var %s = 1,%q
    while (%s <= $hfind(#,$site,0).data) {
      %q = $addtok(%q,$hfind(#,$site,%s).data,32)
      inc %s
    }
    echo $color(join) # * Giriş: $nick $+($chr(40),$remove($address($nick,0),*,!),$chr(41)) $&
      - Önceki nickleri: $+($chr(40),$remove(%q,$nick),$chr(41))
    return
  }
}
on *:start:noop $findfile($mircdir,*.chans,0,.timer 1 0 hmake $token($nopath($1-),1,46) $(|,) hload -i $token($nopath($1-),1,46) $nopath($1-))


Bu kod özelinizi açmaya/kapatmaya ve karşı kullanıcıya geri-bildirim yapmanıza olanak sağlar.



Kod:

on ^*:open:?:*:{
  if (%closed) {
    inc $+(%,rumuz,$nick) 1
    if ($($+(%,rumuz,$nick),2) = 1) {
      msg $nick Özelim kapalıdır. Yazdıklarınız bana ulaşmamakta.
    }
    return
  }
}
menu channel,status,query {
  Özel aç/kapa
  .Özeli kapat:set %closed 1 | echo -ea -: Özeliniz konuşmaya kapatıldı.
  .Özeli aç:unset %closed %*rumuz* | echo -ea -: Özeliniz konuşmaya açıldı.
}


Bu kod kanaldaki herkeze seslenmek için kullanılır. Kodu kullanmak için herhangi bir kanal penceresinde; /users yapabilirsiniz.



Kod:

alias users {
  if ($active ischan) {
    var %s = 1,%n
    while ($nick($active,%s)) {
      %n = $addtok(%n,$v1,32)
      inc %s
    }
    say $remove(%n,$me) $1-
  }
}


Bu kod yine üstek üzerine yazmış olduğum gelişmiş bir badnick tarama kodudur.

Kod neler yapar?

- Herhangi bir kanala girdiğiniz-de "bad" tablosuna eklemiş olduğunuz ve badnick niteliği taşıyan kelimeleri kanaldaki tüm kullanıcılarda arar.
- Bulunan sonuçları size /echo mesajı ile gösterir.
- Tarama sonunda f9 tuşuna basarsanız son taramaya yakalanan tüm nickleri kanaldan uzaklaştırır.
- /badd şeklinde badnick listesine kelime ekleyebilirsiniz.
- /bdel şeklinde badnick listesinden belirtilen kelimeyi silebilirsiniz.
- /blist komutunu kullanarak listeyi görebilirsiniz.
- CTRL + f9 kombinasyonunu kullanarak tespit edilen badnickleri görebilirsiniz.


Kod:


chk {
  var %1 = 1
  while (%1 <= $hget(bad,0).item) {
    if ($ialchan($+(*,$hget(bad,%1).item,*),$1,0) == 1 && >= 0) {
      hadd -m $1 $ialchan($+(*,$hget(bad,%1).item,*),$1,1).nick 1
    }
    else {
      chk2 $1 $+(*,$hget(bad,%1).item,*)
    }
    inc %1
  }
  echo $colour(info) $1 $timestamp $iif($hget($1,0).item >= 1,Bulunan badnick sayısı: $hget($1,0).item,Badnick bulunamadı.)
  echo $colour(info) $1 $timestamp Nickleri görüntülemek için: CTRL + F9 tuşuna basınız.
  echo $colour(info) $1 $timestamp $iif($regex($nick($1,$me).pnick,@|&|%|~),$iif($regex($usermode,a|A|N|C),Nickleri kanal'dan atmak için: F9 tuşuna basınız.),Kanaldan atma yetkiniz yok.))
}
chk2 {
  if ($1 && $2) {
    var %& = 1
    while (%& <= $ialchan($2,$1,0)) {
      hadd -m $1 $ialchan($2,$1,%&).nick
      inc %&
    }
  }
}
cF9 {
  if ($hget($active)) seen $active
}
seen {
  var %t = 1,%tt
  while (%t <= $hget($1,0).item) {
    %tt = $addtok(%tt,$hget($1,%t).item,32)
    inc %t
  }
  echo $colour(info) $1 $timestamp Tespit edilen badnickler: %tt
}
F9 {
  if ($hget($active)) bans $active 
  else diğer komut
}
bans {
  var %- = 1
  while (%- <= $hget($1,0).item) {
    ban -k $1 $hget($1,%-).item 2 SEBEB.
    inc %-
  }
  %// = %- - 1
  echo $colour(info) $1 $timestamp Atılan nick sayısı: %//
  hfree $1
}
badd {
  $iif(!$1,echo -at Kelime girmediniz.,$iif($hget(bad,$1),echo -at $1 kelimesi listede.,hadd -m bad $1 1))
  hsave -i bad bad.hsh
}
bdel {
  $iif(!$1,echo -at Kelime girmediniz.,$iif(!$hget(bad,$1),echo -at $1 kelimesi listede değil.,hdel bad $1))
  hsave -i bad bad.hsh
}
blist {
  window -Caldk0 +L @Bad-words 0 0 200 400
  var %- = 1
  while (%- <= $hget(bad,0).item) {
    aline @bad-words $+(%-,-) $hget(bad,%-).item
    inc %-
  }
}
on me:*:join:#:.ial on | who # | .timer 1 2 chk #
on *:start: {
  if ($isfile(bad.hsh)) {
    hmake bad 50
    hload -i bad bad.hsh
  }
}


Bu kod belirtilen #kanal -da atılan kick-leri detaylı bir şekilde kick.txt dosyasına kaydeder ve yine belirtilen kanalda !kick komutunu uygulayan nick-e ait bir kick-list kaydı varsa bu listeyi sıralar.
Kullanım şekli: !kick


Kod:

on !*:kick:#kanal: {
  hinc -m kick $nick 1
  hsave -i kick kick.hsh
  write kick.txt Saat: $time - Kick atan: $nick - Kicklenen: $knick - Sebeb: $1-
}
on *:text:*:#kanal: {
  if ($regex($1,/^!kick$/i) && $nick isreg #) {
    if ($hget(kick,$nick)) msg # Attığınız kick sayısı: $v1
    else msg # Kick uygulamamışsınız.
  }
  if ($regex($1,^!list$)) {
    var %1 = 1
    while (%1 <= $lines(kick.txt)) {
      msg # $read(kick.txt,%1)
      inc %1
    }
  }
}
on *:start:{
  if ($isfile(kick.hsh)) {
    hmake kick 50
    hload -i kick kick.hsh
  }
}


Bu kod belirtilen kanaldaki tüm kullanıcılara belirlediğini text-i göndermenizi sağlar.
Kullanım şekli: /msgall #kanal


Kod:

alias msgall {
  if ($1 ischan) {
    var %1 = 1
    while (%1 <= $nick($1,0)) {
      msg $1 $2-
      inc %1
    }
  }
}



Bu kod belirlediğiniz nick-i ortak tüm kanallardan akick-e almanızı sağlar.
Kullanım şekli: /allkick

Kod:

alias allkick {
  if ($1) {
    var %1 = 1
    while (%1 <= $comchan($1,0)) {
      if ($regex($nick($comchan($1,%1),$me).pnick,@|&|~|%) || $regex($usermode,A|a|N|C)) {
        cs akick $comchan($1,%1) add $address($1,2) $2-
        cs akick $comchan($1,%1) enforce
      }
      inc %1
    }
    var %2 %1 - 1
    echo -at %2 kanalda akick uyguladınız.
  }
}


Bu kod belirtilen kanal veya kanaldaki herhangi bir nick'e kural.txt dosyası içerisindeki kuralları göndermenize yarar.

Kullanım şekilleri:

- /kural #kanal (kanaldaki tüm @(op) - &(sop) - %(halfop) kullanıcılarına göndermek için)
- /kural nick (herhangi bir kullanıcıya göndermek için)


Kod:

alias kural {
  if ($1 ischan || $1 ison active) {
    var %1 = 1
    while (%1 <= $nick($1,0)) {
      if ($regex($nick($1,$nick($1,%1)).pnick,@|&|%)) {
        okut $nick($1,%1)
      }
      inc %1
    }
  }
}
alias okut {
  var %2 = 1
  while ($read(kural.txt,%2)) {
    msg $1 $v1
    inc %2
  }
}


Bu kod herhangi bir IDENT'in sunucu üzerinde en fazla belirlediğiniz limit kadar kullanılmasına izin verir. Belirlediğiniz limit aşılırsa, giren kişilere kill atılır. Kod giriş çıkışları otomatik kontrol eder ve sayımı girdi(inc)/çıktı(dec) şeklinde tutar.

Kod:

on *:snotice:*: {
    if (*client conn* iswm $1-) {
      var %i = $gettok($remove($10,$chr(40)),1,64)
      if ($hget(ident,%i) >= 6) kill $9 KILL SEBEBİ.
      else hinc -m ident %i 1
    }
    if (*client exiting* iswm $1-) {
      var %ii = $gettok($remove($7,$chr(40)),1,64)
      $iif($hget(ident,%ii) >= 1,hdec ident %ii 1)
    }
}

6 olarak belirtilen yer limittir. Değiştirebilirsiniz.


Bu kod /stats k -den gelen verilere bakarak #kanal kanalında !ip komutu kullandığınızda belirttiğiniz IP adresini listede arar ve bulunan IP'nin atılma sebebini belirtilen kanala yansıtır.

Kod:

on *:text:!ip* &:#kanal:{
  .enable #g
  set %ip $2
  stats k
}
#g off
raw *:*:{
  if ($regex($numeric,^216$)) {
    if ($3 == %ip) {
      set %ss $4-
    }
  }
  if ($regex($numeric,^219$)) {
    if (%ss) {
      msg #kanal %ip ipinin atılma sebebi: %ss
    }
    else {
      msg #kanal %ip ip'i banlı değil.
    }
    unset %ss %ip
    .disable #g
  }
}
#g end


Bu kod kişiye whois çektiğinizde kişinin "bağlantı süresini, konuşmadığı süreyi, bağlantı zamanını" türkçe ve düzenli olarak gösterilmesine yarar.


Kod:

alias -l days return $replacecs($1,Monday,Pazartesi,Tuesday,Salı,Wednesday,Çarşamba,Thursday,Perşembe,Friday,Cuma,Saturday,Cumartesi,Sunday,Pazar)
alias -l idl return $replace($1-,Secs,$+($chr(32),Saniye),Sec,$+($chr(32),Saniye),Mins,$+($chr(32),Dakika),Min,$+($chr(32),Dakika),Hrs,$+($chr(32),Saat),Hr,$+($chr(32),Saat),Days,$+($chr(32),Gün),Day,$+($chr(32),Gün),Wks,$+($chr(32),Hafta),Wk,$+($chr(32),Hafta))
alias -l cnnt return $idl($duration($calc($ctime - $1)))
raw 317:*: {
  echo -a * Bağlanış: $days($asctime($4,$+($chr(40),dddd,$chr(41) dd/mm/yyyy,) - HH:nn:ss))
  echo -a * Konuşmadığı süre: $idl($duration($3))
  echo -a * Bağlı olduğu: $cnnt($4) | haltdef
}


Bu kod 30 dakikada bir kendinize idle kontrolu yaparak, eğer idle süresi belirtilen süreyi(saniye cinsinden) geçmişse /away konumuna otomatik geçmenize yarar.


Kod:

on *:connect:.timer 0 1800 idlekntrl 1800
alias idlekntrl {
  if ($idle >= $1 && !$away) {
    away AWAY-MESAJIN.
  }
}


Bu kod herhangi bir kanalda !prefix yaptığınızda, size +qaohve modlarını verir. Eğer !deprefix yaparsanız, bu modları geri alırsınız.

Kod:

on *:input:#:{
  if ($regex($1,^(!prefix|!deprefix)$)) {
    mode # $iif($left($1,3) = !de,-,+) $+ qaohve $str($+($me,$chr(32)),6)
  }
}


Bu kod !bilgi nick olarak kullanıldığı zaman, kişinin auth-code bilgisini belirlediğiniz #kanal -a yansıtır.

Kod:

on *:text:!bilgi * &:#:.enable #n | ns auth $2
#n off
on *:notice:*:?:{
  if ($nick == nickserv) {
    msg #kanal $1-
    .disable #n
  }
}
#n end



Bu kod özelde konuştuğunuz kişinin nick-ini arkaplan/background olarak kaydetmenizi sağlar. HD şişmesine sebeb olmaz, özel penceresi kapanınca resim otomatik silinir.


Kod:

alias npaint {
  if ($1 && $2) {
    var %win = $+(@,$1)
    window -pah %win 0 0 200 100
    drawtext -ro %win $rgb(112,121,11) Tahoma 19 60 20 $2
    drawsave -b32 %win $+($1,.,bmp)
    window -c %win
  }
}
on *:open:?:*:{
  if ($isfile($+($nick,.,bmp))) background -p $nick $+($nick,.,bmp)
}
on *:close:?:{
  if ($isfile($+($target,.,bmp))) {
    .remove -b $+($target,.bmp)
    .remini mIRC.ini background $target
  }
}



Bu kod #sop(değişebilirsiniz) kanalına girdiğinizde, kanaldaki kullanıcıların idle sürelerine bakarak;
- 10 dakikayı geçen kullanıcılara UYARI
- 20 dakikayı geçen kullanıcılara UYARI + KILL
İşlemlerini uygular.
Bu tarama işlemi kanala girdiğiniz andan itibaren 600 saniye(10 dakikada) bir gerçekleşir.


Kod:

on me:*:join:#SOP:idlechk # | .timer 0 600 idlechk #
alias idlechk {
  warning
  .enable #q
  if ($1) {
    var %1 = 1
    while (%1 <= $nick($1,0,@)) {
      if ($regex($removecs($nick($1,%1,@).pnick,$nick($1,%1,@)),^@$)) {
        hinc -m ttl total 1
        whois $nick($1,%1,@)
      }
      inc %1
    }
  }
}
alias warning {
  set %w1 idle süreniz 10 dakikayı geçmiştir. Cevap ver vs.
  set %w2 idle süresi 20 dakikayı geçtiği için uzaklaştırıldı.
  set %w3 idle süreniz 20 dakikayı geçtiği için uzaklaştırıldınız.
}
#q off
raw *:*: {
  haltdef
  if ($regex($numeric,^317$)) {
    if ($3 >= 600 && $3 < 1200) {
      msg #sop $qt($2) %w1
    }
    if ($3 >= 1200) {
      kill $2 %w3
      msg #sop $qt($2) %w2
    }
  }
  if ($regex($numeric,^318$)) {
    inc %&
    if (%& = $hget(ttl,total)) {
      unset %& 
      hfree ttl
      .disable #q
    }
  }
}
#q end


Bu kod sunucuya giren kullanıcıya, giriş yapan kaçıncı kullanıcı olduğunu belirtir ve sozler.txt dosyasından random bir veri gönderir.


Kod:

on *:snotice:*client conn*: {
  inc %1
  msg $9 Sunucuya hoşgeldin vs. Giren $+(%1,.) kişisin.
  msg $9 $read(sozler.txt)
}



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 10:46.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0
Copyright ©2005 - 2023 IRCForumu.Net - Tüm Hakları Saklıdır.