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/)
-   -   Guest hakkında (https://www.ircforumlari.net/mirc-scripting-sorunlari/54138-guest-hakkinda.html)

ShaoLin 15 Nisan 2008 20:58

Guest hakkında
 
Merhaba arkadaşlar . bir sorum olacak.

[20:52] * Guest571811603 (Forum@85.104.104.CAF8B3C) has joined #xxxx
[20:52] <@xxx> Guest571811603 kanaldan atılmamak için /nick nick komutuyla nick alınız!

benim script böyle uyarı veriyor. uyarı verdikten 30 saniye sonra eğer giren guest kullanıcı nickini değişmezse nick alıp tekrar gir. diye kanaldan uzaklaştırmasını istiyorum. yardımcı olacak arkadaşlara şimdiden tşkler. iyi forumlar

Techno 15 Nisan 2008 22:39

Cevap: Guest hakkında
 
on *@:join:#: {
if (guest isin $nick) { msg # $nick 30 sn içinde nickinizi degişiniz
.timer 1 30 ban -k # $nick nick degişip tekrar kanala girebilirsiniz
}
}

bu şekilde kullanabilirsin
kullanıcı nick degişince zaten atamazsın

birde ilgilenebilecek arkadaş varsa şu koda bakabilir mi ?

Kod:

on *@:join:#: {
  if (guest isin $nick) { msg # $nick  30 sn içinde nickinizi degişiniz 
  .timer 1 30 guestat $nick  }
}
 
guestat {
  if $1 ison $chan { ban -k # $1 30 sn içinde nick degişmediginiz için atıldınız }
}

bu kodu yaptım ama çalışmadı hata ise alias ı kabul etmedi guestat unknow command

XcLusive 15 Nisan 2008 22:42

Cevap: Guest hakkında
 
alias guestat {
if $1 ison $chan { ban -k # $1 30 sn içinde nick degişmediginiz için atıldınız }
}

remotede komut işlevi yaptırmak için belirttiğin komutun başına " alias " takısını eklemen gerekir..
yalnız yukarıdaki kod hatalı $chan identifier'i sadece remotede geçerli olur bu yüzden "guestat $nick $chan" şeklinde olmalıdır alias eventide $1 $2 şeklinde olmalıdır..
ve kodda eksik " { } " break kullanmışsın..

Kod:

on @*:join:#:{
  if (guest isin $nick) {
    msg # $nick  30 sn içinde nickinizi degişiniz
    .timer 1 30 guestat $nick $chan
  }
}

alias guestat {
  if $1 ison $2 { ban -k $2 $1 30 sn içinde nick degişmediginiz için atıldınız }
}

düzeltilmiş hali..
kodu denemedim :)

L4roXyL 15 Nisan 2008 22:50

Cevap: Guest hakkında
 
on !*:join:#:if ($regex($nick,guest)) { !msg # $nick uyarın. | $+(timer,$nick) 1 30 ban -k # $nick 2 nick'ini değiştir, cart curt ok. }
on !*:nick:$iif($timer($nick),$+(.timer,$nick) off)

Şeklinde yapabilirsin.

Regex 15 Nisan 2008 23:14

Cevap: Guest hakkında
 
L4roXyL, $regex kullanarak işi zorlaştırmanın, karmaşık hâle getirmenin gereği olduğunu düşünmüyorum. if Guest* iswm $nick gibi bir döngüyle, kodun anlaşılırlılığı sağlanmalı ki, kodu herkes anlayabilsin. Çünkü, her iki kullanım arasında fark yok.

XcLusive 15 Nisan 2008 23:59

Cevap: Guest hakkında
 
Haklısın ongun sana katılıyorum, kodları biraz daha basit anlaşılır ve bu işe yeni başlayanlara birazda açıklayıcı şekilde yazmak her zaman iyi diye düşünüyorum..

L4roXyL 16 Nisan 2008 16:20

Cevap: Guest hakkında
 
Her iki kullanım arasında fark olup olmadığı konusun'da tekrar düşünmelisiniz.

//if (*guest* iswm guest123) { echo -a $v1 - $v2 } yaptığınızda yanıtı farklı,
//if ($regex(guest123,guest)) { echo -a $v1 } yaptığınızda yanıtı farklı alırsınız.

Ek olarak ikisinin arasında fark yok diye düşündüğünüze göre, regex'in daha hızlı ve daha basit olduğunu bilmenizi isterim. Ki mantık olarak düşünün.
Kod farklı istenseydi? Guest'in yanında misafir seçeneğide olsaydı?

O zaman sizin dediğiniz mantığa göre;
//if (*guest* iswm $nick || *misafir* iswm $nick) { komut } (Şeklinde yapıcaktınız)

Ben ise;
//if ($regex($nick,misafir|guest)) { komut } (Şeklinde yapıcaktım)

Demekki her iki kullanım arasında fark varmış. Hatta bir çok daha fark var. Ve bu farkların bir çoğu regex'i kullanmanın daha mantıklı olduğunu göstermekte.
Code'u zorlaştırdığımı düşünmekte, haksızsınız.

Nickolas 16 Nisan 2008 16:24

Cevap: Guest hakkında
 
Arkadaşlar regex, "isin, iswm vs vs vs" 'den daha hızlı çalışır... Belki tek döngüde farketmiyor. Fakat saldırı anında milisaniyelere bile ihtiyaç duyabilirsiniz. O yüzden regex gerekli...

XcLusive 16 Nisan 2008 17:08

Cevap: Guest hakkında
 
regex ve hash'ın performans açısından ne kadar hızlı olduğu tartışılmaz.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ve benim anlatmak istediğimiz kısım; ilk önce emekleyi öğretip sonra koşturmak.
L4'ün dediği gibi iki işlevdede yanıtı farklı alırız. sonuçta 5 parmağın 5'ide bir değil ama hepsi bir kola bağlı :)

Nickolas 16 Nisan 2008 17:46

Cevap: Guest hakkında
 
Pekala :) Nihayetinde ben de scripting 'i bu şekilde öğrenmiştim.

Dependent 16 Nisan 2008 19:50

Cevap: Guest hakkında
 
Alıntı:

Nickolas Nickli Üyeden Alıntı (Mesaj 375331)
Arkadaşlar regex, "isin, iswm vs vs vs" 'den daha hızlı çalışır... Belki tek döngüde farketmiyor. Fakat saldırı anında milisaniyelere bile ihtiyaç duyabilirsiniz. O yüzden regex gerekli...


Kesinlikle katılıyorum, fakat burada scripting açısından fark yok 1 tane if çağırılıyor programlama bazında regex kütüphanesi mi daha hızlı wildcard search mü ona bakmamız gerekiyor ki zannedersem regex in ki en az 1 if fazla olucak ta 1 ifin derdi bizi germeyeceği için :D daha önce belirtiğim gibi Nickolas a kesinlikle katılıyorum.

bu arada $v1 $v2 kullanıldımı da karıştırıldı ben mi birşeyler kaçırdım, birde $regml diye birşeyde var bıknz: $v1 yeni değer :D


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 10: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