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/)
-   -   Bir eventin baska bir eventle iptali; (https://www.ircforumlari.net/mirc-scripting-sorunlari/36453-bir-eventin-baska-bir-eventle-iptali.html)

radiCOOL 22 Ağustos 2007 00:01

Bir eventin baska bir eventle iptali;
 
Umarım başlık özetleyici olmuştur .. Şimdi elimde şöyle bir kod var ..

Kod:


on *:join:#kanal:{
  if $read(web.txt,w,$nick) || $nick == $me { Halt }
  else { 
    .msg $nick 0,4Sayın $nick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,4Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz  0,4Komutuyla nickinizi değiştirebilirsiniz..
    .msg #kanal 0,4Sayın $nick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,4Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz  0,4Komutuyla nickinizi değiştirebilirsiniz.. 
.timer 0 120 .kill $nick Sitedeki Kullanıcı Adınızla Giriş Yapmadığınız İçin Uzaklaştırıldınız
  }
}
on *:text:!nickekle &:#oper:write web.txt $2 | msg #oper 4 $2 1Nicki Kullanıcılar Listesine Eklendi

Bu kodu daha önce farklı olaylar için kullanıyorudum..Ancak şu anda web.txt içinde yazılı olmayan nickleri killemekte kullancagım..tabii ki timer açarak kill işleminde başarılı oluyorum ancak;

Bu kullanıcı 2 dakika içinde nickini değiştirdiğinde bunu nasıl iptal edeceğimi bulamadım.. Nick eventi ile denedim ancak eventi kesmeyi bir türlü başaramadım ..

Kolay Gelsin

KiLL 22 Ağustos 2007 00:09

Cevap: Bir eventin baska bir eventle iptali;
 
on *:nick:{ if $read(web.txt,w,$newnick) { halt }
else {
.msg $nick 0,4Sayın $nick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,4Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz 0,4Komutuyla nickinizi değiştirebilirsiniz.. .msg #kanal 0,4Sayın $nick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,4Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz 0,4Komutuyla nickinizi değiştirebilirsiniz..
.
timer 0 120 .kill $nick Sitedeki Kullanıcı Adınızla Giriş Yapmadığınız İçin Uzaklaştırıldınız
}
}

radiCOOL 22 Ağustos 2007 00:11

Yanıt: Bir eventin baska bir eventle iptali;
 
Teşekkür ederim öncelikle de.. biraz da mantıgı anlamaya çalışayım ..

Şimdi join eventini iptal ettik sanırsam ..Nick eventi join evetini karsılıyor mu? Yani birisi giriş yaptıgı anda web.txt içindeki nicklerden birisi ise eventi kesiyor ve nick değiştirince yine eventi kesiyor mu ? .. Daha önce hiç kullanmadım şimdi..izah edersen sevinirim ..

el33t 22 Ağustos 2007 00:14

Cevap: Bir eventin baska bir eventle iptali;
 
Kod:

.timer 0 120
Kod:

$+(.timer,$nick) 1 120
ile değişerek açtığın timera isim verirsin. (0'ı da 1 yaptım böylece sadece 1 kez 120 saniye sonra bu komut uygulanacaktır, aksi saçma olur.) Daha sonra

Kod:

on *:NICK:if $timer($nick) { $+(.timer,$nick) off }
on NICK eventiyle eğer nick değiştiren kişinin önceki nickiyle timer açıksa onu kapatırsın.

Senin için ise aşağıdaki on NICK eventi daha iyi olur:

Kod:

on *:NICK:{
  if $timer($nick) {
    $+(.timer,$nick) off
    if !$read(web.txt,w,$newnick) {
      .msg $newnick sitedeki kullanıcı adıyla giriş yapınız.
      $+(.timer,$newnick) 1 120 kill $newnick blabla
    }
  }
}

Umarım işine yarar...

KiLL 22 Ağustos 2007 00:15

Cevap: Bir eventin baska bir eventle iptali;
 
Oyle değil radicool bunların ikisi ayrı ayrı. Join eventinde kanala giriş yapıldıgı an listeyı araştırır.Ve listede yok ise atar.

Nick eventinde ise birisi kanalda nick değiştirince listeyi araştırır.

Kısaca : ikisi birbirinen bagımsız calısır

radiCOOL 22 Ağustos 2007 00:18

Yanıt: Bir eventin baska bir eventle iptali;
 
Teşekkür ederim .. el33t hocam biraz daha detaylı yazmış eline sağlık ..Benim ilk etapta nick değişince acılan timerların birbirine karışması durumu aklımda yoktu ..

Kolay gelsin

radiCOOL 22 Ağustos 2007 14:34

Yanıt: Bir eventin baska bir eventle iptali;
 
Merhabalar ;

el33t hocam ..timer iptali ile alakalı kodu çalıştıramadım..Muhtemelen mIRC versionumdan (6.17) ya da başka bir sebepten .. Ben de yazdıgınızdan faydalanarak şu şekilde bir düzenleme yapayım dedim ..

Kod:

on *:join:#kanal:{
  if $read(web.txt,w,$nick) || $nick == $me { Halt }
  else { 
    .msg $nick Sayın $nick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,1Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz  Komutuyla nickinizi değiştirebilirsiniz..
    .msg #kanal Sayın $nick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,1Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz  Komutuyla nickinizi değiştirebilirsiniz.. 
    .$+(.timer,$nick) 1 120 .kill $nick Sitedeki Kullanıcı Adınızla Giriş Yapmadığınız İçin Uzaklaştırıldınız
  }
}


Kod:

on *:text:!nickekle &:#oper:write web.txt $2 | msg #oper 4 $2 1Nicki Kullanıcılar Listesine Eklendi


ve

Kod:

on *:nick:{ if $read(web.txt,w,$newnick) || *away* iswm $newnick || *yok* iswm $newnick || *yemek* iswm $newnick || *yoq* iswm $newnick || *mesgul* iswm $newnick || *disarda* iswm $newnick { $+(.timer,$nick) off }
  else {
    .msg $newnick Sayın $newnick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,1Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz Komutuyla nickinizi değiştirebilirsiniz..
    .msg #kanal Sayın $newnick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,1Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz Komutuyla nickinizi değiştirebilirsiniz..
    .$+(.timer,$nick) 1 120 .kill $newnick Sitedeki Kullanıcı Adınızla Giriş Yapmadığınız İçin Uzaklaştırıldınız
  }
}



Bu şekilde ilk acılan timerı durdurdum sanıyordum .. Ancak ikinci timer için Unrealden kaynaklanan
Kod:


[14:24] -irc.****.com- *** KILL changed from emine to emine_eran



Durumu ile karşılaşıyorum .. Tekrar sormayayım bende hata vardır dedim ancak Bu son yazdığım durum dolayısıyla yardıma ihtiyacım doğdu tekrar ...

Acaba timer kapama işinde sorunum ne olabilir?

Kolay Gelsin

diEfoRyoU 27 Ekim 2007 21:27

Cevap: Bir eventin baska bir eventle iptali;
 
Açılan ikinci timer için bir if sorgusu yapabilirsin. Şöyle ki;
Kod:


$+(.timer,$newnick) 1 120 if !$read(web.txt,w,$newnick) { kill $newnick Dışarı! }

Yani kullanıcı 2 dakika sonra hala web.txt dosyasında ki nicklerden birini almamışsa atılır.
Umarım çalışır ve işine yarar.

radiCOOL 27 Ekim 2007 23:40

Yanıt: Bir eventin baska bir eventle iptali;
 
Öncelikle Teşekkür ederim ve Özür dilerim .. Ben bunu anlamadım .. Şimdi
Kod:

on *:nick:{ if $read(web.txt,w,$newnick) || *away* iswm $newnick || *yok* iswm $newnick || *yemek* iswm $newnick || *yoq* iswm $newnick || *mesgul* iswm $newnick || *disarda* iswm $newnick { $+(.timer,$nick) off }
  else {
    .msg $newnick Sayın $newnick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,1Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz Komutuyla nickinizi değiştirebilirsiniz..
    .msg #kanal Sayın $newnick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,1Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz Komutuyla nickinizi değiştirebilirsiniz..
    .$+(.timer,$nick) 1 120 .kill $newnick Sitedeki Kullanıcı Adınızla Giriş Yapmadığınız İçin Uzaklaştırıldınız
  }
}

Burada nick değişiminde son timerı $newnick ile açarsam sorundan kurtulur muyum ? ... Tam olarak sorunum şu asLında ..

Diyelim ki dieforyou web.txt içerisinde var ... Ben giriş yapıyorum sunucuya radiCOOL ile ..

Bana uyarı geliyor değiştir diye .. ve ben bunu "sananebanane" yapıyorum ...Sonra tekrar bir uyarı daha geliyor.. En sonunda "dieforyou" yapıyorum ve uyarı gelmiyor tabii ki bana ... Ancak bildiğiniz gibi kill Nick ile çalışan bir event .. 2 dakika sonra Unreal bana diyor ki Killlemek üzere ayarlanan nick sananebanane den dieforyou ya çevrildi .. ve atıyor haliyLe ...

Bunun için kaç timer acarsam acayım kapatmam lazım ..benım kodumda timerlar kapanmıyor ama Umuyordum ki ; sananebanane için açılan timer No Such Nick/Channel ile geri dönsün ..Ama Unrealde nasıl bir özellikse artık Kill edilen nicki değiştirip atıyor ...

Şimdi senin kodundaki

Kod:

$+(.timer,$newnick) 1 120 if !$read(web.txt,w,$newnick) { kill $newnick Dışarı! }
timer'ı newnick için açmak bir önceki timer'ı etkilemeyecek anladığım kadarıyla ..Ben $nick ile açtırıyordum o timer'ı ama yine de yeni nickle açıyordu...Ama bi önceki ( ilk girilen nick) nickten kalan timer hala calısıyor oluyor ve maalesef Unreal destekli olarak kod işe yaramaz hale geliyor ...Kodu denemedim tabii ki deneyeceğim ama uzun bir aradan sonra cevap görünce bir de uzun süre kendimce uğraşınca bununla mantığı ve işlevi anlayayım istedim ..

diEfoRyoU 31 Aralık 2007 02:17

Cevap: Bir eventin baska bir eventle iptali;
 
Kusura bakma radi, baya bi zamandır takılmıyorum nete yeni başladım tekrar girmeye. Senin sorununa şöyle bir yaklaşımda da bulunabiliriz. Mesela kill için bir alias yazabilirsin. Ve kill'ide bu komutla atabiliriz. Şöyle ki;

Kod:


alias mill { $iif(!$read(web.txt,w,$1)),kill $1 $2-,msg $1 kurallara uyduğunuz için teşekkürler.) }
on *:nick:{ if $read(web.txt,w,$newnick) || *away* iswm $newnick || *yok* iswm $newnick || *yemek* iswm $newnick || *yoq* iswm $newnick || *mesgul* iswm $newnick || *disarda* iswm $newnick { $+(.timer,$nick) off }
else {
.msg $newnick Sayın $newnick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,1Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz Komutuyla nickinizi değiştirebilirsiniz..
.msg #kanal Sayın $newnick : 0,3Lütfen sitedeki Kullanıcı adınızla Giriş Yapınız..Aksi Takdirde 0,1Uzaklaştırılacaksınız.. 0,3/nick Rumuzunuz Komutuyla nickinizi değiştirebilirsiniz..
.$+(.timer,$nick) 1 120 .mill $newnick Sitedeki Kullanıcı Adınızla Giriş Yapmadığınız İçin Uzaklaştırıldınız
}
}

Geç oldu ama işe yarayacağını düşündüm umarım işine yarar.


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

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