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/)
-   -   * /.timerprot.repeat.#C...: line too long (line 5, flood.mrc) (https://www.ircforumlari.net/mirc-scripting-sorunlari/33818-timerprotrepeatc-line-too-long-line-5-floodmrc.html)

MavipikSeL 08 Temmuz 2007 18:31

* /.timerprot.repeat.#C...: line too long (line 5, flood.mrc)
 
Merhaba arkadaşlar. el33t'in çok zaman önce verdiği bir flood kod'u vardı. Kullanımı gayet hoş ama çok uzun floodlarda "satır çok uzun" diye hata veriyor.

Kod:

;$_isrepeat(nick,#kanal,text,tekrar,saniye)
alias _isrepeat {
  if ($isid) {
    inc %prot.repeat. $+ $2 $+ . $+ $1 $+ . $+ $encode($3,m)
    if (!$timer($+(prot.repeat.,$2,.,$1,.,$encode($3,m))) ) { $+(.timerprot.repeat.,$2,.,$1,.,$encode($3,m)) 1 $5 unset $+(%,prot.repeat.,$2,.,$1,.,$encode($3,m)) }
    if (%prot.repeat. [ $+ [ $2 ] $+ ] . [ $+ [ $1 ] $+ ] . [ $+ [ $encode($3,m) ] ] >= $4) { unset $+(%,prot.repeat.,$2,.,$1,.,$encode($3,m)) | return $true }
    else { return $false }
  }
}
on @*:text:*:#:{
  if $nick isreg # && $_isrepeat($nick,#,$remove($strip($1-),$chr(32)),3,5) {
    mode # +b $nick | msg # $nick $+ , azcık sus.
  }
}

Hata verdiği satırda şurası;

if (!$timer($+(prot.repeat.,$2,.,$1,.,$encode($3,m))) ) {

Bu sorunu çözmenin bir yolu varmıdır?

el33t 08 Temmuz 2007 23:50

Cevap: * /.timerprot.repeat.#C...: line too long (line 5, flood.mrc)
 
$3 yani tüm cümleyi şifreleyip öyle bir timer açmaktansa, cümlenin ilk 20 karakteriyle işlem yapabilirsin, yani:

$encode($3,m) yazan yerleri $encode($left($3,20),m) olarak değiştirirsen sanırım sorun olmayacaktır.

MavipikSeL 11 Temmuz 2007 02:21

Cevap: * /.timerprot.repeat.#C...: line too long (line 5, flood.mrc)
 
Alıntı:

el33t Nickli Üyeden Alıntı (Mesaj 231487)
$3 yani tüm cümleyi şifreleyip öyle bir timer açmaktansa, cümlenin ilk 20 karakteriyle işlem yapabilirsin, yani:

$encode($3,m) yazan yerleri $encode($left($3,20),m) olarak değiştirirsen sanırım sorun olmayacaktır.

Dediğini yaptım ve sorun kayboldu el33t, sağol. Birde koruma da attığı adamın "veriables" de değerini boşaltmıyor ve bir süre sonra "veriables" şişmesine yol açıyor.

Bu sorunu nasıl kaldırabiliriz ortadan ?

CipriX 11 Temmuz 2007 03:05

Cevap: * /.timerprot.repeat.#C...: line too long (line 5, flood.mrc)
 
%? ne die kaydediyor ?

MavipikSeL 11 Temmuz 2007 03:25

Cevap: * /.timerprot.repeat.#C...: line too long (line 5, flood.mrc)
 
Alıntı:

CipriX Nickli Üyeden Alıntı (Mesaj 232379)
%? ne die kaydediyor ?

Alıntı:

%prot.repeat.#kanal.mehmet18.YXJrYWRh/mxhcllh/mFyJ/1uYnU= 1
Bu şekilde değer atıyor, CipriX.

CipriX 11 Temmuz 2007 04:12

Cevap: * /.timerprot.repeat.#C...: line too long (line 5, flood.mrc)
 
mode # +b $nick | msg # $nick $+ , azcık sus.


Bunun altına


.set %aga $remove($encode($strip(pofs)),$chr(32)) | .unset $($+(%,$chan,.,$me,.,%aga),1)

Bunu ekle büyük ihtimalle çalışmalı..

MavipikSeL 11 Temmuz 2007 04:37

Cevap: * /.timerprot.repeat.#C...: line too long (line 5, flood.mrc)
 
Alıntı:

CipriX Nickli Üyeden Alıntı (Mesaj 232390)
mode # +b $nick | msg # $nick $+ , azcık sus.


Bunun altına


.set %aga $remove($encode($strip(pofs)),$chr(32)) | .unset $($+(%,$chan,.,$me,.,%aga),1)

Bunu ekle büyük ihtimalle çalışmalı..

İşe yaramadı sanırım, CipriX. %aga $<&]F<P`` diye bir değer verdi, gerisi aynı. :)

detay 11 Temmuz 2007 12:07

Cevap: * /.timerprot.repeat.#C...: line too long (line 5, flood.mrc)
 
$encode($3,m)
yerine
$hash($strip($3-),32)
kullanmayi deneyebilirsin

MavipikSeL 11 Temmuz 2007 13:40

Cevap: * /.timerprot.repeat.#C...: line too long (line 5, flood.mrc)
 
Alıntı:

mikrop Nickli Üyeden Alıntı (Mesaj 232481)
$encode($3,m)
yerine
$hash($strip($3-),32)
kullanmayi deneyebilirsin

Buda korumanın tamamen çalışmamasına sebep oldu, mikrop. :)

detay 11 Temmuz 2007 14:42

Cevap: * /.timerprot.repeat.#C...: line too long (line 5, flood.mrc)
 
Kod:

alias _isrepeat {
  if ($isid) {
    inc %prot.repeat. $+ $2 $+ . $+ $1 $+ . $+ $hash($3,32)
    if (!$timer($+(prot.repeat.,$2,.,$1,.,$hash($3,32))) ) { $+(.timerprot.repeat.,$2,.,$1,.,$hash($3,32)) 1 $5 unset $+(%,prot.repeat.,$2,.,$1,.,$hash($3,32)) }
    if (%prot.repeat. [ $+ [ $2 ] $+ ] . [ $+ [ $1 ] $+ ] . [ $+ [ $hash($3,32) ] ] >= $4) { unset $+(%,prot.repeat.,$2,.,$1,.,$hash($3,32)) | return $true }
    else { return $false }
  }
}

böyle dene.


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

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net