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/)
-   -   botun özeline slm yazana mesajına benden a.selam cevabı gitsin (https://www.ircforumlari.net/mirc-scripting-sorunlari/53727-botun-ozeline-slm-yazana-mesajina-benden-aselam-cevabi-gitsin.html)

sniper 27 Ocak 2009 14:52

Cevap: botun özeline slm yazana mesajına benden a.selam cevabı gitsin
 
hocam kusura bakma da bir istirhamım olacaktı bir seferlik oluyor bu olay yani hemen hafızada tutuğu nickleri siliyor.

Bir gün boyunca veya bot sever den çıkana dek hafızada tutsa selam yazan nickleri çok iyi olur birde ricam olucak kırmızı ile belirtirseniz koda ek yaptığınız bölümü öğrenmek babında iyi olut tşk

Difuzyon 27 Ocak 2009 15:38

Cevap: botun özeline slm yazana mesajına benden a.selam cevabı gitsin
 
Kod:

on *:text:*:?:{
  if $regex($1-,/(selam|slm|s\.a)/i) && $nick != NoMercy { set -e $+(%,selam,$nick) 1 $nick }
  if $1 == !a.s && $nick == sniper {
    var %slm 1
    while %slm <= $var(%selam*,0) {
      if $token($($var(%selam*,%slm),2),1,32) == 1 {
        msg $token($($var(%selam*,%slm),2),2,32) A.selam
        set -e $var(%selam*,%slm) 2
      }
      inc %slm
    }
  }
}

Öncelikle a.selam cevabı almış kişilere tekrar a.selam yanıtı gitmemesi için bir mantık buluyoruz.

ilk defa selam veren Cenk ve Yaren nickleri variablese :
%selamCenk 1 Cenk
%selamYaren 1 Yaren
olarak kaydedilir.Daha sonra sniper nicki !a.s komutu uyguladığında %selam* variablesi ile başlayan verilerin 1. kısmı == 1 olanlara a.selam mesajı gider ve bu variableslerin yeni değeri
%selamCenk 2
%selamYaren 2
olarak değiştirilir.

Bir süre sonra Hasan nicki selam verdiğinde %selamHasan 1 Hasan olarak değerlik alır.Aradan gecen zamandan sonra sniper nicki !a.s komutu uyguladığında %selam* ile başlayan variables değerlerinin 1. kısmı == 1 olanlara a.selam yanıtı gideceğinden Cenk ve Yaren nicklerine 2. kez selam gitmemiş olur.

set parametresin -e değeri mIRC'iniz kapanana kadar kayıt tutar.

Umarım açıklayıcı olmuştur,denemeler yaparak bu durumu VARIABLES kısmından gözlemleyebilirsiniz.

sniper 27 Ocak 2009 17:30

Cevap: botun özeline slm yazana mesajına benden a.selam cevabı gitsin
 
Öncelikle a.selam cevabı almış kişilere tekrar a.selam yanıtı gitmemesi için bir mantık buluyoruz. == yamzışsın cenk

hocam tam tersini istiyorum ben.

a.selam yanıtını almış kişilere tekrar tekrar a.selam demek istiyorum bot serverden çıkana kadar hafızada tutsun o nickleri .

Anlatım çok güzeldi ama ben kendimi yanlış ifade ettim sanırım son bir yardımcı olursan iyi olur

Difuzyon 27 Ocak 2009 17:52

Cevap: botun özeline slm yazana mesajına benden a.selam cevabı gitsin
 
Kod:

on *:text:*:?:{
  if $regex($1-,/(selam|slm|s\.a)/i) && $nick != NoMercy { set -e $+(%,selam,$nick) $nick }
  if $1 == !a.s && $nick == sniper {
    var %slm 1
    while %slm <= $var(%selam*,0) {
      msg $($var(%selam*,%slm),2) A.selam
      inc %slm
    }
  }
}

Bu durumda ilk verdiğim koddan " unset %selam* " kısmını(A.selam işlemi bitiminde verileri siliyordu) kaldırdık ve set' -e parametresini(mIRC kapanana kadar silinmez) eklemiş olduk.

Kod bu haliyle:
%selamCenk Cenk
%selamCan Can
%selamAhmet Ahmet şeklinde veriler oluştu !a.s yazdığında bu %selam* ile başlayan verilerin karşılığı olan (örn: %selamCenk Cenk ) kısımlara mesaj gidecektir.İşlem her defasında variables kısmında ekli olan verilere gidecektir.

Kolay gelsin...


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

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