IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   uzun yazı koruması (https://www.ircforumlari.net/mirc-scripting-sorunlari/372978-uzun-yazi-korumasi.html)

serdark 21 Aralık 2010 23:29

uzun yazı koruması
 
ON @1:TEXT:*:#zurna: {
if ( $nick isop $chan ) halt
if ( $len($strip($1-)) >= 150) {
if ( $me isop $chan ) { uzunkick halt }
.msg # .temizle
}

bu komutta banlayıp ardından .temizle komutunu giyor ama lagdan dolayı adam nekadar yazarsa okadar .temizle yazıyor 1 defa .temizle yapmasını saglayamazmıyız yada banladıktan sonra .temizle yazmasını nasıl yaparım yardım edermisiniz.birde op veya sop olanı banlamamasını istiyorum yapılabilirmi

LoRDGuaRD 22 Aralık 2010 02:21

Cevap: uzun yazı koruması
 
ON @1:TEXT:*:#zurna: {
if ( $nick isop $chan ) halt
if ( $len($strip($1-)) >= 150) {
if ( $me isop $chan ) { uzunkick halt }
if ($me isop $chan) || ($nick !isop $chan) || ($nick !issop $chan) {
var %i 1
while $read(argo.txt,%i) {
if ($read(argo.txt,%i) iswm $remove($1-,$chr(32),*,/,\,.,$chr(44),-,_,!,;)) { /mode $chan +b $nick | /kick $chan $nick $read(sozler.txt) | /notice $nick 4 $+ $nick $+ ; $read(sero.txt) | /msg $chan }
inc %i
}
}
}

msg # .temizle
}

umarım işini görür.




Zifiri 22 Aralık 2010 07:58

Cevap: uzun yazı koruması
 
peki aynı kodda sadece op ve sopları değil, belirtilen nick veya nickleri de banlatmama şansımız varmı?

serdark 22 Aralık 2010 22:35

Cevap: uzun yazı koruması
 
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bu komutu yaptım ama devamlı temizle yaptı biri bişi yazıyor temizliyor

LoRDGuaRD 23 Aralık 2010 13:39

Cevap: uzun yazı koruması
 
Alıntı:

serdark Nickli Üyeden Alıntı (Mesaj 1040626721)
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bu komutu yaptım ama devamlı temizle yaptı biri bişi yazıyor temizliyor


ON @1:TEXT:*:#ela: {
if ( $nick isop $chan ) halt
if ( $len($strip($1-)) >= 150) {
if ( $me isop $chan ) { uzunkick halt }
msg # .temizle
/ban # $nick
}

resimde görebilirsin arkadaşım devrim999 nıckı uzun yazdıgında .temizle yazıyor ve ardından ban atıyor.
lordguard nıckıde aynı yazıyı yazıyor fakat op oldugu ıcın ona ban atamıyor.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


----------

birisi birşey yazdıgında atmaz

kım 150 tane karakter kullanırsa harf rakam sembol v.s o kısıye uygular komutu
if ( $len($strip($1-)) >= 150) {
buradakı 150 sayısıyla onuda ayarlayabılırsın 150 bence kısa 300 yap sen onu.
ON @1:TEXT:*:#ela: {
burayıda zurna ıdı sanırım senın verdıgın kodda değiştirirsin.

ATLAS 23 Aralık 2010 14:43

Cevap: uzun yazı koruması
 
Dikkatimden kaçarak yazdığım kodda hata yapmışım..

sopları muaf tutabilmek için if $nick issop $chan kullanılmaz. Çünkü text eventinde kanala yazı yazan nick konumları ( &, ~ , . ) prefixlerini görmesi için regex ile yazılması gerekiyor.

soplar unrealde & olarak prefix alıyor o yüzden
if $regex($nick($chan,$nick).pnick,/^(&)/) { halt }
olarak gösterip işlemi durdurman gerekior.

Fakat Unreal kurulurken ( &, ~ , . ) bu prefix özellikleri kurulmadı ise direk
if ( $nick isop $chan ) { işlem } şeklinde onları muaf tutabilirsin.

Ayrı ayrı nickleri muaf tutmak istersen ( özel nickler )

var %muaf = 1
var %muafnicks = nick1,nick2,nick3,nick4,nick5
if %muaf && $istok(%muafnicks,$nick,44) { halt }

kullanmalısın. 1 yazan yeri 0 yaparsan kod çalışmaz.
Yani 1 özel nick korumasını açar 0 kapatır.


Anladığım kadarı ile sen kanalda belirttiğin harf sınırını aşanı kanaldan banlamak istiyorsun. Opları ve sopları bunun yanında belirttiğin nickleri muaf tutup bu kurala uymayan nickleri banlamak istiyorsun istediğin koda gelince.

Kod:

on @1:TEXT:*:#zurna: {
  var %muaf = 1
  var %muafnicks = nick1,nick2,nick3,nick4,nick5
  if %muaf && $istok(%muafnicks,$nick,44) { halt }
  if ( $nick isop $chan ) { halt }
  if $regex($nick($chan,$nick).pnick,/^(&)/) { halt }
  if $nick != $me {
    if $len($1) >= 150 {
      ban -k $chan $nick ban sebebin
      privmsg $chan .temizle
      return
    }
  }
}

Bu şekilde dene çalışır. 150 olarak belirttiğim yer kişinin kanalda yazacağı maksimum harf sayısını belirtir. Oynama yapabilirsin.. Fakat bu koruma harf sınırı korumasıdır. Uzun harf koruması değildir.

uzun harf koruması istiyorsan
Kod:

if $len($1) >= 150 {
olan yeri

Kod:

if $regex($1-,/([[:print:]])\1\1/gi) >= 10 {

olarak değiştir umarım açık olarak anlatabilmişimdir.

serdark 23 Aralık 2010 23:20

Cevap: uzun yazı koruması
 
Alıntı:

PeRSGuaRD Nickli Üyeden Alıntı (Mesaj 1040627182)
ON @1:TEXT:*:#ela: {
if ( $nick isop $chan ) halt
if ( $len($strip($1-)) >= 150) {
if ( $me isop $chan ) { uzunkick halt }
msg # .temizle
/ban # $nick
}

resimde görebilirsin arkadaşım devrim999 nıckı uzun yazdıgında .temizle yazıyor ve ardından ban atıyor.
lordguard nıckıde aynı yazıyı yazıyor fakat op oldugu ıcın ona ban atamıyor.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


----------

birisi birşey yazdıgında atmaz

kım 150 tane karakter kullanırsa harf rakam sembol v.s o kısıye uygular komutu
if ( $len($strip($1-)) >= 150) {
buradakı 150 sayısıyla onuda ayarlayabılırsın 150 bence kısa 300 yap sen onu.
ON @1:TEXT:*:#ela: {
burayıda zurna ıdı sanırım senın verdıgın kodda değiştirirsin.


olayı tam anlamamışsın galiba yada ben anlata madım 1 kişi normal user kanala girer girmez ame atıyor ardı ardına 3 defa ust uste 3 defa temizle yapıyor kod ekran 3 defa temizleniyor oda göze batıyor onu anlatmak istiyorum sop veya opları banlamama olayı 2ci plan anlata bildimmi ugraştırıyorum sizi kusura bakmayın

----------

Alıntı:

ATLAS Nickli Üyeden Alıntı (Mesaj 1040627224)
Dikkatimden kaçarak yazdığım kodda hata yapmışım..

sopları muaf tutabilmek için if $nick issop $chan kullanılmaz. Çünkü text eventinde kanala yazı yazan nick konumları ( &, ~ , . ) prefixlerini görmesi için regex ile yazılması gerekiyor.

soplar unrealde & olarak prefix alıyor o yüzden
if $regex($nick($chan,$nick).pnick,/^(&)/) { halt }
olarak gösterip işlemi durdurman gerekior.

Fakat Unreal kurulurken ( &, ~ , . ) bu prefix özellikleri kurulmadı ise direk
if ( $nick isop $chan ) { işlem } şeklinde onları muaf tutabilirsin.

Ayrı ayrı nickleri muaf tutmak istersen ( özel nickler )

var %muaf = 1
var %muafnicks = nick1,nick2,nick3,nick4,nick5
if %muaf && $istok(%muafnicks,$nick,44) { halt }

kullanmalısın. 1 yazan yeri 0 yaparsan kod çalışmaz.
Yani 1 özel nick korumasını açar 0 kapatır.


Anladığım kadarı ile sen kanalda belirttiğin harf sınırını aşanı kanaldan banlamak istiyorsun. Opları ve sopları bunun yanında belirttiğin nickleri muaf tutup bu kurala uymayan nickleri banlamak istiyorsun istediğin koda gelince.

Kod:

on @1:TEXT:*:#zurna: {
  var %muaf = 1
  var %muafnicks = nick1,nick2,nick3,nick4,nick5
  if %muaf && $istok(%muafnicks,$nick,44) { halt }
  if ( $nick isop $chan ) { halt }
  if $regex($nick($chan,$nick).pnick,/^(&)/) { halt }
  if $nick != $me {
    if $len($1) >= 150 {
      ban -k $chan $nick ban sebebin
      privmsg $chan .temizle
      return
    }
  }
}

Bu şekilde dene çalışır. 150 olarak belirttiğim yer kişinin kanalda yazacağı maksimum harf sayısını belirtir. Oynama yapabilirsin.. Fakat bu koruma harf sınırı korumasıdır. Uzun harf koruması değildir.

uzun harf koruması istiyorsan
Kod:

if $len($1) >= 150 {
olan yeri

Kod:

if $regex($1-,/([[:print:]])\1\1/gi) >= 10 {
olarak değiştir umarım açık olarak anlatabilmişimdir.

ustat benim istedigim olay tam olarak şudur adam kanala girdi girer girmez 3 defa uzun yazı yazdı bu adamı 1 kere banlamak ve 1 kere .temizle yazmasını istiyorum

şuanki komutum 1 kere banlıyor ama 3 defa .temizle yazıyor anlata bildimmi ugraştıyorum sizi kusura bakmayın

ATLAS 25 Aralık 2010 03:29

Cevap: uzun yazı koruması
 
Bu işi kökünden çözelim :) Sana kodu 2 türlü yazdım.
1. kod harf uzatma koruması.
2. kod harf (yazı) sınırı koruması.


1. kod
Kod:

on @1:TEXT:*:#zurna: {
  var %muaf = 1
  var %muafnicks = nick1,nick2,nick3,nick4,nick5
  if %muaf && $istok(%muafnicks,$nick,44) { halt }
  if ( $nick isop $chan ) { halt }
  if $regex($nick($chan,$nick).pnick,/^(&)/) { halt }
  if $nick != $me {
    if $regex($1-,/([[:print:]])\1\1/gi) >= 5 {
      var %< = $+(%,uharf.,$chan,.,$nick)
      inc $(%<,1)
      if $(%<,2) == 2 {
        privmsg $chan Almış olduğunuz 2. uyarı $nick $+ . Lütfen harfleri uzatmayın! Aksi taktirde kanalda uzaklaştırılacaksınız.
        return
      }
      if $(%<,3) == 3 {
        ban -k $chan $nick ban sebebin
        privmsg $chan .temizle
        unset $(%<,1)
        return
      }
      else {
        privmsg $chan $nick Lütfen harfleri uzatmayın!
        return
      }
    }
  }
}

Kod:

nick1,nick2,nick3,nick4,nick5
olan yerleri korumadan muaf tutmak istediğin nickleri yaz.

Kod:

if $regex($1-,/([[:print:]])\1\1/gi) >= 5 {
5 yazan yeri harflerin ne kadar uzatılacağı sınır sayısını yaz.
Kod:

if $regex($nick($chan,$nick).pnick,/^(&)/) { halt }
& olan yeri sopların kanalda aldığı prefixi yaz.

Eğer yanlış anlatmadıysan kod şu an istediğin gibi.
testini ettim sonra olmuyor deme :)

Kod:

[03:29] <deneme> selammmmmmmmmmmmmmm
[03:29] <ATLAS> deneme Lütfen harfleri uzatmayın!
[03:29] <deneme> selammmmmmmmmmmmmm yaaaaaaaa
[03:29] <ATLAS> Almış olduğunuz 2. uyarı deneme. Lütfen harfleri uzatmayın! Aksi taktirde kanalda uzaklaştırılacaksınız.
[03:29] <deneme> selammmmmmmmmmmmmm yaaaaaa
[03:29] * ATLAS sets mode: +b [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
[03:29] * deneme was kicked by ATLAS (ban sebebin)
[03:29] <ATLAS> .temizle

2. kod.
Kod:

on @1:TEXT:*:#zurna: {
  set %cyazi $len($1-)
  var %muaf = 1
  var %muafnicks = nick1,nick2,nick3,nick4,nick5
  if %muaf && $istok(%muafnicks,$nick,44) { halt }
  if ( $nick isop $chan ) { halt }
  if $regex($nick($chan,$nick).pnick,/^(&)/) { halt }
  if $nick != $me {
    if %cyazi >= 150 {
      var %< = $+(%,uzunyazi.,$chan,.,$nick)
      inc $(%<,1)
      if $(%<,2) == 2 {
        privmsg $chan Almış olduğunuz 2. uyarı $nick $+ . Lütfen Gereğinden fazla yazı (Flood) yapmayınız. Aksi taktirde kanalda uzaklaştırılacaksınız.
        return
      }
      if $(%<,3) == 3 {
        ban -k $chan $nick ban sebebin
        privmsg $chan .temizle
        unset $(%<,1)
        return
      }
      else {
        privmsg $chan $nick Lütfen Gereğinden fazla yazı (Flood) yapmayınız.
        return
      }
    }
  }
}

Kod:

if %cyazi >= 150 {
150 olan yer kanalda yazılacak yazı toplamının kaç harf olacağını belirler dilediğin gibi değiştirebilirsin.

Kod:

[04:04] <deneme> kanala saldırıyoruz ahahaha kanala saldırıyoruz ehehehe saldırıyoruz kanala ahahahaha kanala saldırıyoruz ahahaha kanala saldırıyoruz ehehehe saldırıyoruz kanala ahahahaha  kanala saldırıyoruz ahahaha kanala saldırıyoruz ehehehe saldırıyoruz kanala ahahahahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[04:04] <ATLAS> deneme Lütfen Gereğinden fazla yazı (Flood) yapmayınız.
[04:04] <deneme> kanala saldırıyoruz ahahaha kanala saldırıyoruz ehehehe saldırıyoruz kanala ahahahaha kanala saldırıyoruz ahahaha kanala saldırıyoruz ehehehe saldırıyoruz kanala ahahahaha  kanala saldırıyoruz ahahaha kanala saldırıyoruz ehehehe saldırıyoruz kanala ahahahahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[04:04] <ATLAS> Almış olduğunuz 2. uyarı deneme. Lütfen Gereğinden fazla yazı (Flood) yapmayınız. Aksi taktirde kanalda uzaklaştırılacaksınız.
[04:04] <deneme> kanala saldırıyoruz ahahaha kanala saldırıyoruz ehehehe saldırıyoruz kanala ahahahaha kanala saldırıyoruz ahahaha kanala saldırıyoruz ehehehe saldırıyoruz kanala ahahahaha  kanala saldırıyoruz ahahaha kanala saldırıyoruz ehehehe saldırıyoruz kanala ahahahahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[04:04] * ATLAS sets mode: +b [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
[04:04] * deneme was kicked by ATLAS (ban sebebin)
[04:04] <ATLAS> .temizle

anlamadığın yer olursa özel pm atabilirsin..


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk