Tekil Mesaj gösterimi
Alt 27 Ekim 2012, 02:36   #9
Çevrimdışı
L4roXyL
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Nick Takip sorun




/hadd komutunu kullanırken tablo oluşturulmamış ise, oluşturma parametresi ile beraber kullanın her zaman. Çünkü bu şekilde kullandığınızda, tablo oluşturulmuş olsa bile hiçbir sıkıntı olmaz. Ama tablo oluşturulmamış ise, direk oluşturur.

Yani kısacası: /hadd -m tablo parça değer(..)

Koda gelecek olursak kodun çalışma mantığı biraz farklı geldi bana. Birden çok aynı sorgular kullanılmış.
Bir istek üzerine çok önceden yazdığım kodu paylaşacağım. İşinizi fazlasıyla görür.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on ^!*:join:#: { haltdef var %_itime = 600 var %_ilimit = 3 hadd -mu $+ $iif($hget(_i,$site).unset,$v1,%_itime) _i $site $addtok($hget(_i,$site),$nick,32) tokenize 32 $remtok($hget(_i,$site),$nick,0,32) var %. = ( $+ $token($fulladdress,2,33) $+ ) $& $iif($0 >= 1,- Önceki nickler: $regsubex($1-,/(\s)/g,$+($chr(32),/,$chr(32)))) $& - Expire: $duration($hget(_i,$site).unset) echo -cti join # * $nick %. if ($0 = %_ilimit) { ;ban -k # $nick 2 nick değişimi fazla.( %_itime sürede $0 adet) hdel _i $site } } ;on *:quit:if ($hget(_i,$site)) hdel _i $site

Kod içerisindeki:

%_itime değişkeni süre belirlemenize yarar.
%_ilimit değişkeni limit belirlemenize yarar.

;ban -k satırı belirlediğiniz limitde nick değişimi olursa kullanıcıyı kanaldan banlamak için kullanılır. Çalışması için başındaki comment prefix-ini(;) kaldırın.

;on quit kısmı kullanıcı sunucudan çıktığı zaman, tablodan tamamen silmek için aktif edilebilir. Başındaki ; comment prefix-ini karakterini kaldırın.

Ek olarak girişlerde expire kısmı tablodan silinme süresinin ne kadar kaldığını gösterir vs.

Not: Bu kodu kullanırken bazı hostlar için devre dışı bırakmanızı öneririm. Çünkü sunucularda genellikle, helper/admin hostları sabit oluyor. Dolayısıyla bu hostlar/özel hostlar gözardı edilmezse kod istenilen şekilde çalışmayacak ve host sahibi kişilerden limit dolduranı kanaldan atmaya çalışacaktır.

Bunun için koda şöyle bir satır ekleyebilirsiniz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (!$istok(host1.net host2.net host3.net,$site,32)) {

Veya çok fazla özel host belirtmek istiyorsanız, bu hostları bir txt dosyasına alt alta ekleyin(/write dosya.txt host.adresi) ve yukarıdaki satır yerine,

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (!$read(dosya.txt,w,$site)) {

Ekleyin.

Bu kodlardan kullanmak istediğinizi yukarıdaki ana kodda hadd -mu komutu ile başlayan satırın üstüne ekleyin ve kod sonunda bracket-ı(}) kapatın.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklamver bizimmekan