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/)
-   -   Merak ettim .has .db (https://www.ircforumlari.net/mirc-scripting-sorunlari/860162-merak-ettim-has-db.html)

Hesapsiz33 01 Mart 2020 22:43

Merak ettim .has .db
 
Selam. Bazı badnick rumuzları .has bazıları da .db uzantılı dosyalara eklendigini biliyorum.
.has a eklenenler rumuzlar data numarası ile ekleniyor
.db e eklenenler de yine aynı sekilde data no ilemi ekleme yapıyor acaba? Eger db uzantısın da data no'yu eklemiyorsa mantıken bu uzantıya sahip dosyaya eklemek daha mantıklı geliyor bana.
Bu iki uzantılı dosya arasında bir fark varmı? Varsa nedir merak ettim.

XcLusive 02 Mart 2020 04:08

Cevap: Merak ettim .has .db
 
Dosya seçimi ve içeriği eklentiyi kodlayan kişinin tercihine kalmış bir olay.
Yani .has .db olmasının mirc scripting için pek önemi olmuyor.

Hesapsiz33 02 Mart 2020 09:40

Cevap: Merak ettim .has .db
 
Anladım.
Bu hash korumasının en kötü yanı eklenen rumuzun data numaralarınıda ekliyor olması sanırım.
20854843848
bb50274d20b2c99c05d gibi dataları eklemese daha iyi olurmuş
Çünkü dosyaya 100 rumuz eklesen bu sayı 200 oluyor data yüzünden. Yani demek istedigim extra fazlalık.
Bilgilendirme için tşkler.

Alper 02 Mart 2020 14:45

Cevap: Merak ettim .has .db
 
Alıntı:

Hesapsiz33 Nickli Üyeden Alıntı (Mesaj 1042262804)
Anladım.
Bu hash korumasının en kötü yanı eklenen rumuzun data numaralarınıda ekliyor olması sanırım.
20854843848
bb50274d20b2c99c05d gibi dataları eklemese daha iyi olurmuş
Çünkü dosyaya 100 rumuz eklesen bu sayı 200 oluyor data yüzünden. Yani demek istedigim extra fazlalık.
Bilgilendirme için tşkler.


Rakamların anlamı şöyle örnek vereyim mesela 123 olarak bir item verisi var sen bu item verisine 1 tane veri ekleyebilirsin o yüzden benzersiz olması gerekiyor.



Mantığı şöyledir hash tabloların


[Tablo İsmi]

Item | Data



Tablo ismi Liste olsun
Item AdSoyad olsun
Data İsmin Soyismin olsun


/hadd -sm Liste AdSoyad İsmin Soyismin


buradaki -s geri bildirim vermeye yarıyor -m ise tablo yoksa tablo oluşturuyor.


Bu işlemi yaptıktan sonra tabloya veri eklenir.


//echo -a $hget(liste,adsoyad)


Yaptığında data kısmını görürsün


mesela tekrar aynı iteme veri eklemeye çalışınca veriyi ekler ama önceki verinin üzerine ekler yani tabloda yine 1 tane veri olur 2. veri olarak eklenmez.


Ek olarak txt okuma mantığı ile hash tablosunun okuma mantığı farklıdır


- txt dosyadan okumak için mirc önce dosyayı açıyor okuyor tekrar kapatıyor.
- hash tabloda ise veriler belleğe kaydedilir mirc bellekten okur. O yüzden çok hızlıdır.



Açıklama yapma nedenim extra fazlalık durumunun söz konusu olmadığını belirtmek için.



Detaylı anlatım:


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

Hesapsiz33 05 Mart 2020 21:58

Cevap: Merak ettim .has .db
 
Alıntı:

Alper Nickli Üyeden Alıntı (Mesaj 1042262896)
Rakamların anlamı şöyle örnek vereyim mesela 123 olarak bir item verisi var sen bu item verisine 1 tane veri ekleyebilirsin o yüzden benzersiz olması gerekiyor.



Mantığı şöyledir hash tabloların


[Tablo İsmi]

Item | Data



Tablo ismi Liste olsun
Item AdSoyad olsun
Data İsmin Soyismin olsun


/hadd -sm Liste AdSoyad İsmin Soyismin


buradaki -s geri bildirim vermeye yarıyor -m ise tablo yoksa tablo oluşturuyor.


Bu işlemi yaptıktan sonra tabloya veri eklenir.


//echo -a $hget(liste,adsoyad)


Yaptığında data kısmını görürsün


mesela tekrar aynı iteme veri eklemeye çalışınca veriyi ekler ama önceki verinin üzerine ekler yani tabloda yine 1 tane veri olur 2. veri olarak eklenmez.


Ek olarak txt okuma mantığı ile hash tablosunun okuma mantığı farklıdır


- txt dosyadan okumak için mirc önce dosyayı açıyor okuyor tekrar kapatıyor.
- hash tabloda ise veriler belleğe kaydedilir mirc bellekten okur. O yüzden çok hızlıdır.



Açıklama yapma nedenim extra fazlalık durumunun söz konusu olmadığını belirtmek için.



Detaylı anlatım:


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

Bilgilendirme icin tşk ederim. Verdiginiz örnekten yola cıkarak yapmaya calıstım ama yapamadım
Atılan nick ve maskı gösteriyor fakat data numarasını göstertemedim bi türlü.
Su sekilde ekledim $hget(badnick,0).item yapınca listeyi gösteriyor sadece
Fakat sıfırı 1 yapınca ilk data numarasını gösterebiliyorum
Oysa her atılan rumuzun kendine ait data numarasını göstermesi lazım degil mi nerde yanlıs yapıyorum anlamadım

Alper 05 Mart 2020 22:59

Cevap: Merak ettim .has .db
 
Alıntı:

Hesapsiz33 Nickli Üyeden Alıntı (Mesaj 1042264568)
Bilgilendirme icin tşk ederim. Verdiginiz örnekten yola cıkarak yapmaya calıstım ama yapamadım
Atılan nick ve maskı gösteriyor fakat data numarasını göstertemedim bi türlü.
Su sekilde ekledim $hget(badnick,0).item yapınca listeyi gösteriyor sadece
Fakat sıfırı 1 yapınca ilk data numarasını gösterebiliyorum
Oysa her atılan rumuzun kendine ait data numarasını göstermesi lazım degil mi nerde yanlıs yapıyorum anlamadım


tabiki var



$hget(badnick,0).item



bu kısmı



$hget(badnick,1).item yapınca 1. item,
$hget(badnick,1).data yapınca 1. data


verisine ulaşırsın ne yapmak istediğini anlamadım ama anladığım şekilde cevap verdim.

Hesapsiz33 06 Mart 2020 00:20

Cevap: Merak ettim .has .db
 
Alıntı:

Alper Nickli Üyeden Alıntı (Mesaj 1042264589)
tabiki var



$hget(badnick,0).item



bu kısmı



$hget(badnick,1).item yapınca 1. item,
$hget(badnick,1).data yapınca 1. data


verisine ulaşırsın ne yapmak istediğini anlamadım ama anladığım şekilde cevap verdim.

Badnick has dosyasında olan biri kanala girdigi zaman
Atılan rumuz ahmet - data : numarası ????? Burdaki soru isaretinin oldugu yere atılan rumuzun data numarasınıda yansıtmaya calısıyorum.
Dediginiz gibi $hget(badnick,1).data yapınca has dosyasındaki ilk data numarasını yansıtıyor fakat diger atılanlan rumuzların kendine ait data numaralarını yansıtmıyor. 1 yazan yer sabit mi kalmalı yoksa?

Alper 06 Mart 2020 00:45

Cevap: Merak ettim .has .db
 
Alıntı:

Hesapsiz33 Nickli Üyeden Alıntı (Mesaj 1042264655)
Badnick has dosyasında olan biri kanala girdigi zaman
Atılan rumuz ahmet - data : numarası ????? Burdaki soru isaretinin oldugu yere atılan rumuzun data numarasınıda yansıtmaya calısıyorum.
Dediginiz gibi $hget(badnick,1).data yapınca has dosyasındaki ilk data numarasını yansıtıyor fakat diger atılanlan rumuzların kendine ait data numaralarını yansıtmıyor. 1 yazan yer sabit mi kalmalı yoksa?


Sen kodu at buraya ona göre ne yapman gerektiğini söyleyeyim.

Hesapsiz33 06 Mart 2020 00:59

Cevap: Merak ettim .has .db
 
Alıntı:

Alper Nickli Üyeden Alıntı (Mesaj 1042264670)
Sen kodu at buraya ona göre ne yapman gerektiğini söyleyeyim.

Normalde bu kodu kullanıyorum sizinde vermis oldugunuz muaf eklentisi ile beraber.

on *:start:{ $iif(!$isfile(badnick.tprk),.write badnick.tprk) | .hmake badnick 100 | .hload badnick badnick.tprk }



on *:join:*: {
if $chan == #sohbet {
if $hfind(badnick,$nick,1,W).data {
if $read(muafnick.txt,w,$nick) { msg #geveze35 Muaf nick girişi; $nick | return }
kick # $nick 1Nick değiştirip (/nick yeninick) tekrar kanala giriş yapabilirsiniz..
mode $kanal +b $nick
if !$hget(bdnck,$nick) {
.hinc -msu20 bdnck $nick
msg # $chan kanalında [ JOIN ] $nick nicki badnick olarak tespit edildi. $+([,$chr(32),$hget(badnick,$hfind(badnick,$nick,1,W). data),$chr(32),])
}
}
}
}
on *:nick:{
if $hfind(badnick,$newnick,1,W).data {
if $read(muafnick.txt,w,$newnick) { msg # Muaf nick değişimi; $nick >> $newnick | return }
if $read(muafnick.txt,w,$nick) { msg # Muaf nick değişimi; $nick >> $newnick | return }
msg $bilgiKanal [ NICK ] $newnick nicki badnick olarak tespit edildi. $+([,$chr(32),$hget(badnick,$hfind(badnick,$newnick,1, W).data),$chr(32),])
var %:c $regsubex($str(-,$comchan($newnick,0)),/./g, $iif($regex($nick($comchan($newnick,\n),$me).pnick ,/(%|@|&|~\.)/i),$comchan($newnick,\n) $chr(32)))
var %c = 1 | while %c <= $token(%:c,0,32) {
mode $token(%:c,%c,32) +b $newnick | kick $token(%:c,%c,32) $newnick 1Nick değiştirip (/nick yeninick) tekrar kanala giriş yapabilirsiniz..
inc %c
}
}
}
on *:text:*:#: {
if !$regex($chan,/^( $+ $komutKanal $+ )$/i) { halt }
if ($regex($nick(#,$nick).pnick,[&.~.@])) {
if $regex($1,/^[!\.]badnick$/Si) {
if $regex($2,/^ekle$/Si) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if $hfind(badnick,$strip($3),0,W).data { msg # Eklemeye çalıştığınız badnick zaten $+([,$chr(32),$hget(badnick,$hfind(badnick,$strip($3), 1,W).data),$chr(32),]) maskesi ile uyuşmakta. | return }
if $read(muafnick.txt,w,$3) { msg # 2Bu kişi muaf nick listemde yer almakta. | return }
var %n = $left($calc($ctime * $rand(1000,9999)),7)
.hadd -m badnick %n $strip($3)
.hsave -o badnick badnick.tprk
msg # $strip($3) Badnick listesine eklendi.
}
if $regex($2,/^s[ıiİ]l$/Si) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if !$hfind(badnick,$strip($3),0,W).data { msg # Bad nick listesinde bulunmamaktadir. | return }
.hdel -m badnick $hfind(badnick,$strip($3),1,W).data
.hsave -o badnick badnick.tprk
msg # $strip($3) Badnick listesinden silindi.
}
if $regex($2,/^tara$/Si) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if $read(muafnick.txt,w,$3) { msg # 2Bu kişi muaf nick listemde yer almakta. | return }
if !$hfind(badnick,$strip($3),0,W).data { msg # Badnick listem'de $strip($3) ait bir mask yok. | return }
msg # Nick: $strip($3) - 4 Mask: $+([,$chr(32),$hget(badnick,$hfind(badnick,$strip($3), 1,W).data),$chr(32),])
}
if ($2 == muaf) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if $read(muafnick.txt,w,$3) { msg # $3 muaf listesinden silindi. | write $+(-dl,$read(muafnick.txt,w,$3)) muafnick.txt | return }
msg # $3 muaf nick listesine eklendi.
write muafnick.txt $3
}
if $regex($2,/^l[ıiİ]st$/Si) {
if ($hget(badnick,0).data == 0) { msg # Badnick listesi boş. | return }
msg # Badnick listesi
msg # -
var %i = 1 | while (%i <= $hget(badnick,0).data) { msg # %i $+ .4) [ $hget(badnick,%i).data ] | inc %i }
msg # -
msg # Badnick listesi sonu
}
}
if $regex($1,/^[!\.]tara$/Si) {
if !$regex($2,/^#/Si) { msg # Lütfen #kanal belirtiniz | return }
if !$chan($2) { msg # $2 kanal'ında bulunmuyorum | return }
var %:tara = 1 | while %:tara <= $nick($2,0) {
if $hfind(badnick,$nick($2,%:tara),1,W).data && !$read(muafnick.txt,w,$nick($2,%:tara)) {
msg # [ TARAMA ] $nick($2,%:tara) nicki badnick olarak tespit edildi. $+([,$chr(32),$hget(badnick,$hfind(badnick,$nick($2,%: tara),1,W).data),$chr(32),])
mode $2 +b $nick($2,%:tara) | kick $2 $nick($2,%:tara) 4 Badnick! 1Nick değiştirip(/nick yeninick) tekrar kanala giriş yapabilirsiniz..
}
inc %:tara
}
msg # Toplam $nick($2,0) kişi için, $hget(badnick,0).data adet mask taraması yapıldı.
}
}
}

Alper 06 Mart 2020 01:37

Cevap: Merak ettim .has .db
 
Alıntı:

Hesapsiz33 Nickli Üyeden Alıntı (Mesaj 1042264674)
Normalde bu kodu kullanıyorum sizinde vermis oldugunuz muaf eklentisi ile beraber.

on *:start:{ $iif(!$isfile(badnick.tprk),.write badnick.tprk) | .hmake badnick 100 | .hload badnick badnick.tprk }



on *:join:*: {
if $chan == #sohbet {
if $hfind(badnick,$nick,1,W).data {
if $read(muafnick.txt,w,$nick) { msg #geveze35 Muaf nick girişi; $nick | return }
kick # $nick 1Nick değiştirip (/nick yeninick) tekrar kanala giriş yapabilirsiniz..
mode $kanal +b $nick
if !$hget(bdnck,$nick) {
.hinc -msu20 bdnck $nick
msg # $chan kanalında [ JOIN ] $nick nicki badnick olarak tespit edildi. $+([,$chr(32),$hget(badnick,$hfind(badnick,$nick,1,W). data),$chr(32),])
}
}
}
}
on *:nick:{
if $hfind(badnick,$newnick,1,W).data {
if $read(muafnick.txt,w,$newnick) { msg # Muaf nick değişimi; $nick >> $newnick | return }
if $read(muafnick.txt,w,$nick) { msg # Muaf nick değişimi; $nick >> $newnick | return }
msg $bilgiKanal [ NICK ] $newnick nicki badnick olarak tespit edildi. $+([,$chr(32),$hget(badnick,$hfind(badnick,$newnick,1, W).data),$chr(32),])
var %:c $regsubex($str(-,$comchan($newnick,0)),/./g, $iif($regex($nick($comchan($newnick,\n),$me).pnick ,/(%|@|&|~\.)/i),$comchan($newnick,\n) $chr(32)))
var %c = 1 | while %c <= $token(%:c,0,32) {
mode $token(%:c,%c,32) +b $newnick | kick $token(%:c,%c,32) $newnick 1Nick değiştirip (/nick yeninick) tekrar kanala giriş yapabilirsiniz..
inc %c
}
}
}
on *:text:*:#: {
if !$regex($chan,/^( $+ $komutKanal $+ )$/i) { halt }
if ($regex($nick(#,$nick).pnick,[&.~.@])) {
if $regex($1,/^[!\.]badnick$/Si) {
if $regex($2,/^ekle$/Si) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if $hfind(badnick,$strip($3),0,W).data { msg # Eklemeye çalıştığınız badnick zaten $+([,$chr(32),$hget(badnick,$hfind(badnick,$strip($3), 1,W).data),$chr(32),]) maskesi ile uyuşmakta. | return }
if $read(muafnick.txt,w,$3) { msg # 2Bu kişi muaf nick listemde yer almakta. | return }
var %n = $left($calc($ctime * $rand(1000,9999)),7)
.hadd -m badnick %n $strip($3)
.hsave -o badnick badnick.tprk
msg # $strip($3) Badnick listesine eklendi.
}
if $regex($2,/^s[ıiİ]l$/Si) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if !$hfind(badnick,$strip($3),0,W).data { msg # Bad nick listesinde bulunmamaktadir. | return }
.hdel -m badnick $hfind(badnick,$strip($3),1,W).data
.hsave -o badnick badnick.tprk
msg # $strip($3) Badnick listesinden silindi.
}
if $regex($2,/^tara$/Si) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if $read(muafnick.txt,w,$3) { msg # 2Bu kişi muaf nick listemde yer almakta. | return }
if !$hfind(badnick,$strip($3),0,W).data { msg # Badnick listem'de $strip($3) ait bir mask yok. | return }
msg # Nick: $strip($3) - 4 Mask: $+([,$chr(32),$hget(badnick,$hfind(badnick,$strip($3), 1,W).data),$chr(32),])
}
if ($2 == muaf) {
if (!$3) { msg # Lütfen nick belirtiniz | return }
if $read(muafnick.txt,w,$3) { msg # $3 muaf listesinden silindi. | write $+(-dl,$read(muafnick.txt,w,$3)) muafnick.txt | return }
msg # $3 muaf nick listesine eklendi.
write muafnick.txt $3
}
if $regex($2,/^l[ıiİ]st$/Si) {
if ($hget(badnick,0).data == 0) { msg # Badnick listesi boş. | return }
msg # Badnick listesi
msg # -
var %i = 1 | while (%i <= $hget(badnick,0).data) { msg # %i $+ .4) [ $hget(badnick,%i).data ] | inc %i }
msg # -
msg # Badnick listesi sonu
}
}
if $regex($1,/^[!\.]tara$/Si) {
if !$regex($2,/^#/Si) { msg # Lütfen #kanal belirtiniz | return }
if !$chan($2) { msg # $2 kanal'ında bulunmuyorum | return }
var %:tara = 1 | while %:tara <= $nick($2,0) {
if $hfind(badnick,$nick($2,%:tara),1,W).data && !$read(muafnick.txt,w,$nick($2,%:tara)) {
msg # [ TARAMA ] $nick($2,%:tara) nicki badnick olarak tespit edildi. $+([,$chr(32),$hget(badnick,$hfind(badnick,$nick($2,%: tara),1,W).data),$chr(32),])
mode $2 +b $nick($2,%:tara) | kick $2 $nick($2,%:tara) 4 Badnick! 1Nick değiştirip(/nick yeninick) tekrar kanala giriş yapabilirsiniz..
}
inc %:tara
}
msg # Toplam $nick($2,0) kişi için, $hget(badnick,0).data adet mask taraması yapıldı.
}
}
}


$hget(badnick,$hfind(badnick,$nick,1,W).data)


Bu kısmı


$hfind(badnick,$nick,1,W).data


olarak kullanman gerek.


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

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